R语言绘制饼图

饼图是一种圆形统计图。它将一个圆分割成若干扇形,每个扇形代表一个数据类别,扇形面积大小对应该类别在总体中所占比例。饼图直观展示各类别数据占比关系,但不适合过多类别及比较绝对数值大小。常用于市场份额分析、预算分配及调查结果展示等场景,能让人快速了解不同类别在整体中的相对重要程度。

0x01 使用pie()函数

一、参数说明

pie(x, labels = names(x),...)

1.x:是一个包含数据值的向量,表示各个部分的大小。这是绘制饼图的基础数据,决定了每个扇形区域的大小比例。

2.labels:是一个字符型向量,用于为每个部分添加标签。默认情况下,使用names(x)作为标签,如果x没有名称属性,则使用数字序列作为标签。例如,labels = c("Part 1", "Part 2", "Part 3")

3.col:一个颜色向量,指定饼图中各个扇形的颜色。可以使用颜色名称(如 "red"、"blue" 等)或十六进制颜色代码。例如,col = c("#FF0000", "#0000FF", "#00FF00")

4.radius:一个数值,表示饼图的半径大小。默认值为 1。较小的值会使饼图显得更小,较大的值则会使饼图更大。例如,radius = 0.8

5.main:一个字符型值,用于设置饼图的标题。例如,main = "My Pie Chart"

6.clockwise:一个逻辑值,表示扇形的绘制方向是顺时针还是逆时针。默认值为TRUE,表示顺时针绘制;如果设置为FALSE,则逆时针绘制。例如,clockwise = FALSE

7.density:底纹的密度。默认值为NULL

8.angle:设置底纹的斜率。

9.edges:用于指定用多少条边的多边形来近似表示饼图的圆形轮廓。

10.border:设置饼图扇形区域的边框颜色。

二、准备数据

r 复制代码
data <- c(30, 20, 15, 25, 10)
labels <- c("A", "B", "C", "D", "E")
colors <- c("red", "blue", "green", "yellow", "purple")

三、使用pie()函数绘制饼图

r 复制代码
pie(data, labels = labels)

四、美化和调整

r 复制代码
pie(data, labels = labels, main = "饼图", radius = 0.8, col = colors, clockwise = TRUE)

五、计算百分比标签并添加图例

r 复制代码
# 计算百分比标签
#round()函数用于对数值进行四舍五入,第一个参数是要四舍五入的数值,第二个参数是要保留的小数位数
#paste0()函数用于将多个字符串连接在一起
percentLabels <- paste0(labels, " (", round(data/sum(data)*100, 2), "%)")

# 绘制饼图
pie(data, labels = percentLabels, main = "饼图", radius = 0.8, col = colors, clockwise = TRUE)

# 添加图例
legend("topright", legend = labels, fill = colors)

0x02 使用plotrix包

如需绘制三维饼图,则需要用到plotrix包中的pie3D()函数。

一、安装并加载R包

r 复制代码
install.packages("plotrix")
library(plotrix)

二、pie3D()用法及参数说明

pie3d(x, labels = names(x), explode = 0, radius = 1, height = 0.1,...)

1.x:是一个包含数据值的向量,表示各个部分的大小。这是绘制三维饼图的基础数据,决定了每个扇形区域的大小比例。

2.labels:是一个字符型向量,用于为每个部分添加标签。默认情况下,使用names(x)作为标签,如果x没有名称属性,则使用数字序列作为标签。例如,labels = c("Part 1", "Part 2", "Part 3")

3.explode:可以是一个数值向量,指定每个扇形是否从饼图中 "炸开" 以及炸开的程度。如果某个元素的值大于 0,对应的扇形就会被炸开到一定程度。例如,explode = c(0.1, 0, 0.2)会使第一个和第三个扇形稍微炸开一些。默认值为 0,表示不炸开。

4.radius:三维饼图的半径大小。默认值为 1。可以根据需要调整半径大小来改变饼图的外观。例如,radius = 0.8会使饼图稍微小一些。

5.height:三维饼图的厚度。默认值为 0.1。可以调整厚度来改变饼图的立体感。例如,height = 0.2会使饼图更厚一些。

6.col:一个颜色向量,指定饼图中各个扇形的颜色。可以使用颜色名称(如 "red"、"blue" 等)或十六进制颜色代码。例如,col = c("#FF0000", "#0000FF", "#00FF00")

7.main:一个字符型值,用于设置三维饼图的标题。例如,main = "3D Pie Chart Example"

三、使用pie3D绘制三维饼图

r 复制代码
pie3D(data,labels = labels)

四、美化和调整

r 复制代码
pie3D(data,labels = percentLabels,explode = 0.08,radius = 0.8,height = 0.07,col = colors)
legend("topright", legend = labels,cex = 0.6, fill = colors)
相关推荐
玩电脑的辣条哥2 小时前
Python如何播放本地音乐并在web页面播放
开发语言·前端·python
ll7788114 小时前
LeetCode每日精进:20.有效的括号
c语言·开发语言·算法·leetcode·职场和发展
Jackson@ML6 小时前
Python数据可视化简介
开发语言·python·数据可视化
赵琳琅6 小时前
Java语言的云计算
开发语言·后端·golang
lly2024066 小时前
jQuery 杂项方法
开发语言
赵琳琅6 小时前
MDX语言的安全开发
开发语言·后端·golang
开开又心心的学嵌入式7 小时前
C语言——指针进阶应用
c语言·开发语言
开开又心心的学嵌入式7 小时前
C语言——指针基础知识
c语言·开发语言
lonelyhiker7 小时前
javascript的原型链
开发语言·javascript·原型模式
网硕互联的小客服7 小时前
如何提高网站在百度中的权重?
linux·运维·服务器·windows·安全