利用Python画出《人民日报》各国疫情图——南丁格尔玫瑰图
背景
中国在经历了非典后(2002年在中国广东发生),今年有经历了新冠肺炎,2020年注定是不平凡的一年。前一段时间人民日报的新冠肺炎全球疫情形势可视化图片在朋友圈疯狂传播,相信大部分人都不陌生,如下所示,自己闲暇之余就想用Python来实现一下,如下所示。
SARS事件是指严重急性呼吸综合征(英语:SARS)于2002年在中国广东发生,并扩散至东南亚乃至全球,直至2003年中期疫情才被逐渐消灭的一次全球性传染病疫潮。
实现过程
数据源
各国的数据在网上都能查到,所以数据来源可以有很多方法。
由于自己主要是想画图,所以就直接手动创建了Excel,手动输入数据。数据用到的Python库(轮子 or 模块)
Python在可视化方面有很多的库,比如:Matplotlib、Seaborn、ggplot、Pyecharts等,在这里使用的是最基础的Matplotlib库,数据读取用到的Pandas库,计算时用到Numpy库具体代码如下所示
#导入相应的库
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd#设置字体,可以在图上显示中文
plt.rcParams['font.sans-serif']=['Microsoft YaHei'] #读取数据
data=pd.read_excel('海外疫情.xlsx',index_col=0)#数据计算,这里只取前20个国家
radius = data['累计'][:20]
n=radius.count()
theta = np.arange(0, 2*np.pi, 2*np.pi/n)+2*np.pi/(2*n) #360度分成20分,外加偏移#在画图时用到的 plt.cm.spring_r(r) r的范围要求时[0,1]
radius_maxmin=(radius-radius.min())/(radius.max()-radius.min()) #x-min/max-min 归一化 #画图
fig = plt.figure(figsize=(20,5),dpi=256)
ax = fig.add_subplot(projection='polar') #启用极坐标
bar = ax.bar(theta, radius,width=2*np.pi/n)ax.set_theta_zero_location('N') #分别为N, NW, W, SW, S, SE, E, NE
ax.set_rgrids([]) #用于设置极径网格线显示
# ax.set_rticks() #用于设置极径网格线的显示范围
# ax.set_theta_direction(-1) #设置极坐标的正方向
ax.set_thetagrids([]) #用于设置极坐标角度网格线显示
# ax.set_theta_offset(np.pi/2) #用于设置角度偏离
ax.set_title('新冠肺炎全球疫情形势',fontdict={'fontsize':8}) #设置标题#设置扇形各片的颜色
for r, bar in zip(radius_maxmin, bar):bar.set_facecolor(plt.cm.spring_r(r)) bar.set_alpha(0.8)#设置边框显示
for key, spine in ax.spines.items(): if key=='polar':spine.set_visible(False)plt.show()#保存图片
fig.savefig('COVID.png')
总结
目前自己所实现的比较复杂的图形,有罗兰贝格图、本文的南丁格尔玫瑰图,用到的数据知识相对来说比较多,可见数学基础知识是多么重要,华为任正非的做法非常对,必须得注重基础数学的研发,不能总是在别人的基础之上搞应用,华为才有了今天的成绩。
相关文章
罗兰贝格图--Python等高线图(平滑处理)
http://www.taodudu.cc/news/show-4043786.html
相关文章:
- 禅说派-全图型PPT之图片处理技巧精粹
- 用pyecharts生成仪表盘——将多张图片汇总到一个页面,大屏可视化数据展示
- excel 画散点图 怎么设置图片的分辨率_最全的Excel图表的基本类型与选择
- webstorm绝对路径引入echarts_Webstorm+Webpack+echarts构建个性化定制的数据可视化图表两个echarts详细教程(柱状图,南丁格尔图)...
- Python+matplotlib绘制极坐标柱状图(南丁格尔玫瑰图)
- R-南丁格尔玫瑰图: 仿制效果最好的疫情玫瑰图
- 上传图片接口
- 数据可视化_科学统计图表5——ggplot绘制南丁格尔玫瑰图
- 饼图的属性和南丁格尔双图并列显示
- echarts饼图南丁格尔玫瑰图属性设置
- 跟着“Science”做张24h 南丁格尔玫瑰图吧
- Echarts模板(一):南丁格尔玫瑰图
- 第三方可视化数据分析图表Pyecharts(下载保存图片(生成的html图片)、zip函数(将数据转换为列表加元组的格式)、南丁格尔玫瑰图、双y轴可视化、饼形图和环形图)
- Qt 绘制南丁格尔玫瑰图
- 南丁格尔图形阴影添加
- echart中饼图或者南丁格尔玫瑰图是否显示label或lableLine
- 南丁格尔玫瑰图-修改扇形块的颜色与玫瑰图添加图片与文字
- android图片花,Android中使用Canvas绘制南丁格尔玫瑰图(Nightingale rose diagram)
- 计算机管理 灰色,详解电脑任务管理器变成灰色不可用的解决方法
- Android 界面一键变灰/黑白
- VC++将位图中保存的图像灰化(附源码)
- GM(1,1)灰色预测模型
- Flutter 实现整个App变为灰色
- android 置灰不可点击,Android全局实现控件变灰
- python运行按钮灰色_点击后,tkinter菜单按钮变灰了
- html怎么让图片变灰色,css如何使图片变灰
- html链接变灰,怎么在HTML中设置点击超链接后变成灰色
- 灰灰考研c语言讲义,【灰灰考研】操作系统复习全书.pdf
- 灰灰考研c语言讲义,灰灰考研数据结构全书定稿demo.pdf
- linux远程灰屏,解决配置Ubuntu中vnc远程显示灰屏
利用Python画出《人民日报》各国疫情图——南丁格尔玫瑰图相关推荐
- FineBI04:【案例】稍微复杂的案例:全球疫情分析--南丁格尔玫瑰图
一.目标 在上一个文档,我们讲了一个简单的案例,下面我们根据上一个案例做一个稍微复杂的案例:生成一个南丁格尔玫瑰图. 二.数据准备 下载地址: 链接:https://pan.baidu.com/s/1 ...
- echarts绘制嵌套环形图(南丁格尔玫瑰图)
根据专业总人数和学院总人数绘制嵌套环形图 首先,echarts的基本步骤 引入js,准备容器,初始化实例, <script src="lib/echarts.min.js"& ...
- 雷达图+南丁格尔玫瑰图
具体实现的效果图: 使用的图表插件是echarts,具体的完整代码如下: import * as echarts from 'echarts';var chartDom = document.getE ...
- R语言-南丁格尔玫瑰图
简介 南丁格尔玫瑰图(Nightingale rose chart)即极坐标柱形图,是一种圆形的柱形图.由弗罗伦斯-南丁格尔所发明,普通柱形图的坐标系是直角坐标系,而南丁格尔玫瑰图的坐标系是极坐标系. ...
- 利用Python实现新冠疫情数据可视化(获取疫情历史数据,制作南丁格尔玫瑰图、疫情地图、动态疫情组合图、词云)
文章目录 前言 1.获取疫情历史数据 2.制作南丁格尔玫瑰图 2.1 全球各国确诊人数玫瑰图 2.2 全国各省市零新增天数玫瑰图 3.制作疫情地图 3.1全国各省市目前确诊总人数疫情地图 3.2全球各 ...
- python画玫瑰图_央视都在用的“南丁格尔玫瑰图”,原来Python也可以画
前一阵子,我看到央视新闻中,有一张比较好看数据图,如下: 后来才知道这叫"南丁格尔玫瑰图",是南丁格尔护士在克里米亚战争期间提交的一份关于士兵死伤报告时发明的一种图表. 我心想能不 ...
- python+matplotlib绘制南丁格尔玫瑰图
实验:绘制南丁格尔玫瑰图 本实验有一定难度,有人说matplotlib绘图和matlab大同小异,我看除了一些函数名相同之外,其他的像参数和使用方法很不一样.另外我不知道是不是在matlab中画玫 ...
- 【Python数据分析——使用matplotlib制作南丁格尔玫瑰图】
目录 一.介绍 二.相关库 三.数据准备 四.pyecahrts代码实现 五.matplotlib代码实现 一.介绍 玫瑰图是弗罗伦斯·南丁格尔所发明的.又名为极坐标面积图,是一种圆形的直方图. 南丁 ...
- python实验之绘制南丁格尔玫瑰图
一.实验目的 了解玫瑰图的前世今生:了解 matplotlib 标准库中的 pyplot 模块:了解在极坐标 系中绘制柱状图. 二.实验基本原理及步骤(或方案设计及理论计算) 实验步骤: 查阅文档,了 ...
- Python数据可视化之南丁格尔玫瑰图(亲测)
文章目录 1. 什么是南丁格尔玫瑰图 2. 南丁格尔玫瑰图的绘制 1. 什么是南丁格尔玫瑰图 央视新闻用来展示疫情0增长天数的图就是南丁格尔玫瑰图. 南丁格尔玫瑰图(Nightingale rose ...
最新文章
- 观峰雨个人空间 2010 STOCK ADVICE !
- ▲教你如何轻易的做linux计划任务▲——小菜一碟
- android源码settings中显示所有正在运行进程流程分析
- AI大神贾扬清确认将离开Facebook,加入阿里硅谷研究院
- java websocket 生存期_Java WebSocket生命周期
- mongodb数据导入hbase,spark读取hbase数据分析
- Jquery 安装到Visual Studio 2008
- android导航功能介绍,百度导航功能介绍
- Cortex-A7中断系统
- [小知识] WPS恢复本地历史数据
- pycharm的安装配置及思维导图
- 室内定位方案部署WIFI定位还是IBeacon定位-新导智能
- #最详细# 常见服务器错误
- 我们应当怎样做需求确认:快速原型法
- qt夜神android,夜神安卓模拟器命令行整理贴
- android系列刘海屏适配
- 电脑蓝屏与硬盘温度过高有关系吗?电脑硬盘数据丢失了该怎么恢复?
- 白蛋白纳米粒是一种较好的药物载体|白蛋白普萘洛尔人血清白蛋白HSA纳米粒|的帕西瑞肽牛血清白蛋白BSA纳米粒
- Google Cloud Platform——GCP Messaging
- 站长工具箱-免费站长工具箱软件下载