为敬畏生命而生—南丁格尔玫瑰图

浏览: 2603

长得像饼图又不是饼图,长得像堆积簇状图又非簇状图,这种有着极坐标的怪异统计图,有着一个美丽的名字—南丁格尔玫瑰图。

说到南丁格尔玫瑰图,这里有着一段为敬畏生命而存的历史。

19世纪50年代,英国、法国、土耳其和俄国进行了克里米亚战争,英国的战地战士死亡率高达42%。弗罗伦斯·南丁格尔主动申请,自愿担任战地护士。她率领38名护士抵达前线,在战地医院服务。当时的野战医院卫生条件极差,各种资源极度匮乏,她竭尽全力排除各种困难,为伤员解决必须的生活用品和食品,对他们进行认真的护理。仅仅半年左右的时间伤病员的死亡率就下降到2.2%。每个夜晚,她都手执风灯巡视,伤病员们亲切地称她为“提灯女神”。战争结束后,南丁格尔回到英国,被人们推崇为民族英雄。

Clipboard Image.png

出于对资料统计的结果会不受人重视的忧虑,她发展出一种色彩缤纷的图表形式,让数据能够更加让人印象深刻。这种图表形式有时也被称作「南丁格尔的玫瑰」,是一种圆形的直方图。南丁格尔自己常昵称这类图为鸡冠花图(coxcomb),并且用以表达军医院季节性的死亡率,对象是那些不太能理解传统统计报表的公务人员。她的方法打动了当时的高层,包括军方人士和维多利亚女王本人,于是医事改良的提案才得到支持。

今天我们就来学习,如何制作最美的南丁格尔玫瑰图

 

相信不少人看过类似的南丁格玫瑰图表

也有不少的思路和方法

但是很多都是用的圆环图

制作合符要求的数据后

还需要手工的去删除某些数据

并手工的去一块一块填充颜色

 

今天我就教大家一种不一样的方式

雷达图之—— 南丁格尔玫瑰图

雷达图?…… Are you joking me?

Clipboard Image.png

对的,你没看错

我们选的就是第三种填充型雷达图

Clipboard Image.png

上图的填充雷达图

数据只有零散的几个点

如果我们将雷达网阵分割成360份

然后再将360份等分成N份

在每一份的连续区域上

标记相同的数值

在等份间隔处用0值标记

将会达到什么效果呢?

    

你没猜错

就是南丁格玫瑰图表

Clipboard Image.png

Clipboard Image.png

下面就让我们来动手试试

1、等系列的南丁格尔玫瑰图

假设我们需要做一个三层的图表

数据如下所示

那么我们需要做的就是,构造我们需要的数据源

怎么构造

请听慢慢道来

Clipboard Image.png

由上图可以看到,我们的数据有A-h共8个系列

系列值都为1

各系列百分比不尽相同

我们使用等系列玫瑰图

这样我们开始构造辅助数据

构造系列

Clipboard Image.png

将360度均分为8份

得到系列a角度区间为0-45,系列b角度区间为45-90……

列F9-F369构建0-360度

在G4输入=G2/SUM($G$2:$N$2)

意义:计算对应系列在极坐标360°中所占区间大小,等于该区间大小/所有区间大小之和

 

在G5输入= =360*SUM($F$4:F4))

意义:计算对应系列起点在极坐标360°中的位置,等于其之间所有系列所占区间的右端点,及之间区间所占区域大小之和,由于系列a之间没有区间,所有应该为零,因此我们取$F$4:F4区间,F4为文本值,求和为0,正好符合我们的需求

 

同理G6输入=360*SUM($G$4:G4)

意义:该系列值的在极坐标中的右端点

 

在G9输入=IF(AND($F9>=G$5,$F9<=G$6),G$3,0)

意义:如果角度落在对应的区间内,则取对应区间系列的百分比值,否则为零

 

将公式填充G9:N369区域

添加雷达图

Clipboard Image.png

选中G8:N369区域,插入填充雷达图

Clipboard Image.png

删除多余元素

