发布时间:2022-09-08 09:50:01源自:https://www.it-th.com作者 :it谈话网阅读(321)
其实早在今年初,疫情还很严重的时候,人民日报发布的这个图就吸引了广大数据分析者的注意。
这个图学名:,是弗罗伦斯·南丁格尔女士发明的,又名为极区图、鸡冠花图。
要说到南丁格尔女士,也是很传奇,她首先是一位护士,其次也是一名统计学家,更是英国皇家统计学会的第一位女性会员。
19世纪50年代,英国、法国、土耳其和俄国进行了克里米亚战争。南丁格尔主动申请,自愿担任战地护士。当时的医院卫生条件极差,甚至连干净的水源与厕所都没有,伤士死亡率高达42%,直到 1855 年卫生委员会来到医院改善整体的卫生环境后,死亡率才戏剧性地降至 2.5% 。当时的南丁格尔注意到这件事,认为政府应该改善战地医院的条件来拯救更多年轻的生命。
出于对资料统计的结果会不受人重视的忧虑,她发明出一种。
这张图就是南丁格尔当时报告这件事时所用的图表,以表达军医院季节性的死亡率,从整体上来看:这张图是用来说明、比较战地医院伤患因各种原因死亡的人数,每块扇形代表着各个月份中的死亡人数,面积越大代表死亡人数越多。
这张图里有一大一小两个玫瑰图,右侧较大的玫瑰图,展现的是1854 年 4 月至 1855 年 3 月的数据而左侧的玫瑰图,展现的则是 1855 年 4 月至 1856 年 3 月的数据,以1855 年4 月做为分界,将24 个月的资料切分为左右两张图再用黑色线条连结,是因为这大约便是卫生委员会来改善环境时的日期,也因此我们可以比较两个年度的死亡人数与其原因的概略比例。
1、灰色的区域的面积明显大于其他颜色的面积。这意味着大多数的伤亡并非直接来自战争,而是来自糟糕医疗环境下的感染。
2、卫生委员到达后(1855年3月),死亡人数明显的下降。
她的方法打动了当时的高层,包括军方人士和维多利亚女王本人,于是医事改良的提案才得到支持,因该图的外形酷似一朵绽放的玫瑰,因此“南丁格尔玫瑰图”也就由此而来。
南丁格尔玫瑰图是用扇形的半径表示数据的大小,各扇形的角度则保持一致。可以说南丁格尔玫瑰图实际上是一种极坐标化的圆形直方图。它夸大了数据之间差异的视觉效果,适合展示数据原本差异小的数据
Excel图表里本身是没有南丁格尔玫瑰图这个模板的,但是我们可以用雷达图来做,也可以用圆环图,这里我用来做。
这里有12个国家,雷达图是按照极坐标来划分的,那么一个国家在极坐标里的占比就是360/12=30。
每一个国家后的累计数据复制30次,均复制到辅助列2上,也就是说辅助列2应该有360条数据。
将圆环图填充为无色,并设置标签格式,最后得到如图所示的南丁格尔玫瑰图:
网上有很多用Excel做玫瑰图的教程,不过说实话,没有对比,单纯用一组数据做这个南丁格尔玫瑰图,是为了显摆吗?柱形图它不是更简单直观吗?
用Python里的pyecharts来作图,首先要安装pyecharts,安装完以后可按如下代码制作。
import pandas as pd
from pyecharts.charts import Pie
from pyecharts import options as opts
# 读入数据,需要更改
df = pd.read_excel("30.xlsx")
v = df['疫情地区'].values.tolist()
d = df['新增'].values.tolist()
#设置颜色
color_series = ['#FAE927','#E9E416','#C9DA36','#9ECB3C','#6DBC49',
                '#37B44E','#3DBA78','#14ADCF','#209AC9','#1E91CA',
                '#2C6BA0','#2B55A1','#2D3D8E','#44388E','#6A368B'
                '#7D3990','#A63F98','#C31C88','#D52178','#D5225B',
                '#D02C2A','#D44C2D','#F57A34','#FA8F2F','#D99D21',
                '#CF7B25','#CF7B25','#CF7B25']
# 实例化Pie类
pie1 = Pie(init_opts=opts.InitOpts(width=px', height=魆px'))
# 设置颜色
pie1.set_colors(color_series)
# 添加数据,设置饼图的半径,是否展示成南丁格尔图
pie1.add("", [list(z) for z in zip(v, d)],
        radius=["30%", "135%"],
        center=["50%", "65%"],
        rosetype="area"
        )
# 设置全局配置项
pie1.set_global_opts(title_opts=opts.TitleOpts(title='玫瑰图示例'),
                     legend_opts=opts.LegendOpts(is_show=False),
                     toolbox_opts=opts.ToolboxOpts())
# 设置系列配置项
pie1.set_series_opts(label_opts=opts.LabelOpts(is_show=True, position="inside", font_size=12,
                                               formatter="{b}:{c}例", font_style="italic",
                                               font_weight="bold", font_family="Microsoft YaHei"
                                               ),
                     )
# 生成html文档
pie1.render("南丁格尔玫瑰图.html")
完成后效果如下:
在线制作永远是满足临时性需求最方便快捷的,这里推荐两个在线制作的网站。
:hanabi.data-viz.cn
点击右边的图表设置,可以设置颜色、字体、标题、图例等具体信息。
:tuzhidian.com
选择南丁格尔玫瑰图
这个网站的好处就是它会告诉你每一个图表怎么用以及它的应用场景
还告诉我们和饼图、柱形图的区别
往下滑,可以看到不同工具的制作教程,当然这里我们需要线上制作。
点击进去按需制作即可。
-END-
欢迎分享转载→ 教你做超惊艳的南丁格尔玫瑰图