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

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

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

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

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

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

也有不少的思路和方法

但是很多都是用的圆环图

制作合符要求的数据后

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

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

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

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

雷达图?…… Are you joking me?

对的,你没看错

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

上图的填充雷达图

数据只有零散的几个点

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

然后再将360份等分成N份

在每一份的连续区域上

标记相同的数值

在等份间隔处用0值标记

将会达到什么效果呢?

你没猜错

就是南丁格玫瑰图表


下面就让我们来动手试试

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

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

数据如下所示

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

怎么构造

请听慢慢道来

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

系列值都为1

各系列百分比不尽相同

我们使用等系列玫瑰图

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

构造系列


将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区域

添加雷达图

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

删除多余元素

添加图表标题

即可得到南丁格尔玫瑰图

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

那么我们来思考一个问题

如果我们要添加系列名称

该如何操作

这时候

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

还有部分数据没有使用

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

因为他们的值是相等的

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

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

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

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

但是

当我们选中新加入的饼图

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

会得到下图

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

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

同样我们还有很多变种玩

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

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

思路和方法一致

只是在构造角度区间时候

主意各区间的比重

在此就不做太多阐述

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

数据源

数据构造过程

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

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

至此

你再思考下

比如你有这样的需求

你需要比较2013、2014及2015年

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

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

答案是肯定可以的

那么效果是怎么样的呢

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

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

数据源如下

数据构造方法

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

构建辅助虚拟类别

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

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

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

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

(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插入填充型雷达图

调整层级关系

便可得到如下图形

利用复制数据添加饼图

设置标签值

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

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

为敬畏生命而生—南丁格尔玫瑰图制作相关推荐

  1. excel实战应用案例100讲(五)-excel实现南丁格尔玫瑰图制作

    "提灯女神"南丁格尔 今天故事的主人公,是被誉为"护理事业的创始人和现代护理教育的奠基人"的弗洛伦斯·南丁格尔(Florence Nightingale). 读 ...

  2. 教你做超惊艳的南丁格尔玫瑰图

    其实早在今年初,疫情还很严重的时候,人民日报发布的这个图就吸引了广大数据分析者的注意. 今天我们就把这个图的前因后果以及怎么做一次性讲清楚. 玫瑰图的前世今生 这个图学名:南丁格尔玫瑰图,是弗罗伦斯· ...

  3. 性感的数据可视化 —— 桑基图、气泡图、南丁格尔玫瑰图

    阿里云数据中台官网 https://dp.alibaba.com/index (作者:常成) 2019年的"凯度信息之美奖"揭晓了,有很多很有意思的信息可视化作品.很多作品看到的时 ...

  4. 性感的数据可视化 —— 精讲桑基图、气泡图、南丁格尔玫瑰图

    作者:常成 2019年的"凯度信息之美奖"揭晓了,有很多很有意思的信息可视化作品.很多作品看到的时候都被感动到,数据/信息不再是冷冰冰的,而是立体的,通过可视化可以让人们更清晰的看 ...

  5. 南丁格尔玫瑰图 | 集才华和美貌于一身的数据图表

    南丁格尔玫瑰图将柱图转化为更美观的饼图形式,是极坐标化的柱图,其夸大了数据之间差异的视觉效果,适合展示数据原本差异小的数据. 1.玫瑰图的前世今生 长得像饼图又不是饼图,这种有着极坐标的统计图有着一个 ...

  6. tableau实战系列(三十九)-教你如何优雅的做图表展示-南丁格尔玫瑰图

    前言 饼图是常用的分析图表之一,但当分析的数据类别过多时,饼图就会因为分区密集,大大降低其可视化效果(如下图). 遇到这种情况,可以考虑使用南丁格尔玫瑰图.事实上,它的可视化呈现很不错. 如果觉得玫瑰 ...

  7. 26.27.28.29.极区图(南丁格尔玫瑰图)、维恩图 (Venn diagram)、面状图(Area chart)、树地图

    26.极区图(南丁格尔玫瑰图) 27.维恩图 (Venn diagram) 28.面状图(Area chart) 29.树地图 26.极区图(南丁格尔玫瑰图) 极区图(又名南丁格尔玫瑰图)呈放射延伸状 ...

  8. Python数据可视化之南丁格尔玫瑰图(亲测)

    文章目录 1. 什么是南丁格尔玫瑰图 2. 南丁格尔玫瑰图的绘制 1. 什么是南丁格尔玫瑰图 央视新闻用来展示疫情0增长天数的图就是南丁格尔玫瑰图. 南丁格尔玫瑰图(Nightingale rose ...

  9. python画玫瑰图_央视都在用的“南丁格尔玫瑰图”,原来Python也可以画

    前一阵子,我看到央视新闻中,有一张比较好看数据图,如下: 后来才知道这叫"南丁格尔玫瑰图",是南丁格尔护士在克里米亚战争期间提交的一份关于士兵死伤报告时发明的一种图表. 我心想能不 ...

最新文章

  1. 这样规范写代码,同事直呼“666”
  2. NumberUtils、ArrayUtils和RandomUtils工具类用法
  3. css怎样将图片设置成正方形,而且随着浏览器窗口大小的改变而自适应缩放
  4. Py之Data Base:Python和数据库的那些嘻嘻哈哈事详细攻略
  5. administrator自动登录桌面
  6. 微课|中学生可以这样学Python(例11.4):tkinter版图片查看器
  7. 最全面的AndroidStudio配置指南总结-包括护眼模式
  8. 多目标优化算法:多目标樽海鞘算法MOSSA(提供MATLAB源码)
  9. 计算机中回收站的作用,windows7回收站的功能与作用
  10. android传感器获取运动方向,Android 重力感应获取手机运动方向和角度
  11. 4.蒙特卡洛(Monte-Carlo, MC)+时序差分(Temporal Difference, TD)
  12. Linux 下 Android NDK 编译 openssl
  13. 5点滑动平均公式推导
  14. xss.haozi.me
  15. ffmpeg一些基本用法
  16. 如何使用MATLAB绘制ggplot风格图片(散点图及折线图)
  17. 记ubuntu20.04无线网卡驱动安装
  18. Python 简易实现 quoted-printable 编码
  19. 如何把excel中的多行数据按行数拆分成多个
  20. 入力できる文字数チェック

热门文章

  1. 在 Kubernetes 中, 搭建高可用集群
  2. 服务器驱动已停止响应,显示器驱动程序已停止响应 并且已恢复解决方法
  3. win10计算机使用痕迹,win10系统彻底清除电脑使用痕迹的操作方法
  4. 访问中华万年历的文章后台数据
  5. 本地加密maven仓库密码
  6. VMware vSAN超融合系列之二:基本要求
  7. java导出数据到word文档中
  8. 黑群晖显示真实CPU信息 【支持7.0-7.1】
  9. LINUX设置临时路径
  10. 漂亮!Python实现这张动态可视化交互大屏图