2016-04-15 67 views
1

在R,可以予撰寫說明的項目,如在...在R曲線圖的圖例疊加兩個圓

enter image description here

我有數據繪製爲紅色點,通過紅色或橙色外圓覆,這些外圓的大小表示一個屬性,外圓的顏色表示一個屬性。我如何在圖例中重複這一點?

enter image description here

到目前爲止,我只具有傳奇......

legend("topleft", 
    legend = c("elevation of centerline", "gradient", "boulders", "boulders in steps", "boulders not in steps"),  
    lty=c(1,1,0,0,0), pch=c(NA, NA, 19, 19,19), col=c("black", "gray", "red", "orange", "green"), 
    pt.cex=c(0.8, 0.8, 0.8, 2, 2) 
) 

我試着給第三個元素的矢量例如

pch=c(NA, NA, c(19, 19), c(19,19)) 

沒有運氣。

+0

任何你已經嘗試過? Ggplot可以做到這一點。 – Heroka

回答

0

如果你正在嘗試創建「項目A」和「B項」的符號,你應該您當前使用使用pt.bgpt.lwd變化,除了其他legend參數(如ltypchcol,和pt.cex)。使用下面的示例如下調整代碼,看看這些參數是如何與人交往:

x=seq(1,10,1) 
y<-seq(5,50,5) 
z<-rep(c(1:2),5) 
df<-data.frame(x,y,z) 
df$z<-factor(df$z) 

plot(y~x,data=df,type="l",lty=1,lwd=1,col="grey60") 
points(y~x,data=df[df$z==1,],pch=16,col="orange",cex=df$x[df$z==1]) 
points(y~x,data=df[df$z==1,],pch=16,col="red",cex=1) 
points(y~x,data=df[df$z==2,],pch=16,col="green",cex=df$x[df$z==2]) 
points(y~x,data=df[df$z==2,],pch=16,col="red",cex=1) 

legend("topleft",legend=c("Item A","Item B"),pch=c(21,21),col=c("green","orange"), 
     pt.bg=c("red","red"),pt.lwd=c(6,6),lty=c(0,0),pt.cex=c(2,2),cex=1) 

enter image description here

+0

好的,這是一個解決方案。有點哈克,但適用於這種特殊情況!謝謝。 – agoldev