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