R - 饼图



R 编程语言有许多用于创建图表和图形的库。饼图是将值表示为具有不同颜色的圆圈切片。切片已标记,并且与每个切片对应的数字也显示在图表中。

饼图是使用 pie() 函数创建的,该函数将正数作为向量输入。附加参数用于控制标签、颜色、标题等。

语法

使用 R 创建饼图的基本语法是 -


pie(x, labels, radius, main, col, clockwise)

以下是所用参数的描述 -

  • x 是包含饼图中使用的数值的向量。
  • labels 用于为切片提供描述。
  • radius 表示饼图圆的半径。(值介于 −1 和 +1 之间)。
  • main 表示图表的标题。
  • col 表示调色板。
  • Clockwise 是一个逻辑值,指示切片是顺时针还是逆时针绘制。

例子

仅使用输入向量和标签即可创建一个非常简单的饼图。下面的脚本将在当前 R 工作目录中创建并保存饼图。


# 为图形创建数据。
x <- c(21, 62, 10, 53)
labels <- c("London", "New York", "Singapore", "Mumbai")

# 为图表文件命名。
png(file = "city.png")

# 绘制图表。
pie(x,labels)

# 保存文件。
dev.off()

当我们执行上述代码时,它会产生以下结果——

使用 R 的 Pie Chatr

饼图标题和颜色

我们可以通过向函数添加更多参数来扩展图表的功能。我们将使用参数 main 为图表添加标题,另一个参数是 col,它将在绘制图表时使用彩虹调色板。pallet 的长度应与图表的值数量相同。因此我们使用 length(x)。

例子

下面的脚本将在当前 R 工作目录中创建并保存饼图。


# 为图形创建数据。
x <- c(21, 62, 10, 53)
labels <- c("London", "New York", "Singapore", "Mumbai")

# 为图表文件命名。
png(file = "city_title_colours.jpg")

# 用标题和彩虹色调色板绘制图表。
pie(x, labels, main = "City pie chart", col = rainbow(length(x)))

# 保存文件。
dev.off()

当我们执行上述代码时,它会产生以下结果——

带有标题和颜色的饼图

切片百分比和图表图例

我们可以通过创建其他图表变量来添加切片百分比和图表图例。


# 为图形创建数据。
x <-  c(21, 62, 10,53)
labels <-  c("London","New York","Singapore","Mumbai")

piepercent<- round(100*x/sum(x), 1)

# 为图表文件命名。
png(file = "city_percentage_legends.jpg")

# 绘制图表。
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)))

# 保存文件。
dev.off()

当我们执行上述代码时,它会产生以下结果——

带有百分比和标签的饼图

3D 饼图

可以使用其他包绘制具有 3 个维度的饼图。packageplotrix 有一个名为 pie3D() 的函数,用于此目的。


# 去library。
library(plotrix)

# 为图形创建数据。
x <-  c(21, 62, 10,53)
lbl <-  c("London","New York","Singapore","Mumbai")

# 为图表文件命名。
png(file = "3d_pie_chart.jpg")

# 绘制图表。
pie3D(x,labels = lbl,explode = 0.1, main = "Pie Chart of Countries ")

# 保存文件。
dev.off()

当我们执行上述代码时,它会产生以下结果——

3D 饼图