簡體   English   中英

ggplot2中的堆疊條形圖

[英]Stacked bar graph in ggplot2

我在編寫代碼時遇到麻煩,該代碼會生成堆積的條形圖,其中條形的“總”值是我數據框中的值之和。 例如,我的數據具有以下格式:

amount    types years
7753547  Funding  2015
7370817  Funding  2016
4140110 Expenses  2015
4209865 Expenses  2016

我真的想要一個堆積的條形圖,其中的x軸是年份,填充是按類型划分的,“總計”是資助金額,條形圖是按支出划分的。 因此,例如,在2015年,該門檻上升到770萬,然后被划分為414萬。 任何建議都很好。 我一直在嘗試找到一些代碼,但無濟於事。 謝謝。

像這樣:

ggplot(df, aes(x=years, y = amount, fill =types))+
  geom_bar(position = "stack", stat = "identity")

在此處輸入圖片說明

由於您希望保持原樣,因此可以使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM