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)
相关推荐
uppp»1 分钟前
深入理解 Java 反射机制:获取类信息与动态操作
java·开发语言
玩电脑的辣条哥2 小时前
Python如何播放本地音乐并在web页面播放
开发语言·前端·python
ll7788115 小时前
LeetCode每日精进:20.有效的括号
c语言·开发语言·算法·leetcode·职场和发展
Jackson@ML6 小时前
Python数据可视化简介
开发语言·python·数据可视化
赵琳琅6 小时前
Java语言的云计算
开发语言·后端·golang
lly2024067 小时前
jQuery 杂项方法
开发语言
赵琳琅7 小时前
MDX语言的安全开发
开发语言·后端·golang
开开又心心的学嵌入式7 小时前
C语言——指针进阶应用
c语言·开发语言
开开又心心的学嵌入式7 小时前
C语言——指针基础知识
c语言·开发语言
lonelyhiker7 小时前
javascript的原型链
开发语言·javascript·原型模式