pyecharts应用2 柱状图
0 涉及網站
pyecharts 官方文檔? https://pyecharts.org/#/zh-cn/intro
pyecharts 官方展示? http://pyecharts.herokuapp.com/
系列配置項? ? https://pyecharts.org/#/zh-cn/series_options
ToolboxOpts:工具箱配置項
https://pyecharts.org/#/zh-cn/global_options?id=toolboxopts%EF%BC%9A%E5%B7%A5%E5%85%B7%E7%AE%B1%E9%85%8D%E7%BD%AE%E9%A1%B9
LegendOpts:圖例配置項
https://pyecharts.org/#/zh-cn/global_options?id=legendopts%EF%BC%9A%E5%9B%BE%E4%BE%8B%E9%85%8D%E7%BD%AE%E9%A1%B9
DataZoomOpts:區域縮放配置項
https://pyecharts.org/#/zh-cn/global_options?id=datazoomopts%EF%BC%9A%E5%8C%BA%E5%9F%9F%E7%BC%A9%E6%94%BE%E9%85%8D%E7%BD%AE%E9%A1%B9
?
1 導入庫
from pyecharts import options as opts from pyecharts.charts import Bar2 普通柱狀圖
c=Bar() c.add_xaxis(['生命值','遠程傷害','攻擊速度','持續時間'])c.add_yaxis('加農炮',[742,175,1,30]) c.add_yaxis('迫擊炮',[1012,183,1,30]) c.add_yaxis('炸彈塔',[1126,184,1.6,25]) c.add_yaxis('特斯拉電塔',[1152,230,1.1,35]) c.add_yaxis('地獄之塔',[1749,848,0.4,30])c.set_global_opts(title_opts=opts.TitleOpts(title='CR單位屬性',subtitle='防御塔'))c.render('cr_base.html')柱狀圖效果圖
相比于matplotlib,這種柱狀圖的好處是,我可以只選定幾欄查看:
3 鏈式實現柱狀圖
c1=(Bar().add_xaxis(['生命值','遠程傷害','攻擊速度','持續時間']).add_yaxis('加農炮',[742,175,1,30]).add_yaxis('迫擊炮',[1012,183,1,30]).add_yaxis('炸彈塔',[1126,184,1.6,25]).add_yaxis('特斯拉電塔',[1152,230,1.1,35]).add_yaxis('地獄之塔',[1749,848,0.4,30]).set_global_opts(title_opts=opts.TitleOpts(title='CR單位屬性',subtitle='防御塔')).render('cr_base1.html') )柱狀圖的效果和2是一樣的
4 is_selected:是否選中圖例
c1=(Bar().add_xaxis(['生命值','遠程傷害','攻擊速度','持續時間']).add_yaxis('加農炮',# 系列名稱,用于 tooltip 的顯示,legend 的圖例篩選。[742,175,1,30],#系列數據is_selected=True,#是否選中圖例).add_yaxis('迫擊炮',[1012,183,1,30],is_selected=False).add_yaxis('炸彈塔',[1126,184,1.6,25],is_selected=False).add_yaxis('特斯拉電塔',[1152,230,1.1,35],is_selected=True).add_yaxis('地獄之塔',[1749,848,0.4,30],is_selected=False).set_global_opts(title_opts=opts.TitleOpts(title='CR單位屬性',subtitle='防御塔')).render('cr_base1.html') )我們在代碼中,設定了“加農炮”和“特斯拉電塔”是is_selected。那么圖是不是這樣的呢?答案是是的
5 stack——疊加柱狀圖
這里還有一條“set_series_opts(?label_opts=opts.LabelOpts(is_show=False))”,加了這條語句之后,就不會顯示柱狀圖上的數字了。
c1=(Bar().add_xaxis(['生命值','遠程傷害','攻擊速度','持續時間']).add_yaxis('加農炮',# 系列名稱,用于 tooltip 的顯示,legend 的圖例篩選。[742,175,1,30],#系列數據stack='3圣水', #數據堆疊,相同的 stack 值可以堆疊放置。 ).add_yaxis('迫擊炮',[1012,183,1,30],stack='5圣水',).add_yaxis('炸彈塔',[1126,184,1.6,25],stack='5圣水',).add_yaxis('特斯拉電塔',[1152,230,1.1,35],stack='4圣水',).add_yaxis('地獄之塔',[1749,848,0.4,30],stack='5圣水',).set_series_opts(label_opts=opts.LabelOpts(is_show=False))#不顯示標簽.set_global_opts(title_opts=opts.TitleOpts(title='CR單位屬性',subtitle='防御塔')).render('cr_base1.html') )?6 color——設置顏色
配置add_yaxis函數的color參數。
優點是方便,缺點是有時會出現顏色錯位。
更好的方法是使用“系列配置項”中的“ItemStyleOpts:圖元樣式配置項”
具體可以見 https://pyecharts.org/#/zh-cn/series_options
7 設置標簽相對于柱狀圖的位置
c1=(Bar().add_xaxis(['生命值','遠程傷害','攻擊速度','持續時間']).add_yaxis('加農炮',# 系列名稱,用于 tooltip 的顯示,legend 的圖例篩選。[742,175,1,30],#系列數據label_opts=opts.LabelOpts(position='insideBottom'),).add_yaxis('迫擊炮',[1012,183,1,30],label_opts=opts.LabelOpts(position='insideTop',font_size=20),) # 設置標簽位置和字號.add_yaxis('炸彈塔',[1126,184,1.6,25],).add_yaxis('特斯拉電塔',[1152,230,1.1,35],).add_yaxis('地獄之塔',[1749,848,0.4,30],).set_global_opts(title_opts=opts.TitleOpts(title='CR單位屬性',subtitle='防御塔')).render('cr_base1.html') )由于后三個是一樣的效果,所以我們點開一個就可以了
8 添加工具欄
前面都不變,改變set_global_opts里面的內容
c.set_global_opts(title_opts=opts.TitleOpts(title='CR單位屬性',subtitle='防御塔'),toolbox_opts=opts.ToolboxOpts(), # 顯示工具欄)看到右上方出現了狀態欄
9 是否顯示圖例
前面都不變,改變set_global_opts里面的內容
c.set_global_opts(title_opts=opts.TitleOpts(title='CR單位屬性',subtitle='防御塔'),legend_opts=opts.LegendOpts(is_show=False) #是否顯示圖例)10 縮放滑塊
前面都不變,改變set_global_opts里面的內容
c.set_global_opts(title_opts=opts.TitleOpts(title='CR單位屬性',subtitle='防御塔'),datazoom_opts=opts.DataZoomOpts(), #Bar-顯示水平方向的縮放滑塊)11 層疊折線與柱狀圖
Faker見?pyecharts應用3 Faker函數庫_劉文巾的博客-CSDN博客
from pyecharts import options as opts from pyecharts.charts import Bar, Line from pyecharts.faker import Fakerv1 = [2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3] v2 = [2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3] v3 = [2.0, 2.2, 3.3, 4.5, 6.3, 10.2, 20.3, 23.4, 23.0, 16.5, 12.0, 6.2]bar = (Bar().add_xaxis(Faker.months).add_yaxis("蒸發量", v1).add_yaxis("降水量", v2)#到這里和之前的柱狀圖都是一樣的.extend_axis(yaxis=opts.AxisOpts(axislabel_opts=opts.LabelOpts(formatter="{value} °C"), interval=5))#添加一個新的坐標軸(副y坐標,右邊的y的格式).set_series_opts(label_opts=opts.LabelOpts(is_show=False))#不顯示柱狀圖的標簽.set_global_opts(title_opts=opts.TitleOpts(title="Overlap-bar+line"),yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(formatter="{value} ml")),)#主y坐標(左邊的y)的格式 )line = Line().add_xaxis(Faker.months).add_yaxis("平均溫度", v3, yaxis_index=1) #yaxis_index=1的意思是使用第1個坐標(坐標編號從0開始,0是主坐標,1是副坐標)bar.overlap(line) #line也畫在柱狀圖上bar.render("cr_base1.html")總結
以上是生活随笔為你收集整理的pyecharts应用2 柱状图的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pyecharts应用3 Faker函数
- 下一篇: 博弈论笔记:不完全信息与声誉