plotrix包中提供了一個可繪製3D效果餅圖的命令pie3D()。我們繼續使用以上讀入的測試數據,加載plotrix包繪製3D餅圖。
#pie3D(),可使用 ?pie3D 查看該命令詳情
library(plotrix)
pie3D(phylum$a1, col = c('#8DD3C7', '#FFFFB3', '#BEBADA', '#FB8072', '#80B1D3', '#FDB462'),
explode = 0.05, height = 0.1, radius = 0.85, labels = phylum$phylum, labelcex = 1, main = 'Sample: a1\nPhylum level')
plotrix包中還提供了一個可用於繪製疊加扇形圖的命令fan.plot()。我們繼續使用以上讀入的測試數據,加載plotrix包繪製疊加扇形圖。
#fan.plot(),可使用 ?fan.plot 查看該命令詳情
library(plotrix)
fan.plot(phylum$a1, col = c('#8DD3C7', '#FFFFB3', '#BEBADA', '#FB8072', '#80B1D3', '#FDB462'),
labels = phylum$phylum, main = 'Sample: a1\nPhylum level')
注意:這裡扇形的寬度才是重要的,而半徑大小並無意義。
ggplot2功能強大,因此使用ggplot2繪製餅圖是個很不錯的選擇。白魚小編就很喜歡ggplot2的語法和風格,更靈活且更好看。
#ggplot2
library(ggplot2)
p <- ggplot(phylum, aes(x = '', y = a1, fill = phylum)) +
geom_bar(stat = 'identity', width = 1) +
coord_polar(theta = 'y') +
scale_fill_manual(values = rev(c('#8DD3C7', '#FFFFB3', '#BEBADA', '#FB8072', '#80B1D3', '#FDB462'))) +
theme(panel.grid = element_blank(), panel.background = element_blank(), axis.text.x = element_blank(), plot.title = element_text(hjust = 0.5)) +
theme(legend.text = element_text(face = 'italic'), legend.title = element_blank()) +
labs(x = '', y = '', title = 'Sample: a1', fill = 'Phylum')
p
再來個圓環狀的樣式。
p <- ggplot(phylum, aes(x = '', y = a1, fill = phylum)) +
geom_bar(stat = 'identity', width = 0.3) +
coord_polar(theta = 'y') +
scale_fill_manual(values = rev(c('#8DD3C7', '#FFFFB3', '#BEBADA', '#FB8072', '#80B1D3', '#FDB462'))) +
theme(panel.grid = element_blank(), panel.background = element_blank(), axis.text.x = element_blank(), plot.title = element_text(hjust = 0.5)) +
theme(legend.text = element_text(face = 'italic'), legend.title = element_blank()) +
labs(x = '', y = '', title = 'Sample: a1', fill = 'Phylum')
p
好了,基本圖形的畫法就先簡介到這裡吧。多多練習,慢慢熟練了竅門後嘗試挑戰更複雜的圖形吧。