在 R 图的图例中叠加两个圆圈
Overlay two circles in a legend of an R plot
在 R 中,我可以编写图例项吗...
我将数据绘制为红点,上面覆盖着红色或橙色的外圈,其中这些外圈的大小代表一个属性,外圈的颜色代表一个属性。我怎样才能在图例中重复这一点?
到目前为止我只有图例...
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))
运气不好。
如果您尝试创建 "Item A" 和 "Item B" 符号,除了其他 legend
之外,您还应该使用 pt.bg
和 pt.lwd
的变体] 您当前正在使用的参数(例如 lty
、pch
、col
和 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)
我知道这个问题很老,但作为参考,我认为第二次调用图例以覆盖其中的红点更容易。
legend("topleft",
legend = c("elevation of centerline", "gradient", "boulders in steps", "boulders not in steps"),
lty=c(1,1,0,0), pch=c(NA, NA, 19,19), col=c("black", "gray", "orange", "green"),
pt.cex=c(0.8, 0.8, 2, 2)
)
legend("topleft",
legend = c("elevation of centerline", "gradient", "boulders in steps", "boulders not in steps"),
lty=c(1,1,0,0), pch=c(NA, NA, 19,19), col=c(NA, NA, "red", "red" ),
pt.cex=c(0.8,0.8,0.8,0.8)
)
在 R 中,我可以编写图例项吗...
我将数据绘制为红点,上面覆盖着红色或橙色的外圈,其中这些外圈的大小代表一个属性,外圈的颜色代表一个属性。我怎样才能在图例中重复这一点?
到目前为止我只有图例...
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))
运气不好。
如果您尝试创建 "Item A" 和 "Item B" 符号,除了其他 legend
之外,您还应该使用 pt.bg
和 pt.lwd
的变体] 您当前正在使用的参数(例如 lty
、pch
、col
和 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)
我知道这个问题很老,但作为参考,我认为第二次调用图例以覆盖其中的红点更容易。
legend("topleft",
legend = c("elevation of centerline", "gradient", "boulders in steps", "boulders not in steps"),
lty=c(1,1,0,0), pch=c(NA, NA, 19,19), col=c("black", "gray", "orange", "green"),
pt.cex=c(0.8, 0.8, 2, 2)
)
legend("topleft",
legend = c("elevation of centerline", "gradient", "boulders in steps", "boulders not in steps"),
lty=c(1,1,0,0), pch=c(NA, NA, 19,19), col=c(NA, NA, "red", "red" ),
pt.cex=c(0.8,0.8,0.8,0.8)
)