用pyecharts畫柱狀圖和餅狀圖

用pyecharts畫柱狀圖


from pyecharts import options as opts

from pyecharts.charts import Bar

hamburger = {
    '熱量' : 250,
    '脂肪' : 10,
    '碳水化合物' : 20,
    '蛋白質' : 10
}

x = ['漢堡','飯糰','粥','雞肉']
y1 = [250,200,50,255]
y2 = [10,11,1.5,15]
y3 = [20,21,8,10]
y4 = [10,6,2.5,21]

c = Bar()
# x軸
c.add_xaxis(x)
# y軸
# stack值相同柱狀圖就會堆疊
c.add_yaxis("熱量", y1, stack="stack1")
c.add_yaxis("脂肪", y2, stack="stack1")
c.add_yaxis("碳水化合物", y3, stack="stack1")
c.add_yaxis("蛋白質", y4, stack="stack1")

# reversal_axis方法是反轉xy軸
# c.reversal_axis()
# False則不顯示y軸的值,默認爲顯示
c.set_series_opts(label_opts=opts.LabelOpts(is_show=False),
                  #markpoint_opts指定類型
             #      markpoint_opts=opts.MarkPointOpts(
             #            data = [
             #                opts.MarkPointItem(type_="max", name="最大值"),
             #                opts.MarkPointItem(type_="min", name="最小值"),
             #                 ]
             # )
)
c.set_global_opts(title_opts=opts.TitleOpts(title="主食營養分佈"),
                  # datazoom_opts水平顯示,vertical垂直顯示
                  # datazoom_opts=opts.DataZoomOpts(orient="vertical")
                  )
#c.render_notebook()
c.render('主食營養分佈.html')

用pyechats畫餅狀圖

from pyecharts import options as opts

from pyecharts.charts import Bar,Pie
c = Pie()
c.add(
        "",
        [list(z) for z in zip(["熱量", "脂肪",'碳水化合物','蛋白質'],
                              [31,2,1.5, 3])],
        # center爲圓心座標
        center=["20%", "50%"],
        # 60爲內半徑,80爲外半徑
        radius=[60, 80],
    )
c.add(
        "",
        [list(z) for z in zip(["熱量", "脂肪",'碳水化合物','蛋白質'],
                              [100,4,12, 4])],
        center=["55%", "50%"],
        radius=[60, 80],
    )
c.set_global_opts(
        title_opts=opts.TitleOpts(title="豆漿(左)咖啡(右)"),
        legend_opts=opts.LegendOpts(
            type_="scroll", pos_top="200%", pos_left="80%", orient="vertical"
        ),
    )
# 設置顯示百分比
c.set_series_opts(
        tooltip_opts=opts.TooltipOpts(
            trigger="item", formatter="{a} <br/>{b}: {c} ({d}%)"
        ))
c.render('豆漿咖啡.html')
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章