对于以下数据框,我想使用以下方法绘制几个条形图ggplot
.
df <- data.frame(Disease = c("Disease1","Disease2","Disease3","Disease3","Disease3","Disease4","Disease5","Disease5","Disease6","Disease4","Disease2","Disease2","Disease1","Disease7","Disease1","Disease1","Disease7","Disease6","Disease3","Disease6"),
Week = c(3,52,46,47,19,39,42,46,44,45,46,42,45,48,44,44,43,42,45,47),
Year = c(2015,2015,2015,2016,2015,2015,2016,2016,2015,2015,2015,2015,2016,2016,2016,2015,2016,2016,2016,2015),
Number = c(1,1,6,5,1,1,4,12,4,15,6,15,6,11,4,2,9,1,4,1))
我使用以下语法,它给出了几个条形图。
ggplot(df, aes(factor(Week), Number )) +
geom_bar(stat="identity" , aes(fill = factor(Year)), position = "dodge") +
facet_wrap(~ Disease, ncol = 2, scales = "free_y") +
labs(x = "Week", y = "Number") +
scale_fill_discrete(name = "Year")
但是,我希望所有条形都具有相同的宽度(有关宽度差异,请参阅疾病 1)。我已经在这里找到答案了使用facet_wrap时,geom_bar中的条形有不需要的不同宽度但我无法让它在我的示例中起作用。有人能解决我的问题吗?
显然,我的原始数据集比上面的示例要大得多,并且不同条形宽度的问题发生的频率要高得多。