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 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):

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值