日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

ogre绘制3d图形_R语言统计与绘图:绘制饼图

發(fā)布時(shí)間:2025/3/19 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ogre绘制3d图形_R语言统计与绘图:绘制饼图 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

餅圖也是最常見(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)自行查閱幫助文件。

參考資料

  • Graphing Data with R. John Jay Hilfiger著
  • [美]Robert I.Kabacoff著.R語(yǔ)言實(shí)戰(zhàn)(第2版)[M].王小寧等譯.北京:人民郵電出出版社.2016.
  • pie()函數(shù)幫助文件
  • pie3D()函數(shù)幫助文件
  • fan.plot()函數(shù)幫助文件
  • ggpie()函數(shù)幫助文件

  • 相關(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)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。