饼图显示一个数据系列中各项的大小与各项总和的比例。也就是说我们想直观的看某一样本值在所有样本总值中所占的比例时,可以使用饼图来表示。
R语言中饼图绘制函数
在R语言中绘制饼图的函数为pie,其使用格式如下:
pie(x, labels = names(x), edges = 200, radius = 0.8, clockwise = FALSE, init.angle = if(clockwise) 90 else 0, density = NULL, angle = 45, col = NULL, border = NULL, lty = NULL, main = NULL, ...)
主要参数的含义如下:
x 一个非负的数值型向量。x中的值决定了饼图中每个扇形的大小。
labels 用于给出每个扇区的标签。
edges : 绘制饼图时,饼图的外轮廓是由多边形近似表示的。理论上,edges的数值越大,饼图看上去越圆。
radius : R中的饼图绘制以radius为边的正方形中,取值范围为-1到1。取值-1时,默认0角度是从正左边逆时针开始,否则是从正右边逆时针开始。
clockwise : 逻辑值。指示绘制扇区时是逆时针方向排列(FALSE),还是顺时针方向排列(TRUE)。默认为逆时针。
init.angle : 开始绘制扇区时的初始角度。默认情况下,逆时针时,第一个扇区的开始边为0度(3点钟方向),并向逆时针方向展开。如果clockwise取值为TRUE时,第1个扇区的开始边为90度(12点钟方向),并向顺时针方向展开。
density : 阴影线的密度。如果设置该参数,且为正值,则饼图以阴影线进行填充,如为负值,且未指定每个扇区的颜色时,则整体为黑色,不能体现出分区来,如是0值,则没有填充色,也没有阴影线。
angle : 阴影线的斜率。默认为45度。
col : 一个颜色向量,用于给出扇区的填充色或阴影线的颜色(当设置了density参数时,就是阴影线的颜色)。
border : 每个扇区的边框颜色。
lty : 每个扇区的线型(0:无,1:实线;2:短划线;3:点线;4:点划线;5:长划线;6:双划线;)
main : 绘图的标题。
使用R绘制饼图的例子
某销售部统计了该部门5名成员过去一周的时间的销售额情况。
(1)简单的饼图
sales <- c(122.3,169,198,110,173)
names <- c("小刚","小丽","小花","小兰","小美")
pie(sales,labels=names)
其绘制的图形如下图所示:
(2)指定扇区的颜色
sales <- c(122.3,169,198,110,173)
names <- c("小刚","小丽","小花","小兰","小美")
pie(sales,labels=names,col= c("skyblue","lightgreen","red",
"blue","lightyellow"))
绘图形式如下图所示:
(3)添加图例和标题,并以比例形式显示各部分
sales <- c(122.3,169,198,110,173)
names <- c("小刚","小丽","小花","小兰","小美")
per.sales <- paste(round(100 * sales / sum(sales),2), "%")
slice.col <- rainbow(10)
pie(sales,labels = per.sales, col= slice.col, main = "X销售部第N周销售业绩情况")
legend("topright", names, cex=0.85, fill=slice.col)
绘图结果如下图所示:
其它参数的使用情况,读者可以自己试着去做一做,在这里不再给出具体的例子。
如果你对R语言感兴趣,请关注本号,本号近期将持续更新有关R的相关内容。在以后将会添加Python,SPSS,Excel等方面的文章。