添加图表标题

即可得到南丁格尔玫瑰图

Clipboard Image.png

至此,基本图表已经制作完毕

 

那么我们来思考一个问题

如果我们要添加系列名称

该如何操作

 

这时候

我们发现,在构建数据源时

还有部分数据没有使用

Clipboard Image.png

其实也可以用右边的数据替代

因为他们的值是相等的

 

选中图表,以添加数据的方式将这部分数据添加到图表中

并将添加的数据的图表格式设置为饼图

原来的数据还是保持为雷达填充图

 Clipboard Image.png

我们发现,添加数据并按要求设置好格式,图表也没有什么变化

 

但是

当我们选中新加入的饼图

并添在图表外侧添加数据标签

会得到下图

               Clipboard Image.png

将对应标签的值更改为系列值

即可得到我们最终的南丁格尔玫瑰图

Clipboard Image.png

同样我们还有很多变种玩

2、不等系列的南丁格尔玫瑰图

如不等系列的南丁格尔玫瑰图

Clipboard Image.png

思路和方法一致

只是在构造角度区间时候

主意各区间的比重

在此就不做太多阐述

贴出数据源及数据构造的过程

 

数据源

Clipboard Image.png

数据构造过程

Clipboard Image.png

使用同样的方法添加图表,标签,即可得到不等系列南丁格尔玫瑰图

Clipboard Image.png

3、不等多数据系列的南丁格尔玫瑰图

至此

你再思考下

比如你有这样的需求

你需要比较2013、2014及2015年

整年之间及每年各月份之间的数据对比

那么我们可不可以使用南丁格尔玫瑰图呢

 

答案是肯定可以的

那么效果是怎么样的呢

Clipboard Image.png

Clipboard Image.png

将2013,2014,2015构造成3个大系列

并将每个大数据系列虚拟划分为12个小系列

 

数据源如下

Clipboard Image.png

数据构造方法

Clipboard Image.png

在H列构造0-360°极坐标

构建辅助虚拟类别

Clipboard Image.png

在I2输入 =IF($H2=0,1,CEILING($H2/(360/(COUNTA(A:A)-1)))

意义:将对应角度转换到对应虚拟类别,如果H2等于0,归属到类别1,

公式解读:$H2/(360/(COUNTA(A:A)-1)

意义:将H列的角度装换为[0,12]之间的数值

Clipboard Image.png

(COUNTA(A:A)-1)统计有多少个类别
(360/(COUNTA(A:A)-1))将360度评分为(COUNTA(A:A)-1)个类别
$H2/(360/(COUNTA(A:A)-1))将J2对应角度转换到对应类别区间[n-1,n]值

公式解析:CEILING($H2/(360/(COUNTA(A:A)-1)),1)

意义:该函数为根据参数P2,对P1向上取到P2的整数倍。即将角上步骤转换后的角度区间再次转换为对应的区间虚列值,如0.23属于第一个区间(0,1),该函数将0.23向上取整为1的整数被,转换为类别1。

 

在J2输入=INDEX($B$2:$D$13,$I2,MATCH(J$1,$B$1:$D$1,0))

意义:根据虚拟类别的值找到对一个的值

公式解读:匹配$B$2:$D$13区域内,row为$I2,colum为MATCH(J$1,$B$1:$D$1,0)的值

 

将公式填充到J2:L362

 

选中J2:L362插入填充型雷达图

调整层级关系

便可得到如下图形

Clipboard Image.png

利用复制数据添加饼图

设置标签值

即可得到最终多系列多类别--南丁格尔玫瑰图

Clipboard Image.png

最后通过利用图层的概念,使用图表叠加的方法可以实现,网格线在数据系列的上层:

Clipboard Image.png

Clipboard Image.png

本文由阳叔编辑,如需转载请联系EasyCharts团队,或者加入QQ群下载源文件:553270834(图表绘制之魔方学院 )!

推荐 2
本文由 EasyCharts 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

1 个评论

介绍的很详细.

要回复文章请先登录注册