2014-02-13 60 views
1

我從之前的一篇文章開始處理這個問題:Combined line & bar geoms: How to generate proper legend?而且已經接近了。下面是我使用的代碼還增加了一個線和點GEOM酒吧情節:ggplots2中的組合條,線和點幾何 - 如何更改點和虛線上的填充?

mort12=data.frame(
    Adj.S=c(.68,.33,.66,.62,.6,.51,.6,.76,.51,.5), 
    QTL=c(1:10), 
    Cum.M=c(.312,.768,NA,.854,NA,.925,.954,NA,NA,.977) 
) 

    ggplot(data=mort12, aes(QTL)) + 
    geom_bar(aes(y = Adj.S, color = "Adj.S"), stat="identity", fill = "red") + 
    geom_point(data=mort12[!is.na(mort12$Cum.M),], aes(y = Cum.M, group = 1,size=4, color = "Cum.M"))+ 
    geom_line(data=mort12[!is.na(mort12$Cum.M),],aes(y=Cum.M, linetype="dotted",group = 1)) 

注意,我有Cum.M一些丟失的數據,所以連接我添加了代碼以忽略這些點缺失值)。

當我運行它,我得到這個數字(我不能在這裏張貼圖片,所以它的鏈接): https://docs.google.com/uc?export=view&id=0B-6a5UsIa6UpZnRZTy1OZmxrY1E

我還想控制線和點的出現。但是,試圖使點綴(線型=「點」)沒有改變它,當我試圖改變點的填充(填充=「白」)我GE這個錯誤的行

Error: A continuous variable can not be mapped to shape

任何建議關於如何改變線條和點的屬性?

+0

+1重現性 – BrodieG

回答

1

這爲我工作:

ggplot(data=mort12, aes(QTL)) + 
    geom_bar(aes(y = Adj.S, color = "Adj.S"), stat="identity", fill = "white") + 
    geom_point(data=mort12[!is.na(mort12$Cum.M),], aes(y = Cum.M, group = 1,size=4, color = "Cum.M"))+ 
    geom_line(data=mort12[!is.na(mort12$Cum.M),],aes(y=Cum.M, group = 1), linetype="dotted") 

enter image description here

我所做的只是移動的aeslinetype之外。一般而言,不受您的數據驅動的aesthetics不應位於aes之內。例如,size也可能不在aes中。

+0

啊,是的。感謝您的答覆。現在就開始工作了。 –

相關問題