简介
饼图英文学名为Sector Graph, 有名Pie Graph。常用于统计学模块。2D饼图为圆形,手画时,常用圆规作图。
仅排列在工作表的一列或一行中的数据可以绘制到饼图中。饼图显示一个数据系列 (数据系列:在图表中绘制的相关数据点,这些数据源自数据表的行或列。图表中的每个数据系列具有唯一的颜色或图案并且在图表的图例中表示。可以在图表中绘制一个或多个数据系列。饼图只有一个数据系列。)中各项的大小与各项总和的比例。饼图中的数据点 (数据点:在图表中绘制的单个值,这些值由条形、柱形、折线、饼图或圆环图的扇面、圆点和其他被称为数据标记的图形表示。相同颜色的数据标记组成一个数据系列。)显示为整个饼图的百分比
分类
饼图以二维或三维格式显示每一数值相对于总数值的大小。
FineReport饼图
复合饼图或复合条饼图显示将用户定义的数值从主饼图中提取并组合到第二个饼图或堆积条形图的饼图。如果要使主饼图中的小扇面更易于查看,这些图表类型非常有用。
分离型饼图显示每一数值相对于总数值的大小,同时强调每个数值。分离型饼图可以以三维格式显示。由于不能单独移动分离型饼图的扇面,您可能要考虑改用饼图或三维饼图。这样就可以手动拖出扇面了。
FineReport复合饼图
工具实现:R
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)
1、x为一个数组,是必输项;
2、labels表示为数组添加标签;
3、edges为边线数,如果取值太小就是绘制出的图形为多边形,默认值为200,此时较为平滑;
4、 radius表示半径大小,默认值为0.8。一般取0.5-1.5之间,太小可能变成一个点,太大则画布显示不完;
5、clockwise表示数组数据绘图是是否按照顺时针方向排列;clockwise=TRUE为顺时针,否则逆时针,默认=FALSE;
6、 init.angle 表示初始角度大小,顺时针是为90度,否则为0;
7、density表示阴影线密度,默认值为NULL,表示没有阴影线;
8、angle表示阴影线的倾斜角度,默认值45。
9、col表示填充颜色,一般以rainbow(n)来设置不同颜色,n表示颜色数量。
10、border表示划分饼的切割线的颜色。
11、lty表示划分饼的切割线的线形,lty=0无线条,lty=1为实线,lty取2及以上的值则为虚线。
12、main为整个图的标题。
代码:
x=c(1,1,1,1,1,1,1,1,1,1)
pie(x,col = rainbow(10), radius = 0.9)
数组中每个数据值相同,绘制的图形比较均匀。
颜色参数col的使用。
运行程序代码:
y=c(0.12, 0.3, 0.26, 0.16, 0.04, 0.12)
names(y)=c("蓝莓", "樱桃","苹果", "波士顿夹心饼", "其他", "香草奶油")
pie(y) #默认颜色(见第一幅图)
pie(y, col = c("purple", "violetred1", "green3", "cornsilk", "cyan", "white"))#设置成需要的颜色(见第二幅图)
pie(y, col =gray(seq(0.4, 1.0, length = 6)))#黑白色,灰度有区别(见第三幅图)
阴影线参数density的使用。
代码:pie(y, density = 10, angle = 15 + 10 * 1:6)
#阴影线密度为10,分别设置6个数值的阴影线倾斜角度
绘制的图形见下图。
参数clockwise 、main的使用。
pie(y, clockwise =T, main = "点心分布饼图(顺时针排列)")
#顺时针排列、添加图表标题
可以看到,图表排列顺序发生变化。
labels、 border参数的使用。
#多数据饼图
n <- 200
pie(rep(1, n), labels = "", col = rainbow(n), border = NA,main = "多数据饼图")
这里标签值为空,NA表示缺失数据,绘制出的结果无分割线。
rep为重复函数,rep(1, n)表示重复取n个1。
详细了解,可以试试取其他值的图形效果。
R软件绘制饼图的参数学会了,平常多加练习,一定能绘制出不一般的图形。
## 数组自带标签,无分割线
pie(c(Sky = 78, "Sunny side of pyramid" = 17, "Shady side of pyramid" = 5),init.angle = 315, col = c("deepskyblue", "yellow", "yellow3"), border = FALSE)
推荐阅读:
http://www.ppvke.com/10380.html PPV课视频课程
http://www.ppvke.com/10219.html PPV课视频课程
PPV课整理文章,未经允许禁止转载
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有