问题描述
Monsoon F_Monsoon avg_Min_temp_year
1 Post-Monsoon Autumn avg_Min_temp 21.4
2 Pre-Monsoon Hot Summer avg_Min_temp 22.5
3 Rainy avg_Min_temp 25.6
4 Winter avg_Min_temp 13.9
5 Post-Monsoon Autumn avg_Min_temp_monsoon 20.7
6 Pre-Monsoon Hot Summer avg_Min_temp_monsoon 22.1
...
...
我正在尝试创建没有任何颜色(仅黑白)的情节
我的代码在下面给出
plot <- ggplot(plot_final_df,aes(Monsoon,avg_Min_temp_year))+
geom_bar(stat = "identity",position = "dodge")+
theme_bw()+
facet_wrap(~Monsoon)+
theme(panel.grid = element_blank())+
xlab("Monsoon")+
ylab("Avg Min Temp")+
ggtitle("Avg Min Temp vs Monsoon")
我的情节中每个one bar
仅显示monsoon
,但必须显示2 bar (one for avg_Min_temp and for avg_Min_temp_monsoon)
当我在fill
内使用aes(fill = F_Monsoon)
属性时,它用颜色显示2 bar for each monsoon
,但是我需要black and white
任何建议都是可以的。
解决方法
由于您已经对Monsoon
进行了构面,并且希望每个构面包含两个小节(F_Monsoon
中的两个级别分别包含两个小节,因此您应该将F_Monsoon
作为x轴:
ggplot(plot_final_df,aes(F_Monsoon,avg_Min_temp_year)) +
geom_bar(stat = "identity",position = "dodge") +
facet_wrap(~Monsoon) +
theme_bw() +
theme(panel.grid = element_blank()) +
xlab("Monsoon") +
ylab("Avg Min Temp") +
ggtitle("Avg Min Temp vs Monsoon")
请注意,我必须在示例数据中添加额外的两行,才能使其正常工作:
数据
plot_final_df <- structure(list(Monsoon = c("Post-Monsoon Autumn","Pre-Monsoon Hot Summer","Rainy","Winter","Post-Monsoon Autumn","Winter"),F_Monsoon = c("avg_Min_temp","avg_Min_temp","avg_Min_temp_monsoon","avg_Min_temp_monsoon"),avg_Min_temp_year = c(21.4,22.5,25.6,13.9,20.7,22.1,24.6,12.9)),class = "data.frame",row.names = c("1","2","3","4","5","6","7","8"))