打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
【孙老湿画图系列--第六弹】 饼图 Pie Graph
饼图,苏格兰政治经济学作家WilliamPlayfair(1759 – 1823)在1801年为了展示土耳其帝国领域面积时首次使用,如上图。
普莱菲也被称为「视觉图表之父」,他所制定的直方图、线图、圆饼图,影响后世至巨。
饼图显示的是数据中各项的大小与各项总和的比例,它的数据有以下几个要求:
1.       仅有一个要绘制的数据系列
2.       要绘制的数值没有负值
3.       要绘制的数值几乎没有零值
4.       类别数目无限制
5.       各个部分代表的是百分比
在R是绘制饼图有很多种方法,比如基础函数pie()、plotrix包中的pie3D()函数绘制3D饼图、以及ggplot2等都可以实现饼图的绘制,相比而言ggplot绘制饼图略微复杂一点,接下来将对这三种方法一一作一介绍。
R的基础函数pie()绘制饼图,常用参数如下:
x
用于绘图的数据
labels
数据对应的标签
radius
半径
col
设定颜色
clockwise
逻辑值,TRUE为顺时针,FALSE为逆时针
模拟数据x(必须是各个部分的比例),给定标签,设定颜色color(也可以使用默认颜色,但一般不是很好看):
x
y
color
pie(x, labels = y, col = color)
plotrix包中的pie3D(),基本参数如下:
x
用于绘图的数据
labels
数据对应的标签
radius
半径
col
设定颜色
theta
设定倾斜程度
首先模拟数据x(必须是各个部分的比例),给定标签,其次设定颜色color(也可以使用默认颜色,一般不是很好看)
install.packages('plotrix')
library('plotrix')
pie3D(x, labels = y, col = color, theta =0.5)
ggplot2种绘制饼图,其实是把柱形图做了一次极坐标转换coord_polar(),柱形图绘制可参见另一篇文章《如何用R画一个柱状图,代码都在这里了》
1、如果我们柱形图是并列式,并按照x轴极化坐标轴,会绘制出类似雷达图coord_polar(theta = 'x'):
library(ggplot2)
df
df$Gr
p
geom_bar(stat = 'density') +
coord_polar(theta ='x')
p
2、绘制正宗的饼图,需要先绘制叠加的柱形图,然后在y轴加极坐标转换coord_polar(theta = 'y'):
p
geom_bar(stat = 'density', width = 1, position= 'fill') +
coord_polar(theta = 'y') +
theme_bw() +
theme(axis.text = element_blank(),
axis.title = element_blank(),
panel.grid = element_blank(),
panel.border = element_blank())
p
3、在ggplot中还可以借鉴饼图的思路,绘制环形图,每一环代表一个分组:
模拟数据:
specie
condition
value
data
head(data)
绘制代码:
p
geom_bar(stat='identity', position='fill', width =0.9) +
theme_bw() +
theme(axis.title = element_blank(),
axis.text.x = element_blank(),
plot.title = element_text(hjust = 0.5, size = 20),
panel.grid = element_blank()) +
coord_polar(theta = 'y')
p
本系列课程主要侧重于讲解图形原理,以及在R中的实现过程,并没有特意追求美观,故很多图的细节部分修饰有限,大家重点理解实现过程。
本期图饼就分享到这里。不知不觉【孙老湿画图系列】已经和小伙伴们分享了六期,你是不是自己也进行了练习了呢?有任何问题欢迎留言和孙老湿沟通~~
下一期的内容是如何进行颜色设置,本周六,孙老湿与你不见不散!
编辑:Anymore    作者:孙怀博
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
R|ggplot2(三)|coord 系列函数坐标轴转换
文献配套GitHub发表级别绘图之饼图
图上嵌图!
作图详解 | 采用R绘制堆叠玫瑰图及堆叠环状条形图
R语言绘制好看的饼图、空心饼图
R语言作图
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服