ogre绘制3d图形_R语言统计与绘图:绘制饼图
餅圖也是最常見(jiàn)的圖形之一,餅圖在商業(yè)世界中無(wú)所不在,然而多數(shù)統(tǒng)計(jì)學(xué)家,包括相應(yīng)R文檔的編寫(xiě)者卻都對(duì)它持否定態(tài)度。
相對(duì)于餅圖,更推薦使用條形圖或點(diǎn)圖,因?yàn)橄鄬?duì)于面積,人們對(duì)長(zhǎng)度的判斷更精確。
今天來(lái)學(xué)習(xí)下怎么繪制餅圖。
目? 錄
1. 繪圖前準(zhǔn)備
1.1 加載數(shù)據(jù)集
1.2 自定義圖形參數(shù)
2. 繪制簡(jiǎn)單餅圖
3. 自定義餅圖參數(shù)
3.1 修改顏色
3.2 添加數(shù)據(jù)標(biāo)簽
4. 繪制3D餅圖
5. 繪制條形圖
6. 扇狀圖
7. ggpie()函數(shù)繪制餅圖
8. pie()函數(shù)
9. pie3D()函數(shù)
10. fan.plot()函數(shù)
11. ggpie()函數(shù)
1. 繪圖前準(zhǔn)備
1.1 加載數(shù)據(jù)集
餅圖常常用于投資領(lǐng)域,投資顧問(wèn)經(jīng)常會(huì)建議顧客去購(gòu)買(mǎi)不同類(lèi)別的股票或理財(cái)產(chǎn)品,這些數(shù)據(jù)表示常常用餅圖來(lái)表示。
比如:
- 國(guó)內(nèi)股票-30%
- 外國(guó)股票-25%
- 債券-28%
- 黃金/貴金屬-10%
- 現(xiàn)金等價(jià)物-7%
我們從上面的百分比中得出一個(gè)數(shù)字向量,并用來(lái)繪制餅圖。
allocation?30,25,28,10,7)?1.2 自定義圖形參數(shù)
在繪制圖形前我們可以自定義相關(guān)圖形參數(shù),在后面繪圖中直接使用。
sector?"Stock","For'n'","Bonds",???????????"Gold","Cash")?#?設(shè)定投資類(lèi)別名稱(chēng)
sectcol?"burlywood","turquoise","firebrick",
????????????"gold3","green4")?#?設(shè)置投資類(lèi)別顏色
2. 繪制簡(jiǎn)單餅圖
簡(jiǎn)單餅圖可以使用pie()函數(shù)繪制。
pie(allocation,??#?繪制餅圖用的數(shù)據(jù)????labels?=?sector,??#?設(shè)置餅圖每部分標(biāo)簽
????main?=?"餅圖,?使用默認(rèn)顏色")?#?圖形標(biāo)題
3. 自定義餅圖參數(shù)
3.1 修改顏色
可以自定義餅圖的顏色等。
pie(allocation,?labels?=?sector,?col?=?sectcol,????main?=?"餅圖,?自定義餅圖顏色")
3.2 添加數(shù)據(jù)標(biāo)簽
pct?100)sector2?"?",?pct,?"%",?sep="")
pie(allocation,?labels=sector2,?col=sectcol,
????main="Pie?Chart?with?Percentages")
4. 繪制3D餅圖
繪制3D餅圖需要使用plotrix包的pie3D()函數(shù)。
install.packages("plotrix",?dependencies?=?TRUE)?#?安裝包library(plotrix)??#?加載包
pie3D(allocation,?#?繪制餅圖用的數(shù)據(jù)?
??????labels?=?sector,??#?設(shè)置餅圖每部分的標(biāo)簽
??????col?=?sectcol,??#?設(shè)置餅圖每部分的顏色
??????explode?=?.1,?#?設(shè)置餅圖各部分分離間距
??????labelcex?=?.95,?#?設(shè)置標(biāo)簽的大小
??????main?=?"3D?餅圖")?#?設(shè)置圖形的標(biāo)題
5. 繪制條形圖
餅圖數(shù)據(jù)也可以使用條形圖展示。
在上面的餅圖中,最大的三個(gè)類(lèi)別看起來(lái)一樣大,最小的兩個(gè)大小也差不多,但是使用條形圖可以很清楚的看到各部分的大小差異。
barplot(allocation,?#?繪圖用的數(shù)據(jù)????????names.arg?=?sector,??#?設(shè)置條形圖下面的名稱(chēng)
????????col?=?sectcol,?#?設(shè)置條形圖的顏色
????????main?=?"barplot")?#?設(shè)置條形圖的標(biāo)題
6. 扇狀圖
餅圖讓比較各扇形的值變得困難(除非這些值被附加在標(biāo)簽上)。為改善這種狀況,我們創(chuàng)造了一種稱(chēng)為扇形圖(fan plot)的餅圖變種。這種圖看起來(lái)像是餅圖,但是解決了餅圖的缺點(diǎn)。
扇形圖提供了一種同時(shí)展示相對(duì)數(shù)量和相互差異的方法。在R中,扇形圖是通過(guò)plotrix包中的fan.plot()函數(shù)實(shí)現(xiàn)的。
數(shù)據(jù)還是使用前面的數(shù)據(jù)。
library(plotrix)?#?繪圖函數(shù)所在的包fan.plot(allocation,?#?繪制圖形用的數(shù)據(jù)
?????????labels?=?sector,?#?圖形每部分的標(biāo)簽
?????????col?=?sectcol,?#?圖形每部分的顏色
?????????ticks?=?30,??#?設(shè)置扇狀圖的刻度
?????????main?=?"Fan?Plot")?#?設(shè)置標(biāo)題
在上面的扇形圖中,各個(gè)扇形相互疊加,并對(duì)半徑做了修改,這樣所有扇形就都是可見(jiàn)的。如上所示,確定扇形圖中扇形的相對(duì)大小比餅圖要簡(jiǎn)單得多。
7. ggpie()函數(shù)繪制餅圖
除了上述函數(shù)可以繪制餅圖外,ggpubr包的ggpie()函數(shù)也可以繪制餅圖。
install.packages("ggpubr")?#?函數(shù)需要的包library(ggpubr)?#?加載包
df?"Male",?"Female",?"Child"),
?????????????????value?=?c(25,?25,?50))?#?創(chuàng)建數(shù)據(jù)集
head(df)?#?查看數(shù)據(jù)集
ggpie(df,?"value",?label?=?"group",
??????fill?=?"group",?color?=?"white",
??????palette?=?c("#00AFBB",?"#E7B800",?"#FC4E07"))
labs?"?(",?df$value,?"%)")
ggpie(df,?"value",?label?=?labs,
??????lab.pos?=?"in",?lab.font?=?"white",
??????fill?=?"group",?color?=?"white",
??????palette?=?c("#00AFBB",?"#E7B800",?"#FC4E07"))
8. pie()函數(shù)
pie(x,?labels?=?names(x),?edges?=?200,?radius?=?0.8,????clockwise?=?FALSE,?init.angle?=?if(clockwise)?90?else?0,
????density?=?NULL,?angle?=?45,?col?=?NULL,?border?=?NULL,
????lty?=?NULL,?main?=?NULL,?...)
##?部分參數(shù)解釋
x?#?繪制餅圖所用的數(shù)據(jù),需為非負(fù)數(shù)值向量,x中的值按比例表示為餅圖中的面積。
labels?#?為餅圖每個(gè)部分指定標(biāo)簽的表達(dá)式或字符串;
radius?#?如果餅圖每部分的標(biāo)簽太長(zhǎng),可以設(shè)置此參數(shù)縮小餅圖半徑以顯示完整標(biāo)簽;
clockwise?#?邏輯詞,設(shè)置餅圖是按順時(shí)針繪制還是逆時(shí)針繪制,默認(rèn)逆時(shí)針;
init.angle?#?數(shù)字;指定餅圖的起始角度,默認(rèn)0°,也就是3點(diǎn)鐘位置
density?#?陰影線(xiàn)的密度,默認(rèn)不繪制陰影線(xiàn),指定非正數(shù)值會(huì)抑制陰影線(xiàn)的繪制
angle?#?陰影線(xiàn)的斜率,用度數(shù)表示
col?#?設(shè)置餅圖每部分的顏色
main?#?指定餅圖的標(biāo)題
9. pie3D()函數(shù)
pie3D(x,edges=NA,radius=1,height=0.1,theta=pi/6,start=0,border=par("fg"),??????col=NULL,labels=NULL,labelpos=NULL,labelcol=par("fg"),labelcex=1.5,
??????sector.order=NULL,explode=0,shade=0.8,mar=c(4,4,4,4),pty="s",...)
##?部分參數(shù)解釋
x?#?繪制圖形所用的數(shù)據(jù),每個(gè)值都表示一個(gè)扇區(qū)
edges?#?形成橢圓的線(xiàn)數(shù)
radius?#?餅圖的半徑
height?#?餅圖的高度
theta?#?弧度視角
start?#?扇形繪制的起始角度
border?#?扇區(qū)邊界線(xiàn)的顏色
col?#?設(shè)置每個(gè)部分的顏色
labels?#?設(shè)置每個(gè)部分的標(biāo)簽
labelpos?#?設(shè)置扇形每個(gè)標(biāo)簽的位置
labelcol?#?設(shè)置標(biāo)簽的顏色
labelcex?#?設(shè)置標(biāo)簽文字的大小
sector.order?#?指定繪制扇區(qū)的順序
explode?#?餅圖每個(gè)部分離中心點(diǎn)的位置
shade?#?數(shù)字,如在0-1之間,則減小扇形顏色亮度以更好的顯示3D效果
mar?#?餅圖周?chē)倪吘?br />pty?#?是否強(qiáng)制使用正方形繪圖區(qū)域
10. fan.plot()函數(shù)
fan.plot(x,edges=200,radius=1,col=NULL,align.at=NULL,max.span=NULL,??labels=NULL,labelpos=NULL,label.radius=1.2,align="left",shrink=0.02,
??main="",ticks=NULL,include.sumx=FALSE,...)
##?部分參數(shù)解釋
x?#?繪制圖形用的數(shù)字向量
edges?#?繪制圓形的邊數(shù)
radius?#?扇區(qū)的半徑
col?#?填充扇區(qū)的顏色
align.at?#?對(duì)齊扇區(qū)的位置
max.span #?最大弧度的角度
labels?#?在扇區(qū)弧周?chē)胖脴?biāo)簽
labelpos?#?設(shè)置標(biāo)簽放置位置
label.radius?#?標(biāo)簽放在距扇區(qū)多遠(yuǎn)的位置
align?#?扇區(qū)對(duì)其的位置
shrink?#?后續(xù)每個(gè)扇區(qū)的縮減量
main?#?圖形標(biāo)題
ticks?#?默認(rèn)無(wú)刻度,設(shè)置出現(xiàn)的刻度數(shù)
include.sumx?#?邏輯詞,是否將所有x值的和包括為最大扇區(qū)
11. ggpie()函數(shù)
ggpie(data,?x,?label?=?x,?lab.pos?=?c("out",?"in"),??lab.adjust?=?0,?lab.font?=?c(4,?"bold",?"black"),
??font.family?=?"",?color?=?"black",?fill?=?"white",
??palette?=?NULL,?size?=?NULL,??ggtheme?=?theme_pubr(),
??...)
??
##?部分參數(shù)解釋
data?#?包含x變量的數(shù)據(jù)框
x?#?繪制餅圖的數(shù)據(jù)
label?#?指定餅圖每部分標(biāo)簽的變量
lab.pos?#?指定標(biāo)簽位置的字符,有兩個(gè):out表示標(biāo)簽在圖形外,in表示標(biāo)簽在圖形內(nèi)
lab.adjust??#?數(shù)值,當(dāng)lab.pos為in時(shí),用于調(diào)整標(biāo)簽的位置,自己試著調(diào)整
lab.font?=?c(4,?"bold",?"black")?#?指定標(biāo)簽的大小、樣式和顏色
font.family?#?指定標(biāo)簽的字體格式
color、fill?#?指定餅圖的輪廓和填充顏色
palette?#?設(shè)置線(xiàn)圖顏色的調(diào)色板;可為灰色調(diào)色板"grey";自定義調(diào)色板c("blue","red")
# ggsci包調(diào)色板:"npg","aaas","lancet","jco","ucscgb","uchicago","simpsons"和"rickandmorty"。
size??#?數(shù)值,設(shè)置點(diǎn)和輪廓的大小
ggtheme?# ggplot2主題名稱(chēng),默認(rèn)為theme_pubr();
#?可用值包括theme_gray(),theme_bw(),theme_minimal(),theme_classic(),theme_void()...
以上函數(shù)解釋翻譯自幫助文件,如有錯(cuò)誤/不懂地方,請(qǐng)自行查閱幫助文件。
參考資料
相關(guān)文章
R語(yǔ)言統(tǒng)計(jì)與繪圖:forestplot包繪制森林圖
R語(yǔ)言統(tǒng)計(jì)與繪圖:pROC包繪制ROC曲線(xiàn)
R語(yǔ)言統(tǒng)計(jì)與繪圖:ROC曲線(xiàn)上32種截?cái)嘀档挠?jì)算
R語(yǔ)言統(tǒng)計(jì)與繪圖:ROC曲線(xiàn)的統(tǒng)計(jì)計(jì)算
R語(yǔ)言統(tǒng)計(jì)與繪圖:可視化ROC曲線(xiàn)的置信區(qū)間
R語(yǔ)言統(tǒng)計(jì)與繪圖:繪制平滑ROC曲線(xiàn)
R語(yǔ)言統(tǒng)計(jì)與繪圖:繪制不同坐標(biāo)軸置信區(qū)間的森林圖
R語(yǔ)言統(tǒng)計(jì)與繪圖:繪制多個(gè)置信區(qū)間的森林圖
分享、點(diǎn)贊、在看,一鍵三連!
總結(jié)
以上是生活随笔為你收集整理的ogre绘制3d图形_R语言统计与绘图:绘制饼图的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python rq asyncio_Py
- 下一篇: docker 容器安装conposer_