- R 教程
- R - 首页
- R - 概述
- R - 环境设置
- R - 基本语法
- R - 数据类型
- R - 变量
- R - 运算符
- R - 决策
- R - 循环
- R - 函数
- R - 字符串
- R - 向量
- R - 列表
- R - 矩阵
- R - 数组
- R - 因子
- R - 数据框
- R - 包
- R - 数据重塑
R - 饼图
R 编程语言拥有众多库来创建图表和图形。饼图是将值表示为圆形切片,并使用不同的颜色进行区分。切片被标记,并且每个切片对应的数字也显示在图表中。
在 R 中,饼图是使用 **pie()** 函数创建的,该函数以向量形式接受正数作为输入。其他参数用于控制标签、颜色、标题等。
语法
使用 R 创建饼图的基本语法如下:
pie(x, labels, radius, main, col, clockwise)
以下是所用参数的说明:
**x** 是一个包含饼图中使用的数值的向量。
**labels** 用于为切片提供描述。
**radius** 表示饼图圆形的半径(值介于 -1 和 +1 之间)。
**main** 表示图表的标题。
**col** 表示调色板。
**clockwise** 是一个逻辑值,指示切片是顺时针绘制还是逆时针绘制。
示例
一个非常简单的饼图仅使用输入向量和标签创建。以下脚本将在当前 R 工作目录中创建并保存饼图。
# Create data for the graph. x <- c(21, 62, 10, 53) labels <- c("London", "New York", "Singapore", "Mumbai") # Give the chart file a name. png(file = "city.png") # Plot the chart. pie(x,labels) # Save the file. dev.off()
当我们执行以上代码时,它会产生以下结果:
饼图标题和颜色
我们可以通过向函数添加更多参数来扩展图表的特性。我们将使用 **main** 参数向图表添加标题,另一个参数是 **col**,它将在绘制图表时使用彩虹色调色板。调色板的长度应与我们为图表提供的数值数量相同。因此,我们使用 length(x)。
示例
以下脚本将在当前 R 工作目录中创建并保存饼图。
# Create data for the graph. x <- c(21, 62, 10, 53) labels <- c("London", "New York", "Singapore", "Mumbai") # Give the chart file a name. png(file = "city_title_colours.jpg") # Plot the chart with title and rainbow color pallet. pie(x, labels, main = "City pie chart", col = rainbow(length(x))) # Save the file. dev.off()
当我们执行以上代码时,它会产生以下结果:
切片百分比和图表图例
我们可以通过创建额外的图表变量来添加切片百分比和图表图例。
# Create data for the graph. x <- c(21, 62, 10,53) labels <- c("London","New York","Singapore","Mumbai") piepercent<- round(100*x/sum(x), 1) # Give the chart file a name. png(file = "city_percentage_legends.jpg") # Plot the chart. pie(x, labels = piepercent, main = "City pie chart",col = rainbow(length(x))) legend("topright", c("London","New York","Singapore","Mumbai"), cex = 0.8, fill = rainbow(length(x))) # Save the file. dev.off()
当我们执行以上代码时,它会产生以下结果:
3D 饼图
可以使用其他包绘制三维饼图。**plotrix** 包有一个名为 **pie3D()** 的函数,用于此目的。
# Get the library. library(plotrix) # Create data for the graph. x <- c(21, 62, 10,53) lbl <- c("London","New York","Singapore","Mumbai") # Give the chart file a name. png(file = "3d_pie_chart.jpg") # Plot the chart. pie3D(x,labels = lbl,explode = 0.1, main = "Pie Chart of Countries ") # Save the file. dev.off()
当我们执行以上代码时,它会产生以下结果:
广告