Python可视化,pyecharts绘制玫瑰图展现新冠肺炎全球形势

更多文章,可关注微信公众号:Excel办公小技巧

 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 pdfrom pyecharts.charts import Piefrom pyecharts import options as optsfrom 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):

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章