R-ggridges包的改進
很忙,很久沒有寫文章。學習R繪圖,這些都是我的興趣愛好,並非我大的主業。也被我朋友說了很多次,別做這些沒用的,既不能帶來實際的收益,又耽誤正事的時間。
但是我可能對繪圖有著某種濃烈的興趣吧,所以總是抽出時間來瞎搗鼓這些。所以今天跟大家分享一個最近無意中實現的對於R-ggridges包的改進。ggridges包有一個很驚艷的函數geom_density_ridges_gradient()可以繪製多數據系列的核密度估計圖,如下圖所示:
#代碼如下:nlibrary(ggplot2)nlibrary(ggridges)n#theme_set(theme_ridges())nggplot(lincoln_weather, aes(x = `Mean Temperature [F]`, y = `Month`)) +ngeom_density_ridges_gradient(aes(fill = `Month`), scale = 3, size = 0.3) + theme(legend.position = "none")n
在這個函數中,fill的顏色還可以以x軸的數值作為映射,如下圖所示:
#代碼如下:
library(ggplot2)library(ggridges)#theme_set(theme_ridges())library(RColorBrewer)Colormap<- colorRampPalette(rev(brewer.pal(11,Spectral)))(32)ggplot(lincoln_weather, aes(x = `Mean Temperature [F]`, y = `Month`)) +geom_density_ridges_gradient(aes(fill = ..x..), scale = 3, size = 0.3 ) +scale_fill_gradientn(colours=Colormap,name = "Temp. [F]")但是這種圖好看歸好看,存在兩個問題:
1. 由於沒有Y軸數值,無法得知每個數據系列對應的Y軸數值,也就無法得到核密度估計得具體數值,只能看到數據大概的分布形狀;
2.這個函數只能繪製這種核密度估計的山峰疊巒圖,但是有時候我們只是想展示多數據系列的時序數據的波動,而不是核密度估計。所以,我自己研究解決了這兩個問題:下圖就是核密度估計的山峰疊巒圖,但是每個數據系列的核密度估計面積的高度對應核密度估計得數值,這就相當於將Y軸的對應數值使用顏色映射實現啦。下面就是使用山峰疊巒圖展示多數據系列的時序數據,而不是核密度估計,如下圖1所示。但是這個圖也存在之前的問題:由於沒有Y軸數值,無法得知每個數據系列對應的Y軸數值。圖2所示就將Y軸數值映射到顏色colormap,這樣就可以得到每個時間點對應的數值。n
圖1
圖2
大家,肯定想知道這些怎麼實現的。所以,我現在想把這幾個圖的函數打包供大家直接使用。但是由於我時間有限,最近比較忙。順便看有沒有有共同愛好的之士,同時又會打包的朋友。大家可以一起合作,將這幾個函數打包package,供大家直接使用。
ggplot2分面氣泡圖餅圖
ggplot2玫瑰圖案例
炫酷階梯狀圖表
構造方塊條形圖
多維放射狀流向圖
ggplot2高階案例應用
商務圖表案例:仿經濟學人分組漏斗圖~
你所不知道的R-柱形圖繪製細節問題!
和我一起學習克利夫蘭點圖系列
如需轉載請聯繫EasyCharts團隊!
微信後台回復「轉載」即可!
【書籍推薦】《Excel 數據之美--科學圖表與商業圖表的繪製》
【手冊獲取】國內首款-數據可視化參考手冊:專業繪圖必備
【必備插件】 EasyCharts -- Excel圖表插件
【網易雲課堂】 Excel 商業圖表修鍊秘笈之基礎篇
http://qm.qq.com/cgi-bin/qm/qr?k=9vVG-VeVfeYYhiD9qYyuhazSwFpaB8YG (二維碼自動識別)
推薦閱讀:
※仿經濟學人——矩陣氣泡圖
※Excel圖表的基本類型與選擇
※你會怎樣衡量你的產品? —— 一點產品數據分析的經驗分享
※ECharts+Python 給你的數據做「美顏」
※Python--matplotlib 繪圖可視化練手--折線圖/條形圖