我希望所有负值都为黄色,所有正值都为蓝色。我的代码出了点问题,因为我看到一些正值变成黄色,反之亦然变成蓝色(见图)。图例比例也没有显示在底部。另外,我如何将零线加粗。这是我的代码示例
A=runif(20,min = -3, max = 3)
myDate=1981:2000
myData=data.frame(myDate,A)
ggplot(myData, aes(myDate, A))+
geom_bar(stat = "identity", fill=ifelse( A < 0,"yellow","blue"))+
coord_polar(theta = "x")+
theme(legend.position = "bottom")+
theme_bw()
任何帮助将不胜感激。
答案 0 :(得分:1)
问题与极坐标无关。
对于颜色,您必须将条件格式放入aes()
调用中才能起作用。对于图例,您必须在主题theme_bw()
之后加上对主题的更改。否则,它将再次被覆盖。
您可以在0处画一条线以使其更粗。
希望这可以帮助。
A=runif(20,min = -3, max = 3)
myDate=1981:2000
myData=data.frame(myDate,A)
ggplot(myData, aes(myDate, A))+
geom_bar(stat = "identity", aes(fill=ifelse( A < 0,"negative","positive")))+
coord_polar(theta = "x")+
scale_fill_manual(values = c("yellow", "blue")) +
geom_hline(yintercept = 0, color = "black")+
labs(fill = "Legend") +
theme_bw() +
theme(legend.position = "bottom")