本節書摘來自異步社群《r資料可視化手冊》一書中的第3章,第3.4節,作者 【美】winston chang,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視
問題
如何将條形圖中的條形設定為不同的顔色?
方法
将合适的變量映射到填充色(fill)上即可。
這裡以資料集uspopchange為例。該資料集描述了美國各州人口自2000年到2010年的變化情況。我們選取出人口增長最快的十個州進行繪圖。圖中會根據地區資訊(東北部、南部、中北部、西部)對條形進行着色。
首先,選取出人口增長最快的十個州:
接下來,将region映射到fill并繪制條形圖(見圖3-9):
讨論
條形圖的預設顔色不太吸引眼球,是以,可能需要借助函數scale_fill_brewer()或scale_fill_manual()重新設定圖形顔色。這裡我們調用後者。我們通過把參數指定為colour="black"将條形的邊框線設定為黑色(見圖3-10)。注意:顔色的映射設定是在aes()内部完成的,而顔色的重新設定是在aes()外部完成的:
本例用到了reorder()函數。在本例中,根據條形圖的高度進行排序比按照字母順序對分類變量排序更有意義。
另見
更多關于使用reorder()函數将因子根據另一個變量重新水準排序的内容,可參見15.9節。
更多關于圖形着色的内容,參見第12章。