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

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