南丁格尔玫瑰图的介绍和多种方法制作探讨及分析

1.南丁格尔图


南丁格尔玫瑰图的介绍和多种方法制作探讨及分析


1.1 又叫:南丁格尔玫瑰图、鸡冠花图或极坐标区域图。

1.2 比如:

最近全国的抗击新冠病毒时,央视新闻和人民日报的这几张数据可视化图,很直观、很贴切

反映了当前医护人员逆行且在抗击疫情的第一线。

图1和2


南丁格尔玫瑰图的介绍和多种方法制作探讨及分析


南丁格尔玫瑰图的介绍和多种方法制作探讨及分析


2.为什么选择南丁格尔图呢?

2.1 一个是数据可视化效果明显。

2.2 更重要的是纪念南丁格尔。

2.3 更是符合目前医护人员冲锋在抗击疫情的第一线,向医护人员致敬。


3.南丁格尔介绍

(1820年5月12日-1910年8月13日),

是一位英国护士和统计学家。

于1853年成为伦敦慈善医院的护士长。

是现代西医学上的第一位护士。


4.如何制作南丁格尔图呢?

4.1 网上有介绍商用在线制图软件等,此处略。

4.2 今天我自己探讨尝试其他方法,看看行不行,顺带复习python的相关知识。

=================================

★注意:以下数据不一定真实,仅供学习★

=================================

5.pyecharts法

5.1 代码:

<code>#pyecharts版本v1.0

#xuguojun

#python3.8

#-*- coding: utf-8 -*-

#导出模块

from pyecharts import options as opts

from pyecharts.charts import Pie

#定义数据

name=['辽宁1天','湖南2天','天津3天','河北3天','四川3天','江西3天','安徽3天','上海4天','福建4天','河南4天','山西6天','广西6天','重庆6天','吉林7天','黑龙江8天','云南10天','陕西11天','海南11天','内蒙古12天','江苏12天','甘肃13天','新疆(含兵团)13天','贵州14天','青海25天','西藏32天']

data=[1,2,3,3,3,3,3,4,4,4,6,6,6,7,8,10,11,11,12,12,13,13,14,25,32]

color=['orange','orange','darkorange','darkorange','darkorange','#f47920','#f58220','#d64f44','#d93a49','#a7324a','#8552a1','#694d9f','#694d9f','#2b4490','#2a5caa','#224b8f','#426ab3','#4e72b8','#008792','#65c294','#45b97c','#78a355','#7fb80e','#bed742','#ffc20e']

#注意格式和注释说明

c = (

#其实就是一个带空心圆的pie饼图

Pie()

.add(

"", #这个空格的双引号不能少

#注意字典打包法

[list(z) for z in zip(name, data)],

# radius第一个外半径,第2个参数内半径

radius=["20%", "80%"],

#图形和legend的位置,居中

#center = [x,y],x为横坐标,y为纵坐标

center=["50%", "50%"],



is_clockwise=False, #顺时针true,逆时针false

#rosetype="radius", #radius:扇区圆心角展现数据的百分比

rosetype="area", #area:所有扇区圆心角相同,半径展现数据大小

#这个是false就是不显示带导线的外标签

#在add内的是局部设定,如果是全局设定那就是.set如下

label_opts=opts.LabelOpts(is_show=False),

)

# set_colors设置颜色,可以用列表形式

.set_colors(color) #不设置就是默认,这是单独设置的

.set_global_opts(title_opts=opts.TitleOpts(title="南丁格尔玫瑰图pyecharts法"),

# orient="vertical"设置图例垂直

legend_opts=opts.LegendOpts(orient="vertical",pos_top="15%",pos_right="2%")



)

)

#显示图,名字和格式,默认根目录下,双击打开即可

c.render('xgbd.html')/<code>

5.2 图


南丁格尔玫瑰图的介绍和多种方法制作探讨及分析


6.matplotlib-radar法

6.1 代码:

<code>#xuguojun

#python3.8

#-*- coding: utf-8 -*-

#导出模块

import numpy as np

import matplotlib.pyplot as plt

from matplotlib.patches import Circle

# 导出通用字体设置

