可视化 | pyecharts之柱状图常用配置篇
前言
pyecharts的可視化大法,讓人愛不釋手。柱狀圖是我們最為常用的可視化統(tǒng)計(jì)圖,本篇主要介紹了pyecharts的繪制柱狀圖的常用配置,主要包括以下內(nèi)容:
實(shí)例詳解
基礎(chǔ)柱狀圖
from pyecharts import options as opts from pyecharts.charts import *x_index = ["高微","高管","高計(jì)","會(huì)計(jì)","金融","計(jì)算機(jī)"] y_value1 = [85, 90, 95, 75, 92, 98] y_value2 = [95, 88, 85, 96, 87, 76]bar = (Bar().add_xaxis(x_index).add_yaxis("學(xué)生A", y_value1) # y軸設(shè)置.add_yaxis("學(xué)生B", y_value2) # y軸設(shè)置.set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副標(biāo)題")))bar.render_notebook()隱藏圖例標(biāo)簽數(shù)字
在系列配置項(xiàng)中set_series_opts()的標(biāo)簽設(shè)置
label_opts=opts.LabelOpts(is_show=False),False為隱藏?cái)?shù)字
from pyecharts import options as opts from pyecharts.charts import *x_index = ["高微","高管","高計(jì)","會(huì)計(jì)","金融","計(jì)算機(jī)"] y_value1 = [85, 90, 95, 75, 92, 98] y_value2 = [95, 88, 85, 96, 87, 76]bar = (Bar().add_xaxis(x_index).add_yaxis("學(xué)生A", y_value1) # y軸設(shè)置.add_yaxis("學(xué)生B", y_value2) # y軸設(shè)置.set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副標(biāo)題")).set_series_opts(label_opts=opts.LabelOpts(is_show=False)))bar.render_notebook()坐標(biāo)軸名稱命名
全局配置項(xiàng)中,yaxis_opts=opts.AxisOpts(name)以及xaxis_opts=opts.AxisOpts(name)參數(shù)設(shè)置
from pyecharts import options as opts from pyecharts.charts import *x_index = ["高微","高管","高計(jì)","會(huì)計(jì)","金融","計(jì)算機(jī)"] y_value1 = [85, 90, 95, 75, 92, 98] y_value2 = [95, 88, 85, 96, 87, 76]bar = (Bar().add_xaxis(x_index).add_yaxis("學(xué)生A", y_value1, stack = "stack1") # y軸設(shè)置.add_yaxis("學(xué)生B", y_value2) # y軸設(shè)置.set_global_opts(title_opts=opts.TitleOpts(title="坐標(biāo)軸命名"),yaxis_opts=opts.AxisOpts(name="課程成績(jī)"),xaxis_opts=opts.AxisOpts(name="課程類別")).set_series_opts(label_opts=opts.LabelOpts(is_show=False)) )bar.render_notebook()旋轉(zhuǎn)x軸標(biāo)簽
全局配置項(xiàng)中,xaxis_opts=opts.AxisOpts(totate)參數(shù)設(shè)置,rotate = -15,垂直x軸標(biāo)簽?zāi)鏁r(shí)針旋轉(zhuǎn)15度
from pyecharts import options as opts from pyecharts.charts import *x_index = ["很長(zhǎng)很長(zhǎng)的高微","很長(zhǎng)很長(zhǎng)的高管","很長(zhǎng)很長(zhǎng)的高計(jì)","很長(zhǎng)很長(zhǎng)的會(huì)計(jì)","很長(zhǎng)很長(zhǎng)的金融","很長(zhǎng)很長(zhǎng)的計(jì)算機(jī)"] y_value2 = [95, 88, 85, 96, 87, 76]bar = (Bar().add_xaxis(x_index).add_yaxis("學(xué)生A", y_value1) # y軸設(shè)置.add_yaxis("學(xué)生B", y_value2) # y軸設(shè)置.set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),title_opts=opts.TitleOpts(title="旋轉(zhuǎn)x軸標(biāo)簽", subtitle="我是副標(biāo)題")).set_series_opts(label_opts=opts.LabelOpts(is_show=False)) )bar.render_notebook()旋轉(zhuǎn)坐標(biāo)軸
系列配置項(xiàng)中,reversal_axis(),label_opts=opts.LabelOpts(position=“right”)
from pyecharts import options as opts from pyecharts.charts import *x_index = ["高微","高管","高計(jì)","會(huì)計(jì)","金融","計(jì)算機(jī)"] y_value1 = [85, 90, 95, 75, 92, 98] y_value2 = [95, 88, 85, 96, 87, 76]bar = (Bar().add_xaxis(x_index).add_yaxis("學(xué)生A", y_value1, stack = "stack1") # y軸設(shè)置.add_yaxis("學(xué)生B", y_value2) # y軸設(shè)置.reversal_axis().set_global_opts(title_opts=opts.TitleOpts(title="旋轉(zhuǎn)坐標(biāo)軸")).set_series_opts(label_opts=opts.LabelOpts(is_show=False,position="right")) )bar.render_notebook()增加標(biāo)記線或者標(biāo)記點(diǎn)
一、指定值的標(biāo)記線
在系列配置項(xiàng)中set_series_opts()的markline_opts=opts.MarkLineOpts()
from pyecharts import options as opts from pyecharts.charts import *x_index = ["高微","高管","高計(jì)","會(huì)計(jì)","金融","計(jì)算機(jī)"] y_value1 = [85, 90, 95, 75, 92, 98] y_value2 = [95, 88, 85, 96, 87, 76]bar = (Bar().add_xaxis(x_index).add_yaxis("學(xué)生A", y_value1) # y軸設(shè)置.add_yaxis("學(xué)生B", y_value2) # y軸設(shè)置.set_global_opts(title_opts=opts.TitleOpts(title="增加標(biāo)記線", subtitle="我是副標(biāo)題")).set_series_opts(label_opts=opts.LabelOpts(is_show=False),markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(y=75, name="yAxis=75")])) # 75分合格線)bar.render_notebook()二、平均值、最小值、最大值的標(biāo)記線
from pyecharts import options as opts from pyecharts.charts import *x_index = ["高微","高管","高計(jì)","會(huì)計(jì)","金融","計(jì)算機(jī)"] y_value1 = [85, 90, 95, 75, 92, 98] y_value2 = [95, 88, 85, 96, 87, 76]bar = (Bar().add_xaxis(x_index).add_yaxis("學(xué)生A", y_value1) # y軸設(shè)置#.add_yaxis("學(xué)生B", y_value2) # y軸設(shè)置.set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副標(biāo)題")).set_series_opts(label_opts=opts.LabelOpts(is_show=False),markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(type_="min", name="最小值"),opts.MarkLineItem(type_="max", name="最大值"),opts.MarkLineItem(type_="average", name="平均值")])))bar.render_notebook()三、增加標(biāo)記點(diǎn)
從“線型”替換成“點(diǎn)型”,markline_opts參數(shù)設(shè)置變?yōu)閙arkpoint_opts
from pyecharts import options as opts from pyecharts.charts import *x_index = ["高微","高管","高計(jì)","會(huì)計(jì)","金融","計(jì)算機(jī)"] y_value1 = [85, 90, 95, 75, 92, 98] y_value2 = [95, 88, 85, 96, 87, 76]bar = (Bar().add_xaxis(x_index).add_yaxis("學(xué)生A", y_value1) # y軸設(shè)置.add_yaxis("學(xué)生B", y_value2) # y軸設(shè)置.set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副標(biāo)題")).set_series_opts(label_opts=opts.LabelOpts(is_show=False),markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="min", name="最小值"),opts.MarkPointItem(type_="max", name="最大值"),opts.MarkPointItem(type_="average", name="平均值")])))bar.render_notebook()柱子寬度設(shè)置
.add_yaxis(category_gap=“80%”)參數(shù)設(shè)置,值越大表明柱子間的間距越大,柱子寬度越小
from pyecharts import options as opts from pyecharts.charts import *x_index = ["高微","高管","高計(jì)","會(huì)計(jì)","金融","計(jì)算機(jī)"] y_value1 = [85, 90, 95, 75, 92, 98] y_value2 = [95, 88, 85, 96, 87, 76]bar = (Bar().add_xaxis(x_index).add_yaxis("學(xué)生A", y_value1, category_gap="50%") # y軸設(shè)置.add_yaxis("學(xué)生B", y_value2, category_gap="50%") # y軸設(shè)置.set_global_opts(title_opts=opts.TitleOpts(title="柱子寬度設(shè)置", subtitle="我是副標(biāo)題")).set_series_opts(label_opts=opts.LabelOpts(is_show=False)) )bar.render_notebook()不同系列柱間距離
.add_yaxis(gap=“0%”)參數(shù)設(shè)置,,值越小表明不同系列之間的柱間距離越小
from pyecharts import options as opts from pyecharts.charts import *x_index = ["高微","高管","高計(jì)","會(huì)計(jì)","金融","計(jì)算機(jī)"] y_value1 = [85, 90, 95, 75, 92, 98] y_value2 = [95, 88, 85, 96, 87, 76]bar = (Bar().add_xaxis(x_index).add_yaxis("學(xué)生A", y_value1, gap="0%") # y軸設(shè)置.add_yaxis("學(xué)生B", y_value2, gap="0%") # y軸設(shè)置.set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副標(biāo)題")).set_series_opts(label_opts=opts.LabelOpts(is_show=False),markline_opts=opts.MarkLineOpts(data=[opts.MarkLineItem(y=75, name="yAxis=75")])) # 75分合格線)bar.render_notebook()自定義柱狀顏色
.add_yaxis()參數(shù)設(shè)置,itemstyle_opts=opts.ItemStyleOpts(color)
from pyecharts import options as opts from pyecharts.charts import *x_index = ["高微","高管","高計(jì)","會(huì)計(jì)","金融","計(jì)算機(jī)"] y_value1 = [85, 90, 95, 75, 92, 98] y_value2 = [95, 88, 85, 96, 87, 76]bar = (Bar().add_xaxis(x_index).add_yaxis("學(xué)生A", y_value1, itemstyle_opts=opts.ItemStyleOpts(color="gray")) # y軸設(shè)置.add_yaxis("學(xué)生B", y_value2, itemstyle_opts=opts.ItemStyleOpts(color="black")) # y軸設(shè)置.set_global_opts(title_opts=opts.TitleOpts(title="Bar-基本示例", subtitle="我是副標(biāo)題")).set_series_opts(label_opts=opts.LabelOpts(is_show=False)))bar.render_notebook()柱狀堆疊
.add_yaxis()參數(shù)設(shè)置,stack參數(shù)設(shè)置
from pyecharts import options as opts from pyecharts.charts import *x_index = ["高微","高管","高計(jì)","會(huì)計(jì)","金融","計(jì)算機(jī)"] y_value1 = [85, 90, 95, 75, 92, 98] y_value1plus = [10, 10, 10, 10, 10, 10] #學(xué)生1三好學(xué)生每門課程加10分 y_value2 = [95, 88, 85, 96, 87, 76]bar = (Bar().add_xaxis(x_index).add_yaxis("學(xué)生A", y_value1, stack = "stack1") # y軸設(shè)置.add_yaxis("加分", y_value1plus, stack = "stack1") # y軸設(shè)置.add_yaxis("學(xué)生B", y_value2) # y軸設(shè)置.set_global_opts(title_opts=opts.TitleOpts(title="柱狀堆疊", subtitle="我是副標(biāo)題")).set_series_opts(label_opts=opts.LabelOpts(is_show=False)) )bar.render_notebook()在柱狀圖中同時(shí)繪制折線圖
import pyecharts.options as opts from pyecharts.charts import *x_index = ["高微","高管","高計(jì)","會(huì)計(jì)","金融","計(jì)算機(jī)"] y_value1 = [85, 90, 95, 75, 92, 98] classrank = [30, 25, 10, 60, 15, 5]bar = (Bar(init_opts=opts.InitOpts(width="800px", height="400px")).add_xaxis(xaxis_data=x_index).add_yaxis(series_name="課程成績(jī)",y_axis=y_value1,category_gap="50%",label_opts=opts.LabelOpts(is_show=False)).extend_axis( # 第二坐標(biāo)軸yaxis=opts.AxisOpts(name="課程排名",type_="value",min_=0,max_=100,interval=20,axislabel_opts=opts.LabelOpts(formatter="{value} %") # 設(shè)置坐標(biāo)軸格式)).set_global_opts(tooltip_opts=opts.TooltipOpts(is_show=True, trigger="axis", axis_pointer_type="cross"),xaxis_opts=opts.AxisOpts(type_="category",axispointer_opts=opts.AxisPointerOpts(is_show=True, type_="shadow"),),yaxis_opts=opts.AxisOpts(name="課程成績(jī)",type_="value",min_=0,max_=100,interval=20,axislabel_opts=opts.LabelOpts(formatter="{value} 分"), # 設(shè)置坐標(biāo)軸格式axistick_opts=opts.AxisTickOpts(is_show=True),splitline_opts=opts.SplitLineOpts(is_show=True),),) )line = (Line().add_xaxis(xaxis_data=x_index).add_yaxis(series_name="課程成績(jī)",yaxis_index=1,y_axis=classrank,itemstyle_opts=opts.ItemStyleOpts(color="blue"),label_opts=opts.LabelOpts(is_show=False),z=2 # 使折線圖顯示在柱狀圖上面) )bar.overlap(line).render_notebook()參考資料
[1]https://gallery.pyecharts.org/#/Bar/README
總結(jié)
以上是生活随笔為你收集整理的可视化 | pyecharts之柱状图常用配置篇的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux7 (RHEL7.5)超详细系
- 下一篇: 为什么“高大上”的算法工程师变成了数据民