23

いくつかのグループを含むグラフィックを作成し、geom_boxplot() を線の上にプロットします。ただし、線が見えるようにボックスを透明に着色するとよいでしょう。

サンプルデータは次のとおりです。

x11()

name <- c("a", "a", "a", "a", "a", "a","a", "a", "a", "b", "b", "b","b", "b", "b","b", "b", "b")
class <- c("c1", "c1", "c1", "c2", "c2", "c2", "c3", "c3", "c3","c1", "c1", "c1", "c2", "c2", "c2", "c3", "c3", "c3")
year <- c("2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008")
value <- c(100, 33, 80, 90, 80, 100, 100, 90, 80, 90, 80, 100, 100, 90, 80, 99, 80, 100)

df <- data.frame(name, class, year, value)
df

私は次のようにグラフィックを描きます:

p1 <- ggplot(df, aes(year, value))
p1 <- p1 + geom_line(aes(group=name, size=name),colour="#ff2300",alpha=0.5) +     facet_wrap(~ class, scales = "free_y") 
p1 <- p1 + geom_boxplot(aes(group=name))
print(p1)

私のシステムでは、凡例の線幅が正しく表示されません。私は何か間違ったことをしていますか?前もって感謝します!

4

2 に答える 2

37

alphaボックスプロットに引数を追加できます。例えば:

geom_boxplot(aes(group=name), alpha = 0.8)

あなたにあげます

ここに画像の説明を入力

于 2011-12-05T15:10:44.307 に答える
5

ジオメトリの順序を変更して、最初に箱ひげ図を描画し、次に線を描画します。しかし、あなたのグラフは意味がないと思います。名前を使用して行のサイズを変更するのはなぜですか? 線種を変更する方が理にかなっているでしょうか? また、比較が難しくなるため、ファセットに free_y を使用しないことをお勧めします。

name <- c("a", "a", "a", "a", "a", "a","a", "a", "a", "b", "b", "b","b", "b", "b","b", "b", "b")
class <- c("c1", "c1", "c1", "c2", "c2", "c2", "c3", "c3", "c3","c1", "c1", "c1", "c2", "c2", "c2", "c3", "c3", "c3")
year <- c("2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008", "2010", "2009", "2008")
value <- c(100, 33, 80, 90, 80, 100, 100, 90, 80, 90, 80, 100, 100, 90, 80, 99, 80, 100)

df <- data.frame(name, class, year, value)
df
library(ggplot2)
p1 <- ggplot(df, aes(year, value))
p1 <- p1 + geom_boxplot(aes(group=name)) + geom_line(aes(group=name, size=name),colour="#ff2300",alpha=0.5) + 
  facet_wrap(~ class, scales = "free_y")
于 2011-12-05T15:11:42.820 に答える