from matplotlib import font_manager

#facecolor=color='b',linestyle='--' or '-'

#r=-1000,为内圆的半径,向内画圆形

cir = Circle(xy = (0.0, 0.0), radius=1000,color='w')

# 本机设置:华文仿宋=hwfs,引出字体模块和位置

my_font = font_manager.FontProperties(fname="hwfs.ttf",size=20)

#定义对应颜色

color=['orange','orange','darkorange','darkorange','darkorange','#f47920','#f58220','#d64f44','#d93a49','#a7324a','#8552a1','#694d9f','#694d9f','#2b4490','#2a5caa','#224b8f','#426ab3','#4e72b8','#008792','#65c294','#45b97c','#78a355','#7fb80e','#bed742','#ffc20e']

labels =['辽宁1天','湖南2天','天津3天','河北3天','四川3天','江西3天','安徽3天','上海4天','福建4天','河南4天','山西6天','广西6天','重庆6天','吉林7天','黑龙江8天','云南10天','陕西11天','海南11天','内蒙古12天','江苏12天','甘肃13天','新疆(含兵团)13天','贵州14天','青海25天','西藏32天'] # 标签


#建立一个画布

fig=plt.figure() #默认figsize=(8,3),就是800×300

#建立一个坐标系,projection='polar'表示极坐标

ax = fig.add_subplot(111,projection='polar')

ax.add_patch(cir)

#代表从起点np.pi位置,开始加10个,因为width是np.pi/5,所以逐个加角度

#注意0.5pi就是垂直90°开始,但是有一个宽度问题,且i从0取值

x1=[np.pi*0.55+np.pi*i*2/25 for i in range(0,25)]

#雷达背景网格线默认on,设置off就是不显示

ax.axis('off')

#values=[1,2,3,3,3,3,3,4,4,4,6,6,6,7,8,10,11,11,12,12,13,13,14,25,32]

#y1代表扇形bar高低,这里的数值是示意图,如果采用上面的values值,那就显示不好看

y1=[1500,1500,1500,1700,1900,2000,2100,2200,2200,2200,2200,2300,2300,2500,2500,2500,2600,2700,2800,2800,2900,2900,3000,3500,4100]

#注意width 5分之π,就是10个柱子连在一起

#画25组扇形设置,x1位置,高低height,宽度width,颜色设置

ax.bar(x=x1, height=y1,width=np.pi*2/25,color=color,edgecolor='w')

#画中心白色圆圈,半径1000


y2=[1000 for i in range(0,25)]

#w=white=白色

ax.bar(x=x1, height=y2,width=np.pi/5,color='w',edgecolor='w')

#增加u和fontproperties=my_font,可加u可不加u

plt.title(u'南丁格尔玫瑰图matplotlib-radar法',fontproperties=my_font)

plt.show()/<code>

6.2 图


南丁格尔玫瑰图的介绍和多种方法制作探讨及分析


7.echarts法:

7.1 代码:注意保存后,文件名:xxx.html

<code>




















/<code>

7.2 讲后缀改为xxx.html,双击打开即可

7.3 图


南丁格尔玫瑰图的介绍和多种方法制作探讨及分析


8.excel法

8.1.新建一个excel

注意本机是wps的excel,后缀是xls,与差不多操作

8.2.新建一组25×9的表格,全部为1

图e1


南丁格尔玫瑰图的介绍和多种方法制作探讨及分析


8.3.选中----插入----二维饼图----环形图,如图e2


南丁格尔玫瑰图的介绍和多种方法制作探讨及分析


8.4.点击圆环内圆,单击右键----弹出:选系列1或者1~9都可以,最好是1,就是第1列

调节圆环图内径大小一个合适的内圆

图e3


南丁格尔玫瑰图的介绍和多种方法制作探讨及分析


8.5.然后对局部颜色进行调整,很麻烦。

8.6.完成

图e4


南丁格尔玫瑰图的介绍和多种方法制作探讨及分析

小结完成。

向医护人员致敬!

向南丁格尔护士致敬!

向央视新闻和人民日报的制图人员致敬!


分享到:


相關文章: