12

このスクリプトの何が問題なのか、誰か教えてください。2 つの水平の黒い破​​線が必要ですが、代わりに 2 つの赤い連続線が必要です。また、theme_bw を使用しているにもかかわらず、プロット マージンの色を黒に変更できず、必要に応じてボックスプロットの塗りつぶしが灰色ではありません。

  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))

どうもありがとう!

4

1 に答える 1

21

黒い破線については、aes() の外で定義する必要があります。以下のコードを試してください。

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

ボックス プロットに関しては、コードを次のように修正する必要があります。

geom_boxplot(fill="gray")

最後に、黒のマージンを取得するには、opts(..., panel.background = theme_rect(colour = NA),...) でマージンを NA 色に設定していることに注意してください。問題を解決するには、これを試してください:

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

私のコメントがお役に立てば幸いです。

于 2012-07-02T04:19:40.667 に答える