当前位置 博文首页 > 如何利用pyecharts画好看的饼状图

    如何利用pyecharts画好看的饼状图

    作者:南波兔不写巴哥 时间:2021-05-07 18:23

    前言

    使用的pyecharts是v1.0

    这里需要注意,pyecharts0.5的版本和v1.0以上的版本完全不一样,可以说是两个包

    该包能够方便快捷的绘制图形

    饼状图

    圆环

    代码:

    from pyecharts.charts import Pie
    from pyecharts import options as opts
    from pyecharts.render import make_snapshot
    from snapshot_phantomjs import snapshot
    
    def getPie(data,name):
     '''
     style like this https://gallery.pyecharts.org/#/Pie/pie_radius
     样式为 空心 的圆环
     :param data:字典
     :param name:title
     :return:
     '''
     c = (
      Pie()
      .add(
       "",
       [list(z) for z in zip(data.keys(), data.values())],
       radius=["45%", "75%"],#直径
       center=["50%", "56%"],#中心位置
       label_opts=opts.LabelOpts(is_show=False, position="center"),#is_show是否展示数值
      )
      .set_global_opts(
       title_opts=opts.TitleOpts(title=name, pos_top="13",pos_left="1%"),#标题位置
       legend_opts=opts.LegendOpts(orient="vertical", pos_top="25%", pos_left="8%"),#图例位置
      )
      .set_series_opts(label_opts=opts.LabelOpts(formatter="size{b}: {d}%"))#数值表现形式,这里是百分比
    
      # .render("pie_radius.html")
     )
     return c
    
    if __name__=="__main__":
    	data = ##########
    	name = #############
    	make_snapshot(snapshot, getPie(data,name).render(), name+".png")#无法直接存储,所以使用此方法进行存储,将图像绘制,保存在本地
    
    

    效果展示

    (此处是png,背景实际是纯白背景)

    圆饼

    代码

    def getPie1(data,name):
     '''
     style like this https://gallery.pyecharts.org/#/Pie/pie_radius
     样式为 空心 的圆环
     :param data:
     :param name:
     :return:
     '''
     c = (
      Pie()
      .add(
       "",
       [list(z) for z in zip(data.keys(), data.values())],
    
       center=["50%", "56%"],
       label_opts=opts.LabelOpts(is_show=False, position="center"),
      )
      .set_global_opts(
       title_opts=opts.TitleOpts(title=name, pos_top="13",pos_left="1%"),
       legend_opts=opts.LegendOpts(orient="vertical", pos_top="25%", pos_left="8%"),
      )
      .set_series_opts(label_opts=opts.LabelOpts(formatter="size{b}: {d}%"))
    
      # .render("pie_radius.html")
     )
     return c
    
    # 这里main函数省略,和上面的一样
    

    效果展示

    附上pyecharts的官方手册:https://pyecharts.org/#/zh-cn/intro

    总结

    js