2012-07-02 94 views
5

任何人都可以告訴我這個腳本出了什麼問題? 我需要2個水平,黑色,虛線,但我得到了兩個紅色連續。 儘管使用的是theme_bw,但我也無法將地塊邊界的顏色更改爲黑色,並且根據需要填充的箱線也不是灰色。控制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_hline(aes(yintercept=40), color="black", linetype="dashed") 

關於箱形圖,您應該糾正你的代碼下面的一個:

geom_boxplot(fill="gray") 

最後,可以得到黑色保證金,請注意,您正在設置保證金在您的選擇中使用NA顏色(...,panel.background = theme_rect(color = NA),...)。要解決這個問題試試這個:

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

希望我的意見幫助。

+0

非常感謝Sepehr!之前沒有回答,因爲我停止在我的Gmail賬戶中收到anwers。它確實有效。 –

+0

如果我想根據aes因子着色線條,比如boxplot顏色分組,那該怎麼辦? geom_hline()似乎不接受多個aes語句。 – jzadra