[英]Linetypes missing for one group ggplot2
我有以下数据:
date, name, bin,group, value
2017-08-19,a1,0,1,302
2017-08-19,a3,0,1,35
2017-08-19,a4,0,1,33
2017-08-19,a6,0,1,43
2017-08-19,p1,0,0,76
2017-08-19,i3,0,0,23
2017-08-19,cl,1,1,73
2017-08-19,c,1,0,2
2017-09-19,a1,0,1,302
2017-09-19,a3,0,1,35
2017-09-19,a4,0,1,33
2017-09-19,a6,0,1,43
2017-09-19,p1,0,1,76
2017-09-19,i3,0,1,23
2017-09-19,cl,1,1,73
2017-09-19,c,1,1,2
由于某种原因,我最终得到的图不显示其中一个组的线型。
这是我的代码:
p <- df %>%
ggplot(aes(y=value,x=date,color=name))+
geom_point(aes(shape=factor(bin)))+
geom_line(aes(linetype=factor(group)))+
geom_hline(aes(yintercept = 0))+
theme_minimal()
p
您可以从下面的图像中看到一种线型没有显示。
如何显示其他线型?
某些行未显示的原因是,对于某些name
,有两个group
。 结果, ggplot
不会选择要显示线条的线,并且显然决定什么都不做。
一个可能的解决方案是将group
value更改为每个name
的第一个,然后绘制:
df %>%
group_by(name) %>%
mutate(group = first(group)) %>%
ggplot(aes(x = date, y = value, color = name)) +
geom_point(aes(shape = factor(bin))) +
geom_line(aes(linetype = factor(group))) +
geom_hline(aes(yintercept = 0)) +
theme_minimal()
给出以下图:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.