天天看點

《R資料可視化手冊》一3.7 繪制堆積條形圖

本節書摘來自異步社群《r資料可視化手冊》一書中的第3章,第3.7節,作者 【美】winston chang,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

問題

如何繪制堆積條形圖?

方法

使用geom_bar()函數,并映射一個變量給填充色參數(fill)即可。該指令會将date對應到x軸上,并以cultivar作為填充色,如圖3-16所示。

《R資料可視化手冊》一3.7 繪制堆積條形圖

讨論

弄清楚圖形對應的資料結構有助于了解圖形的繪制過程。上例資料集中date變量對應于三個水準、cultivar變量對應于兩個水準,兩個變量不同水準的組合又分别與一個weight變量相對應:

預設繪制的條形圖有一個問題,即條形的堆積順序與圖例順序是相反的。我們可以通過guides()函數對圖例順序進行調整,并指定圖例所對應的需要調整的圖形屬性,本例中對應的是填充色(fill),如圖3-17所示。

《R資料可視化手冊》一3.7 繪制堆積條形圖

如果你想調整條形的堆疊順序,可以通過指定圖形映射中的參數order=desc()來實作:

《R資料可視化手冊》一3.7 繪制堆積條形圖

當然,也可以通過調整資料框中對應列的因子順序來實作上述操作(參見15.8節),但需謹慎進行該操作,因為對資料進行修改可能導緻其他分析結果也發生改變。

為了獲得效果更好的條形圖,我們保持逆序的圖例順序不變,同時,使用scale_fill_brewer()函數得到一個新的調色闆,最後設定colour="black"為條形添加一個黑色邊框線(如圖3-19所示)。

《R資料可視化手冊》一3.7 繪制堆積條形圖

另見

更多關于條形圖着色的内容可參見3.4節。

将因子根據另一個變量重新排列水準順序的内容可參見15.9節。手動更改因子水準順序的内容,可參見15.8節。