R编程语言中有许多库用来创建图表。饼状图是以不同颜色的圆的切片表示的值。这些切片被标记,并且每个切片对应的数字也在图表中表示。
在R中,使用将正数作为向量输入的pie()
函数创建饼状图。附加参数用于控制标签,颜色,标题等。
语法
使用R编程语言创建饼图的基本语法是 -
pie(x, labels, radius, main, col, clockwise)
以下是使用的参数的描述 -
-1
和+1
之间的值)。使用输入向量和标签创建一个非常简单的饼状图。以下脚本将创建饼图片并保存在当前R工作目录中。假设下是一个统计年龄段的代码 -
# Create data for the graph. x <- c(11, 30, 39, 20) labels <- c("70后", "80后", "90后", "00后") # Give the chart file a name. png(file = "birth_of_age.jpg") # Plot the chart. pie(x,labels) # Save the file. dev.off()
当我们执行上述代码时,会产生以下结果(图片) -
可以通过向函数添加更多参数来扩展图表的特征。我们将使用参数main
向图表添加标题,另一个参数是col
,在绘制图表时将使用彩虹色托盘。托盘的长度应与图表的数量相同。 因此我们使用length(x)
。
例子
以下脚本将创建一个饼图图片文件(age_title_colours.jpg)并保存当前R工作目录中。
# Create data for the graph. x <- c(11, 30, 39, 20) labels <- c("70后", "80后", "90后", "00后") # Give the chart file a name. png(file = "age_title_colours.jpg") # Plot the chart with title and rainbow color pallet. pie(x, labels, main = "出生年龄段 - 饼状图", col = rainbow(length(x))) # Save the file. dev.off()
当我们执行上述代码时,会产生以下结果 -
我们可以通过创建附加的图表变量来添加切片百分比和图表图例。参考以下代码实现 -
# Create data for the graph. x <- c(21, 62, 10,53) labels <- c("70后", "80后", "90后", "00后") piepercent<- paste(round(100*x/sum(x), 2), "%") # Give the chart file a name. png(file = "age_percentage_legends.jpg") # Plot the chart. pie(x, labels = piepercent, main = "出生年龄段 - 饼状图",col = rainbow(length(x))) legend("topright", c("70后","80后","90后","00后"), cex = 0.8, fill = rainbow(length(x))) # Save the file. dev.off()
当我们执行上述代码时,会产生以下结果 -
可以使用附加包来绘制具有3个维度的饼图。软件包plotrix
中有一个名为pie3D()
的函数,用于此效果。参考以下代码 -
注: 如果没有安装软件库:
plotrix
,可先执行install.packages("plotrix")
来安装。
# Get the library. library("plotrix") # Create data for the graph. x <- c(21, 62, 10,53) lbl <- c("70后", "80后", "90后", "00后") # Give the chart file a name. png(file = "3d_pie_chart.jpg") # Plot the chart. pie3D(x,labels = lbl,explode = 0.1, main = "出生年龄段 - 饼状图") # Save the file. dev.off()
当我们执行上述代码时,会产生以下结果 -