使用pyecharts生成疫情的南丁格爾玫瑰圖

需用用到的Python第三方庫:pandas、pyecharts。
效果圖:
在這裏插入圖片描述
這是3月20日的數據。18個省份連續“零報告”。整理後:

import pandas as pd
from pyecharts.charts import Pie
from pyecharts import options as opts
provinces = ['西藏','青海','貴州','江蘇','新疆','內蒙古','海南',
             '吉林','重慶','山西','安徽','江西','河北','湖南','寧夏','河南','雲南','湖北']
num = [51,44,33,31,31,31,30,26,25,25,23,22,22,22,17,9,4,3]
color_series = ['#C9DA36','#9ECB3C','#6DBC49',
                '#3DBA78','#14ADCF','#209AC9',
                '#2C6BA0','#2D3D8E','#6A368B'
                '#7D3990','#A63F98','#C31C88',
                '#D5225B','#D02C2A','#D44C2D',
                '#D99D21','#CF7B25''#CF7B25']

df = pd.DataFrame({'provinces': provinces, 'num': num})
df.sort_values(by='num', ascending=False, inplace=True)

a = df['provinces'].values.tolist()
b = df['num'].values.tolist()

pie1 = Pie(init_opts=opts.InitOpts(width='1350px', height='750px'))

pie1.set_colors(color_series)
# 添加數據,設置餅圖的半徑,是否展示成南丁格爾圖
pie1.add("", [list(z) for z in zip(a, b)],
        radius=["30%", "135%"],
        center=["50%", "65%"],
        rosetype="area"
        )
# 設置全局配置項
pie1.set_global_opts(title_opts=opts.TitleOpts(title='多省區市確診病例連續零新增'),
                     legend_opts=opts.LegendOpts(is_show=False),
                     toolbox_opts=opts.ToolboxOpts())
# 設置系列配置項
pie1.set_series_opts(label_opts=opts.LabelOpts(is_show=True, position="inside", font_size=12,
                                               formatter="{b}:{c}天", font_style="italic",
                                               font_weight="bold", font_family="Microsoft YaHei"
                                               ),
                     )
pie1.render('a.html')
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章