本文主要是介绍Python可视化,pyecharts绘制玫瑰图展现新冠肺炎全球形势,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
欢迎关注微信公众号:excelwork
“ Python进行数据可视化第一篇,利用pyecharts绘制玫瑰图,来展示截至目前新冠肺炎造成的全球确诊病例分布情况。”
01
—
pyecharts准备工作
1.1 实现玫瑰图的方式
首先,得确定用什么方式才能绘制出玫瑰图,pycharts中,使用Pie绘制饼图,默认参数绘制出来是我们熟悉的饼图:
通过rosetype等于area或者radius得到玫瑰图,其中:
-
area得到的各piece角度相同,半径反应数据大小;
-
radius的角度反应数据的百分比,半径反应数据大小。
比如我们看到人民网微博每天发的疫情图就是绘制的玫瑰图(个别国家扇形太长了,就不贴图了)。
1.2 图表关键配置
本次绘制将会用到下面的包、函数或参数配置:
-
is_closewise参数:设置扇形排列方向。add函数中使用,True时为顺时针,False时为逆时针
-
theme参数:设置主题。导入ThemeType后,在add函数内使用;
-
set_global_opts函数:全局配置;
-
set_series_opts函数:标签设置;
-
radius=数组,第一项是内半径,第二项是外半径。
-
具体配置:通过导入options实现。
02
—
绘制玫瑰图
2.1 导入相关包
pandas读取保存疫情数据的CSV文件、Pie绘制图形、options导入配置、 ThemeType设置整体主题风格。
import pandas as pd
from pyecharts.charts import Pie
from pyecharts import options as opts
from pyecharts.globals import ThemeType
2.2 导入数据
数据来自akshare:
data = pd.read_csv('covid190623.csv',encoding='gbk')
2.3 参数配置
全局配置、标签设置、主题风格选择等。
pie = Pie(init_opts=opts.InitOpts(width='1920px', height='1080px',theme=ThemeType.INFOGRAPHIC))#或者自定义颜色
pie.add('', [(a,b) for a,b in zip(data['country'], data['confirm_quantity'])],
radius=["10%", "125%"],
center=["50%", "66%"],
rosetype="area",
is_clockwise = False)
pie.set_global_opts(title_opts=opts.TitleOpts(title='新冠肺炎全球疫情形势',
subtitle='截至6月23日TOP20',
title_textstyle_opts=opts.TextStyleOpts(font_size=35, color='#0c2a46', font_family="Microsoft YaHei", font_weight="bold"),
subtitle_textstyle_opts=opts.TextStyleOpts(font_size=25, color='#0c2a46', font_family="Microsoft YaHei", font_weight="bold"),
pos_left='left', pos_top='top'),
legend_opts=opts.LegendOpts(is_show=True,pos_bottom='15%'),
toolbox_opts=opts.ToolboxOpts(pos_top='75%'))
pie.set_series_opts(label_opts=opts.LabelOpts(is_show=True, position="inside", font_size=10,
formatter="{b}\n{c}", font_style="normal",
font_family="Microsoft YaHei"))
pie.render('新冠肺炎全球疫情形势.html'
绘制结果如下(area):
(radius):
这篇关于Python可视化,pyecharts绘制玫瑰图展现新冠肺炎全球形势的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!