data = data.frame("ID1" = c(1,2,3,1,2,3),
"ID2"=c(1,1,1,2,2,2),
"D" = sample(5:25,6,r=T))
data$DL = data$D-.02*data$D
data$DU = data$D+.02*data$D
data$XVAL = c(1:6)
library(ggplot2)
ggplot(data) +
geom_pointrange(aes(ymin=DL,ymax=DU),y=D,x=XVAL,
colour=as.factor(data$ID1),shape=as.factor(data$ID1),linetype=as.factor(data$ID2))
我希望生成简单的东西:一个geom_pointrange图形,其中ID1定义颜色,ID2定义线型。
我特别希望创建这样的图例:在此处输入图像描述
如果映射colour
并shape
以同样的方式,他们应该被自动组合。要摆脱线型图例上的点,可以查看此问题以供参考。将所有内容放在一起,请尝试以下操作:
ggplot(data) +
geom_pointrange(aes(
ymin = DL,
ymax = DU,
y = D,
x = XVAL,
colour = factor(ID1),
shape = factor(ID1),
linetype = factor(ID2)
)) +
labs(color = "", shape = "", linetype = "") +
guides(
linetype = guide_legend(override.aes = list(shape = NA)),
color = guide_legend(override.aes = list(linetype = 0))
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句