[英]Stacked bar graph in ggplot2
我在編寫代碼時遇到麻煩,該代碼會生成堆積的條形圖,其中條形的“總”值是我數據框中的值之和。 例如,我的數據具有以下格式:
amount types years
7753547 Funding 2015
7370817 Funding 2016
4140110 Expenses 2015
4209865 Expenses 2016
我真的想要一個堆積的條形圖,其中的x軸是年份,填充是按類型划分的,“總計”是資助金額,條形圖是按支出划分的。 因此,例如,在2015年,該門檻上升到770萬,然后被划分為414萬。 任何建議都很好。 我一直在嘗試找到一些代碼,但無濟於事。 謝謝。
由於您希望保持原樣,因此可以使用position = "identity"
。 如果有時支出大於資金,這可能不起作用,但是對於您當前的示例來說,這可能是最簡單的解決方案:
ggplot(df, aes(x=factor(years), y = amount, fill = types)) +
scale_y_continuous(labels = scales::comma) +
geom_bar(position = "identity", stat = "identity")
為了使自己確信這反映了正確的數據,請參閱以下修改,將Expenses
完全放在較大的“ Funding
欄中:
ggplot(df, aes(x=factor(years), y = amount, fill = types))+
scale_y_continuous(labels = scales::comma) +
geom_bar(data = df[df$types == "Funding", ], position = "identity", stat = "identity",
width = 0.9, colour = "black") +
geom_bar(data = df[df$types == "Expenses", ], position = "identity", stat = "identity",
width = 0.8, colour = "black")
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.