快捷搜索:  汽车  科技

沙漠玫瑰花图纸如何配比(南丁格尔玫瑰图的介绍和多种方法制作探讨及分析)

沙漠玫瑰花图纸如何配比(南丁格尔玫瑰图的介绍和多种方法制作探讨及分析)2.2 更重要的是纪念南丁格尔。2.1 一个是数据可视化效果明显。反映了当前医护人员逆行且在抗击疫情的第一线。图1和22.为什么选择南丁格尔图呢?

1.南丁格尔图

沙漠玫瑰花图纸如何配比(南丁格尔玫瑰图的介绍和多种方法制作探讨及分析)(1)

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

1.2 比如:

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

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

图1和2

沙漠玫瑰花图纸如何配比(南丁格尔玫瑰图的介绍和多种方法制作探讨及分析)(2)

沙漠玫瑰花图纸如何配比(南丁格尔玫瑰图的介绍和多种方法制作探讨及分析)(3)

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 代码:

#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')

5.2 图

沙漠玫瑰花图纸如何配比(南丁格尔玫瑰图的介绍和多种方法制作探讨及分析)(4)

6.matplotlib-radar法

6.1 代码:

#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()

6.2 图

沙漠玫瑰花图纸如何配比(南丁格尔玫瑰图的介绍和多种方法制作探讨及分析)(5)

7.echarts法:

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

<!DOCTYPE html> <html style="height: 100%"> <head> <meta charset="utf-8"> </head> <body style="height: 100%; margin: 0"> <div id="container" style="height: 100%"></div> <!---在线地址引用法echarts.min.js---> <script type="text/javascript" src="https://cdn.jsdelivr.net/npm/echarts/dist/echarts.min.js"></script> <script type="text/javascript"> var dom = document.getElementById("container"); var myChart = echarts.init(dom); var app = {}; option = null; option = { title: { text: '南丁格尔玫瑰图echarts法' //不需要subtext //subtext: '南丁格尔玫瑰图' x: 'center' } //环扇形的对应颜色 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'] // tooltip: { trigger: 'item' // {b}指series.data的name formatter: "{b} " } //图形圆中间文字 graphic:{ type:"text" left:"center" top:"center" style:{text:"多个省区市\n确诊病例连续多日\n零新增" textAlign:"center" fill:"black" fontSize:12} } // show=false=不显示,true就是显示 legend: {show:false x: 'center' y: 'bottom' 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天'] } //右上角的toolbox=工具箱,显示 toolbox: { show: true feature: { mark: {show: true} dataView: {show: true readOnly: false} magicType: {show: true type: ['pie' 'funnel']} restore: {show: true} saveAsImage: {show: true} } } calculable: true series: [ {stack: 'a' type: 'pie' clockwise:false //默认顺时针,饼图的扇区是否是顺时针排布。 minAngle: 15 //最小角度 f防止数值太小,角度太小不好看,模拟 startAngle:90 //起始角度 radius: [60 300] //roseType:false //是否展示成南丁格尔图,通过半径区分数据大小。 //可选择两种模式:'radius' 扇区圆心角展现数据的百分比,半径展现数据的大小。 //'area' 所有扇区圆心角相同,仅通过半径展现数据大小。 roseType: 'area' // 表格线宽度和长度 // labelLine: {normal: {lineStyle: {width: 1} length: 2}} // 设置值域的标签,奇怪,加入label后,外面的线条和指示标签就没了 // 搞懂了,如果没有下面的label设置,那就是默认outer的label // 所以有了inner,那么上面的labelline就是不需要单独设置,注释掉 label: {show:false normal: { // inside=inner在里面 position: 'inside' // 设置标签位置,默认在饼状图外 可选值:'outer' ¦ 'inner(饼状图上)' // formatter: '{a} {b} : {c}个 ({d}%)' 设置标签显示内容 ,默认显示{b} // {a}指series.name {b}指series.data的name // {c}指series.data的value 因为我的v值是示意值,不是真实的 {d}%指这一部分占总数的百分比 // 注意formatter的格式与pyecharts一样 formatter: '{b}' } } data: // 为了显示好看,下面的数据是不真实的 [ {value: 10 name: '辽宁1天'} {value: 15 name: '湖南2天'} {value: 20 name: '天津3天'} {value: 20 name: '河北3天'} {value: 20 name: '四川3天'} {value: 20 name: '江西3天'} {value: 20 name: '安徽3天'} {value: 25 name: '上海4天'} {value: 25 name: '福建4天'} {value: 25 name: '河南4天'} {value: 30 name: '山西6天'} {value: 30 name: '广西6天'} {value: 30 name: '重庆6天'} {value: 35 name: '吉林7天'} {value: 40 name: '黑龙江8天'} {value: 45 name: '云南10天'} {value: 50 name: '陕西11天'} {value: 50 name: '海南11天'} {value: 55 name: '内蒙古12天'} {value: 55 name: '江苏12天'} {value: 60 name: '甘肃13天'} {value: 60 name: '新疆(含兵团)13天'} {value: 65 name: '贵州14天'} {value: 90 name: '青海25天'} {value: 120 name: '西藏32天'} ] //数据列表内容 } //stack内容 //series列表内容 ] //option内容,很关键的位置,注意大括号和分号 }; if(option && typeof option === "object") {myChart.setOption(option true)} </script> </body> </html>

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

7.3 图

沙漠玫瑰花图纸如何配比(南丁格尔玫瑰图的介绍和多种方法制作探讨及分析)(6)

8.excel法

8.1.新建一个excel

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

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

图e1

沙漠玫瑰花图纸如何配比(南丁格尔玫瑰图的介绍和多种方法制作探讨及分析)(7)

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

沙漠玫瑰花图纸如何配比(南丁格尔玫瑰图的介绍和多种方法制作探讨及分析)(8)

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

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

图e3

沙漠玫瑰花图纸如何配比(南丁格尔玫瑰图的介绍和多种方法制作探讨及分析)(9)

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

8.6.完成

图e4

沙漠玫瑰花图纸如何配比(南丁格尔玫瑰图的介绍和多种方法制作探讨及分析)(10)

小结完成。

向医护人员致敬!

向南丁格尔护士致敬!

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

猜您喜欢: