前一阵子,《人民日报》每天会以图表的形式通报疫情的情况,相信大家都看到过,它长下面酱紫:
很酷炫有木有!
南丁格尔玫瑰图的由来
先简单介绍一下这种图。
这种图表叫做南丁格尔玫瑰图(Nightingale Rose chart),对,就是那位伟大的护士——弗罗伦斯·南丁格尔发明的,这位女神不光是一位伟大的护士,还是一位统计学家。
当时,处于克里米亚战争期间。人们对资料统计的结果非常不重视,出于忧虑,她发明出一种色彩缤纷的图表形式,让数据能够更加使人印象深刻,这种图表形式就是「南丁格尔的玫瑰」(以下简称玫瑰图),又名极坐标面积图,是一种圆形的直方图。
南丁格尔自己常称这类图为鸡冠花图,并且用它来表达军医院季节性的死亡率,主要是方便那些不太懂传统统计报表的公务人员理解。
玫瑰图的使用场景
那玫瑰图一般用在什么场景呢?
仔细观察一下,不难发现其实玫瑰图和饼图类似,用法也一样,主要适用于多组对比数据的场景中。两者唯一的区别是:饼图是通过角度判别占比大小,而玫瑰图可以通过半径大小或者扇形面积大小来判别。
下次跟老板汇报工作的时候是不是又可以有新花样了?嘻嘻~
玫瑰图的制作
1. 在线制作网站
听说可以不用研究代码在线制作,各位小伙伴有没有高兴到笑出来?
祭出今天的神器网站——花火 Hanabi!(http://hanabi.data-viz.cn/index )
这是一个在线图表制作网站,网站提供了多种图表模板,并且完成后都可以免费导出。
首先打开网页,可以看到有很多图表模板。模仿《人民日报》制作玫瑰图,因此选择图中基础玫瑰图(环)就可以。
选择饼图 ->基础玫瑰图(环)
点进去后是主界面,页面右侧是菜单栏。
点击菜单栏“数据编辑”就可以编辑或上传自己的数据啦~
颜色、添加百分比、画布大小都是可以自己调整的~
导出
最后一步,就是将我们制作完成的玫瑰图导出了,点击页面右上方「导出」,可以选择导出的尺寸以及文件格式。
2. 用R制作玫瑰图
客观先别走!有没有硬核又有追求的小伙伴想了解下用R怎么画玫瑰图的?
上面介绍了,这种图又名极坐标面积图,是一种圆形的直方图。
首先,你有一个直方图/柱状图,然后把坐标轴变为极坐标就成了玫瑰图。这就是用ggplot2作图的思想。
1. 举个例子,随机造一组示例数据吧:
# 示例数据
set.seed(9876)
DF <- data.frame(variable = 1:10, value = sample(10,replace = TRUE))
DF
variable value
1 1 7
2 2 10
3 3 5
4 4 9
5 5 7
6 6 2
7 7 10
8 8 3
9 9 2
10 10 3
2. 先画个普通barplot看一看
library(ggplot2) #说起画图怎能少了ggplot2
ggplot(DF, aes(factor(variable), value, fill = factor(variable))) + geom_bar(width = 1,stat = "identity")
3. 把上面的barplot坐标极化,完成✅
ggplot(DF, aes(factor(variable), value, fill = factor(variable))) + geom_bar(width = 1,stat = "identity") +
scale_y_sqrt() +
coord_polar(start = 3 * pi / 2)
其实也不复杂,对吧~
想看更多请关注公众号: