R語言可視化——箱線圖及其美化技巧

今天跟你們分享如何在R語言中利用ggplot函數製做箱線圖及其美化。微信


箱線圖也是常常會用到的用於呈現數據分佈形態的重要的圖表類型。ide


仍是以ggplot2包內置的數據集爲例進行案例演示:函數




ggplot(mpg,aes(class,displ))+geom_boxplot()
ui






以上是最簡單的形式,一個分類變量,一個連續性數值型;咱們經過添加分類變量,讓箱線圖可以呈現更多的數據信息。spa


ggplot(diamonds,aes(cut,price,fill=color))+geom_boxplot().net



接下來咱們還像往常同樣,經過position參數的切換來驗證boxplot圖表的position參數使用規則:3d


ggplot(diamonds,aes(cut,price,fill=color,alpha=1/30))+geom_boxplot(position="identity")blog




#當將位置設置爲不作任何變換時,分類後的箱線圖會在對應的X軸分類項相互疊加,形成遮擋閱讀不便,不推薦此參數。ci


ggplot(diamonds,aes(cut,price,fill=color))+geom_boxplot(position="stack")get




根據經驗咱們就能夠猜到,估計使用堆積方式來呈現多維箱線圖確定會失敗,由於即使真的將分類箱線圖堆積起來,那麼其呈現數據分佈形態的功能也就喪失殆盡,果真軟件是報錯的。


ggplot(diamonds,aes(cut,price,fill=color))+geom_boxplot(position="dodge")




果真在添加有多分類變量時,箱線圖默認使用的position參數是dodge。



ggplot(diamonds,aes(cut,price,fill=color))+geom_boxplot(position="fill")




一樣將position參數設定爲堆積百分比也毫無心義,軟件沒有經過並提出警示。


ggplot(diamonds,aes(cut,price,fill=color))+geom_boxplot()+facet_grid(.~color) 




ggplot(diamonds,aes(cut,price,fill=color))+geom_boxplot()+facet_wrap(~color) 




仔細體會兩種分面函數效果的差別:



箱線圖美化:


簇狀:


ggplot(diamonds,aes(cut,price,fill=color))+geom_boxplot()+ggtitle("Box Plot")+theme_wsj()+scale_fill_wsj()+guides(fill=guide_legend(title=NULL)) 




ggplot(diamonds,aes(cut,price,fill=color))+geom_boxplot()+ggtitle("Box Plot")+theme_economist()+scale_fill_economist()+guides(fill=guide_legend(title=NULL)) 




分面:


ggplot(diamonds,aes(cut,price,fill=color))+geom_boxplot()+ggtitle("Box Plot")+theme_wsj()+scale_fill_wsj()+guides(fill=guide_legend(title=NULL))+ facet_grid(.~color) 




ggplot(diamonds,aes(cut,price,fill=color))+geom_boxplot()+ggtitle("Box Plot")+theme_economist()+scale_fill_economist()+guides(fill=guide_legend(title=NULL))+facet_grid(.~color)  




魔方學院QQ羣:


QQ羣:

微信羣:





本文分享自微信公衆號 - 數據小魔方(datamofang)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索