2012-07-02 15 views
5

誰でもこのスクリプトで何がうまくいかないのか教えていただけますか? 2つの水平、黒、破線が必要ですが、代わりに2つの赤が連続しています。 また、theme_bwを使用しているにもかかわらず、プロット余白の色を黒に変更できません。また、必要に応じてboxplotの塗りつぶしが灰色ではありません。ggplot2の水平線の色を制御

dat1 <- data.frame (xvar = rep(c("A", "B"), each=10), 

       yvar = 1:20 + rnorm(20,sd=3)) 

    ggplot(dat1, aes(x=xvar, y=yvar)) + 
    theme_bw()+ 
    geom_boxplot(fill=grey)+ 
    geom_hline(aes(yintercept=40, color="black", linetype="dashed"))+ 
    geom_hline(aes(yintercept=33.84, color="black", linetype="dashed"))+ 
    scale_x_discrete(name="") + 
    scale_y_continuous(name="temperature (°C)")+ 
    opts(
    panel.grid.major = theme_line(size = 0.5, colour = NA), 
    panel.background = theme_rect(colour = NA), 
    axis.title.y = theme_text(angle=90,face="bold", colour="black", size=14), 
    axis.text.y = theme_text(face="bold",angle=0, size=14,colour="black"), 
    axis.title.x = theme_text(face="bold", colour="black", size=14), 
    axis.text.x = theme_text(size=14,vjust=1.2, colour=NA)) 

ありがとう!

答えて

11

黒い点線については、aes()の外側に定義する必要があります。あなたはマージンを設定していることに注意してください、

geom_boxplot(fill="gray") 

そして最後に、黒のマージンを得るために:あなたは、以下のいずれかにあなたのコードを修正する必要があり、ボックスプロットについて

geom_hline(aes(yintercept=40), color="black", linetype="dashed") 

:以下のコードを試してみてくださいopts(...、panel.background = theme_rect(color = NA)、...)でNAカラーを持つこと。この問題を解決するには、次のようにしてください:

panel.background = theme_rect(colour = "black") 

私のコメントが役立ちます。

+0

ありがとうございますSepehr !!私は私のGmailアカウントのanwersを受信停止したため、前に答えていない。それは確かに働いた。 –

+0

ボックスプロットの色分けのようなエースの要素に基づいて線の色を付ける場合はどうすればよいですか? geom_hline()は複数のaes文を受け入れていないようです。 – jzadra

関連する問題