我正在尝试在ggplot2中绘制日历热图,但我希望按年份对其进行着色。热图看起来像这样:,我得到的代码是:
ggplot(cal, aes(x=cdow,y=-week))+
geom_tile(aes(fill=counts,colour="grey50"))+
geom_text(aes(label=day),size=3,colour="grey20")+
facet_wrap(~cmonth, ncol=3)+
scale_fill_gradient(low = "moccasin", high = "dodgerblue", na.value="white")+
scale_color_manual(guide=F,values="grey50")+
scale_x_discrete(labels=c("S","M","T","W","Th","F","S"))+
theme(axis.text.y=element_blank(),axis.ticks.y=element_blank())+
theme(panel.grid=element_blank())+
labs(x="",y="")+
coord_fixed()
我是从this stackoverflow question得到的。有什么方法可以让我每个月都给出不同颜色的颜色吗?例如Jan-Mar具有相同的颜色,而Apr-Jun具有不同的颜色。
任何指针都会非常有用!!感谢。
答案 0 :(得分:0)
未经测试,因为我们没有任何可重现的数据,但以下情况应该这样做:
ggplot(cal, aes(x=cdow,y=-week))+
geom_tile(aes(fill=cmonth,colour="grey50"))+
geom_text(aes(label=day),size=3,colour="grey20")+
facet_wrap(~cmonth, ncol=3)+
scale_fill_discrete()+
scale_color_manual(guide=F,values="grey50")+
scale_x_discrete(labels=c("S","M","T","W","Th","F","S"))+
theme(axis.text.y=element_blank(),axis.ticks.y=element_blank())+
theme(panel.grid=element_blank())+
labs(x="",y="")+
coord_fixed()
我刚刚将fill=counts
更改为fill=cmonth
中的geom_tile()
,将scale_fill_gradient
更改为scale_fill_discrete
。