在ggplot背景的一部分可以改变为不同的颜色? [英] Can a portion of the background in ggplot be changed to a different color?
本文介绍了在ggplot背景的一部分可以改变为不同的颜色?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
使用下面的数据帧D:
day <- gl(8,1,24,labels=c("Mon","Tues","Wed","Thurs","Fri","Sat","Sun","Avg"))
day <- factor(day, level=c("Mon","Tues","Wed","Thurs","Fri","Sat","Sun","Avg"))
month<-gl(3,8,24,labels=c("Jan","Feb","Mar"))
month<-factor(month,level=c("Jan","Feb","Mar"))
snow<-gl(1,24,labels=c("Y"))
snow<-factor(snow,levels=c("Y","N"))
count <- c(4,5,6,8,3,4,9,5.57,2,4,3,7,1,9,3,4.14,7,9,6,3,1,2,8,5.14)
d <- data.frame(day=day,count=count,month=month,snow=snow)
的
线图背后的背景颜色相同的条形图:
The background color behind the line graph is the same as the bar graph:
ggplot(data=d[d$day=="Avg",], aes(x=day , y=count, fill=month)) +
geom_bar(position = "dodge", width = 1.2, stat="identity") +
geom_text(aes(label=month, x=day, y=count), position=position_dodge(width=1.2), vjust=-.6, size=3) +
geom_line(data=d[d$day!="Avg",], aes(x=day, y=count, group=month, colour=month)) +
facet_wrap(~snow,ncol=1,scales="free") +
scale_x_discrete(limits=levels(d$day))
是否有可能改变对条形图后面部分的背景颜色?
Is it possible to change the background color on the portion behind the bar graph?
##点击此处查看图[1]: HTTP://i.stack.imgur .COM / 8DzBx.png
##Click here to view graph[1]: http://i.stack.imgur.com/8DzBx.png
推荐答案
您可以使用 geom_rect()
来绘制线条和酒吧下矩形。对于 YMIN
和 YMAX
使用-Inf和INF填满所有区域,但与 XMIN
和 XMAX
您应该发挥得到应有的效果。
You can use geom_rect()
to draw rectangle under the lines and bars. For ymin
and ymax
use -Inf and Inf to fill all area but with xmin
and xmax
you should play to get desired effect.
ggplot(data=d[d$day=="Avg",], aes(x=day , y=count, fill=month)) +
geom_rect(data=NULL,aes(xmin=0.25,xmax=7.25,ymin=-Inf,ymax=Inf),
fill="lightgreen")+
geom_rect(data=NULL,aes(xmin=7.25,xmax=8.75,ymin=-Inf,ymax=Inf),
fill="darkgreen")+
geom_bar(position = "dodge", width = 1.2, stat="identity") +
geom_text(aes(label=month, x=day, y=count),
position=position_dodge(width=1.2), vjust=-.6, size=3) +
geom_line(data=d[d$day!="Avg",], aes(x=day, y=count, group=month, colour=month)) +
facet_wrap(~snow,ncol=1,scales="free") +
scale_x_discrete(limits=levels(d$day))
这篇关于在ggplot背景的一部分可以改变为不同的颜色?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文