在阅读之前,我建议您下载并查看this question posted in this forum中的原始代码。
我运行这个ggplot代码:
ggplot(data=data, aes(x=X2, y=Count, group=X3, colour=X3)) +
geom_point(size=5) +
geom_line() +
xlab("Decils") +
ylab("% difference in nº Pk") +
ylim(-50,25) + ggtitle("CL") +
geom_hline(aes(yintercept=0), lwd=1, lty=2) +
scale_x_discrete(limits=c(orden_deciles)) +
coord_polar() +
geom_area(aes(color=X3, fill=X3), alpha=0.2) +
得到了这个情节:
正如您可能想象的那样,代码出了问题。蓝色组似乎正确着色。我想为所有组着色,以黑色斜环为参考,代表0。
我该如何实现?
答案 0 :(得分:4)
geom_area()
的默认position
参数为stack
。这会将每个区域叠加在其他区域上,在这种情况下会产生奇怪的结果。
只需将位置更改为identity
:
library(ggplot2)
## This was not given, I supposed it's in this form
orden_deciles <- paste0('DC', 1:10)
ggplot(data=data, aes(x=X2, y=Count, group=X3, colour=X3)) +
geom_point(size=5) +
geom_line() +
xlab("Decils") +
ylab("% difference in nº Pk") +
ylim(-50,25) + ggtitle("CL") +
geom_hline(aes(yintercept=0), lwd=1, lty=2) +
scale_x_discrete(limits=c(orden_deciles)) +
geom_area(aes(fill=X3), alpha=0.2, position = position_identity()) +
coord_polar()
#> Warning: Removed 5 rows containing missing values (geom_point).
#> Warning: Removed 2 rows containing missing values (geom_path).
由reprex package(v0.2.0)创建于2018-05-15。