2011-12-05 16 views
15

いくつかのグループでグラフィックを作成し、一連の線にgeom_boxplot()をプロットします。 しかし、線が見えるようにボックスを透明に色付けするのはいいでしょう。私はグラフィックを描画透明な色のボックスプロットを作成するggplot2

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) 

そして、私のシステム上の凡例の線幅が正しく表示されない

は、ここではいくつかのサンプルデータです。私は何か間違っているのですか?前もって感謝します!

+0

boxplotの後に線を引くとどうなりますか、それは賢明でしょうか? –

+0

少なくとも、基本的なRプロットツールの場合、2桁の余白で色を設定すると、透明度が決まります。例えば。 '#FF230033'ここで、透明度は00からFFまでです。 –

答えて

25

あなたのボックスプロットにalpha引数を追加できます。たとえば:

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

はあなたに

enter image description here

+0

確かに - 最も明白な方法です!ありがとうございました! – Seb

5

変更最初にしてラインを箱ひげ図を描画するのgeomの順序を与えるだろう。しかし、私はあなたのグラフが理にかなっているとは思わない。なぜあなたは名前を使って行のサイズを変更していますか?線種を変更する方が理にかなっていませんか?それは比較が難しいので、私はファセットで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") 
+0

+1についての警告は 'free_y'です。幸いなことに、ggplotの背景は、スケールがファセット間で比較できないことを警告します。 –

+0

こんにちは、ヒントありがとうございます。はい、あなたが正しい。グラフは意味をなさない!特にラインサイズの引数は、私が楽しくしようとしていたものでした。そのように投稿してはいけません。 'free_y'引数に関して:元のデータには、賃貸料と価格などの匹敵しにくい異なる不動産タイプのクラスが含まれているので、大丈夫だと思います。 – Seb

関連する問題