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 在绘制图表时使用彩虹色调。调色板的长度应与图表的值数量相同。因此我们使用长度为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饼图
可以使用额外的包绘制具有3个维度的饼图。该包 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()
当我们执行上面的代码时,会产生以下结果-