道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难

嗨, 大家好, 我是Jack, 一名自学python, 目前在一家上市公司工作的小小数据分析师。

如果大家要学python图表动态可视化, 强烈推荐pyechart工具包。首先它是中国制造, 其次确实很好用.

pyechart官网介绍 : Echarts 是一个由百度开源的数据可视化,凭借着良好的交互性,精巧的图表设计,得到了众多开发者的认可。而 Python 是一门富有表达力的语言,很适合用于数据处理。当数据分析遇上数据可视化时,pyecharts 诞生了

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第1张图片
echart官网→

本文我们从柱形图的19种变化, 介绍pyechart的作图套路, 大家可以通过这些技巧扩展到其他的图表类型(曲线图,饼图,散点图等)

目录

  • 1 python软件安装: 清华镜像
  • 2 pyechart工具包安装
  • 3 两种调用方式
    • 3.1 调用方式1: 容易理解
    • 3.2 调用方式2: 简洁
  • 4 作图套路
    • 4.1 坐标轴太长增加旋转: rotate参数
    • 4.2 堆积柱形图: stack参数
    • 4.3 设置不同主题风格: theme参数
    • 4.4 自定义背景色: bg_color参数
    • 4.5 区域选择组件: brush_opts参数
    • 4.6 水平数据缩放: datazoom_opts参数
    • 4.7 右上角显示工具栏: toolbox_opts参数
    • 4.8 提示框: tooltip_opts参数
    • 4.9 坐标轴的名称及位置: axis_opts参数
    • 4.10 y轴标签增加单位: yaxis_opts参数
    • 4.11 标记最大值、最小值: markpoint_opts参数
    • 4.12 柱形图之间间距: category_gap参数
    • 4.13 添加辅助线: markline_opts参数
    • 4.14 系列设置是否默认选中: is_selected参数
    • 4.15 x y轴旋转,形成条形图: reversal_axis()参数
    • 4.18 系列颜色: color参数
    • 4.19 数据标签: is_show参数

1 python软件安装: 清华镜像

python开发软件有很多, 比如pycharm、Jupyter notebook、spyder, 我电脑安装的是anaconda, 它自带jupyter notebook和spyder, 适合初学者.

下载适合自己电脑的版本, 用anaconda最大的优势是基本不用再去安装其他的工具包, 如果手动安装工具包会出现版本不兼容或者要安装很多依赖包的问题。

anaconda清华镜像→
道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第2张图片

2 pyechart工具包安装

pyechart工具包需要手动安装: 请安装V1.0以上版本, pyechartV0.5版本和V1.0版本不兼容

pip install pyecharts -U

3 两种调用方式

pyechart所使用的图表都放在 pyecharts.charts 里面, 每次都需要导入对应的图表, 比如柱形图:

from pyecharts.charts import Bar

还有其他很多, 需要哪几个就导入哪几个

from pyecharts.charts import Bar ,Pie,Grid,Line,Boxplot,Scatter,EffectScatter,Kline,Geo,Pie,Map,Funnel,Gauge,Liquid,Calendar,Polar,Radar,Sunburst,ThemeRiver,WordCloud,Scatter3D,MapGlobe,Sankey
# 柱形图,饼图,组合图,线形图,盒形图,散点图,涟漪图,k线图,地图,饼图,地图,漏斗图,仪表盘图,水球图,日历图,极坐标系,雷达图,旭日图,河流图,词云图,3D散点图,3D地球,桑基图

3.1 调用方式1: 容易理解

from pyecharts.charts import Bar
bar = Bar()
bar.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
bar.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
bar.render()

以上代码翻译大致如下: 从pyecharts.charts工具箱中拿出Bar小工具, 用这个小工具做了一个柱子(还只是毛坯), 然后对柱子进行装饰(添加数据等)

3.1.1 那对柱子可以做哪些装饰呢, 可以从官网的这里面找: 柱形图设置→
道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第3张图片
3.1.2 在对柱子进行装饰的时候, 有时候会对整个图表或者系列进行详细的设置, 就需要用到 .set_global_opts和 .set_series_opts,
道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第4张图片
道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第5张图片

3.2 调用方式2: 简洁

from pyecharts.charts import Bar
bar = (
    Bar()
    .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
    .add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
)
bar.render()

效果和第1种一样, 第1种比较好理解, 第2中比较简洁. 第2种要注意括号要成对出现, 再就是代码末尾逗号问题

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第6张图片
pyechart让人不太好弄懂的地方就是图表元素之间一层层嵌套关系, 接下来我们来一一介绍:

4 作图套路

为了便于理解, 适合工作中使用, 我们用Faker工具包生成模拟数据。
工具包安装:

pip install faker

4.1 坐标轴太长增加旋转: rotate参数

模拟dataframe数据, 如果是excel文件可用pandas.read_excel()读取
4.1.1 数据

import faker
faker.Faker.seed(10)   # 每次随机数不变
import pandas as pd
import numpy as np
np.random.seed(10000)   # 每次随机数不变
f = faker.Faker(locale='zh-CN')

data = pd.DataFrame()
for i in range(10):
    datai = pd.DataFrame({
     '公司':f.company(),
                          '销售额':np.random.randint(100,300,1)},
                          index = [i])
    data = data.append(datai)
data

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第7张图片
4.1.2 作图

from pyecharts import options as opts
from pyecharts.charts import Bar

c = (
    Bar()
    .add_xaxis(data['公司'].tolist())
    .add_yaxis("销售额", data['销售额'].tolist())
    .set_global_opts(
        xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),    # x轴旋转
        title_opts=opts.TitleOpts(title="公司销售额对比", subtitle="x轴文字过长调整"),
    )
    .render("柱形图_x轴旋转.html"))

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第8张图片

pyechart中有很多类似于下面这种写法, 参数一层层嵌套:
.set_global_opts(xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)))
在 pyecharts 中,一切皆 Options。经常用到options 配置项。

除设置rotate外, 还可以设置
is_show: 是否显示 True False
color: 颜色
font_size: 字体大小 整数
font_style: 文字风格 ‘normal’,‘italic’,‘oblique’
font_weight: 字体粗细 ‘normal’,‘bold’,‘bolder’,‘lighter’
font_family: 字体 ‘serif’ , ‘monospace’, ‘Arial’, ‘Courier New’, ‘Microsoft YaHei’,
更多详细设置: 标签配置项

4.2 堆积柱形图: stack参数

4.2.1 模拟数据

import faker
faker.Faker.seed(1)   # 每次随机数不变
import pandas as pd
import numpy as np
np.random.seed(1)   # 每次随机数不变
f = faker.Faker(locale='zh-CN')

data = pd.DataFrame()
for i in range(10):
    datai = pd.DataFrame({
     '员工姓名':f.name(),
                          '1月销售额':np.random.randint(100,300,1),
                         '2月销售额':np.random.randint(100,300,1)},
                          index = [i])
    data = data.append(datai)
data

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第9张图片

4.2.2 作图

from pyecharts import options as opts
from pyecharts.charts import Bar

c = (
    Bar()
    .add_xaxis(data['员工姓名'].tolist())
    .add_yaxis("1月", data['1月销售额'].tolist(), stack="stack1")
    .add_yaxis("2月", data['2月销售额'].tolist(), stack="stack1")
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(title_opts=opts.TitleOpts(title="堆积柱形图"))
    .render("堆积柱形图.html"))

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第10张图片

设置stack参数为同一名称即可

4.3 设置不同主题风格: theme参数

还是以上面的数据为例:
4.3.1 黑色背景

from pyecharts import options as opts
from pyecharts.charts import Bar
c = (
    Bar(init_opts=opts.InitOpts(theme='dark'))
    .add_xaxis(data['员工姓名'].tolist())
    .add_yaxis("1月", data['1月销售额'].tolist(), stack="stack1")
    .add_yaxis("2月", data['2月销售额'].tolist(), stack="stack1")
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(title_opts=opts.TitleOpts(title="堆积柱形图"))
    .render("堆积柱形图_主题.html"))

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第11张图片
4.3.2 蓝色背景

from pyecharts import options as opts
from pyecharts.charts import Bar

c = (
    Bar(init_opts=opts.InitOpts(theme='westeros'))
    .add_xaxis(data['员工姓名'].tolist())
    .add_yaxis("1月", data['1月销售额'].tolist(), stack="stack1")
    .add_yaxis("2月", data['2月销售额'].tolist(), stack="stack1")
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(title_opts=opts.TitleOpts(title="堆积柱形图"))
    .render("堆积柱形图_主题.html"))

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第12张图片

theme参数的15个风格: ‘chalk’,‘dark’, essos’, ‘infographic’, ‘light’, ‘macarons’,
‘purple-passion’, ‘roma’, ‘romantic’, ‘shine’, ‘vintage’, ‘walden’, ‘westeros’, ‘white’, ‘wonderland’

4.4 自定义背景色: bg_color参数

除了设置theme参数外, 还可以通过其他参数修改图表背景色, 还是以上面的数据为例

4.4.1 参数写法1: 16进制格式

from pyecharts import options as opts
from pyecharts.charts import Bar
c = (
    Bar(init_opts=opts.InitOpts(bg_color='#c0fefc'))
    .add_xaxis(data['员工姓名'].tolist())
    .add_yaxis("1月", data['1月销售额'].tolist(), stack="stack1")
    .add_yaxis("2月", data['2月销售额'].tolist(), stack="stack1")
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(title_opts=opts.TitleOpts(title="堆积柱形图"))
    .render("堆积柱形图_背景色.html"))

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第13张图片
4.4.2 参数写法2: RGB值及透明度

from pyecharts import options as opts
from pyecharts.charts import Bar
c = (
    Bar(init_opts=opts.InitOpts(bg_color='rgba(192, 254, 252, 0.2)'))
    .add_xaxis(data['员工姓名'].tolist())
    .add_yaxis("1月", data['1月销售额'].tolist(), stack="stack1")
    .add_yaxis("2月", data['2月销售额'].tolist(), stack="stack1")
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(title_opts=opts.TitleOpts(title="堆积柱形图"))
    .render("堆积柱形图_背景色_透明度.html"))

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第14张图片

bg_color参数的两种颜色设置方法, 16进制格式和RGB格式, 其中RGB格式可设置透明度

4.5 区域选择组件: brush_opts参数

还是以上面的数据为例

from pyecharts import options as opts
from pyecharts.charts import Bar

c = (
    Bar()
    .add_xaxis(data['员工姓名'].tolist())
    .add_yaxis("1月", data['1月销售额'].tolist(), stack="stack1")
    .add_yaxis("2月", data['2月销售额'].tolist(), stack="stack1")
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(title_opts=opts.TitleOpts(title="堆积柱形图"),
                     brush_opts=opts.BrushOpts())
    .render("堆积柱形图_工具栏.html"))

设置brush_opts参数, 更详细的设置可点击→

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第15张图片

设置brush_opts参数, 更多配置项→

4.6 水平数据缩放: datazoom_opts参数

4.6.1 模拟数据

import pandas as pd
import numpy as np
np.random.seed(1)   # 每次随机数不变
data = pd.DataFrame({
     '日期':pd.period_range('2020-1-1',periods=100),
                    '销售额':np.random.randint(100,300,100)})
data

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第16张图片
4.6.2 作图

c = (
    Bar()
    .add_xaxis([str(i) for i in data['日期']])
    .add_yaxis("销售额", data['销售额'].tolist())
    .set_global_opts(
        title_opts=opts.TitleOpts(title="销售额分析"),
        datazoom_opts=opts.DataZoomOpts(),     # 水平缩放  orient="vertical"  垂直数据缩放
    )
    .render("水平缩放.html"))

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第17张图片

datazoom_opts参数, 默认是对x轴设置, orient="vertical"对y轴设置. 更多配置项→

4.7 右上角显示工具栏: toolbox_opts参数

还是以上面的数据为例

c = (
    Bar()
    .add_xaxis([str(i) for i in data['日期']])
    .add_yaxis("销售额", data['销售额'].tolist())
    .set_global_opts(
        title_opts=opts.TitleOpts(title="销售额分析"),
        toolbox_opts=opts.ToolboxOpts(),
    )
    .render("工具栏.html"))

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第18张图片

设置toolbox_opts参数, 更多配置项→

4.8 提示框: tooltip_opts参数

4.8.1 模拟数据

import faker
faker.Faker.seed(10)   # 每次随机数不变
import pandas as pd
import numpy as np
np.random.seed(10)   # 每次随机数不变
f = faker.Faker(locale='zh-CN')

data = pd.DataFrame()
for i in range(10):
    datai = pd.DataFrame({
     '员工姓名':f.name(),
                          '销售额':np.random.randint(100,300,1)},
                          index = [i])
    data = data.append(datai)
data

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第19张图片
4.8.2 作图

from pyecharts import options as opts
from pyecharts.charts import Bar

c = (
    Bar(init_opts=opts.InitOpts(theme='westeros'))
    .add_xaxis(data['员工姓名'].tolist())
    .add_yaxis("", data['销售额'].tolist())
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(title_opts=opts.TitleOpts(title="销售额分析"),
                     tooltip_opts=opts.TooltipOpts(is_show=True, 
                                                   trigger="axis", 
                                                   axis_pointer_type="cross"))
    .render("堆积柱形图_提示框.html"))

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第20张图片

trigger: 提示器三种方式: 'item’数据项图形触发,主要在散点图,饼图等无类目轴的图表中使用,'axis’坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用,'none’什么都不触发
trigger_on: 触发条件, ‘mousemove’: 鼠标移动时触发。 ‘click’: 鼠标点击时触发。‘mousemove|click’: 同时鼠标移动和点击时触发。‘none’: 不在 ‘mousemove’ 或 ‘click’ 时触发,
axis_pointer_type: 提示器类型. ‘line’:直线指示器(默认),‘shadow’:阴影指示器,‘none’:无指示器,‘cross’:十字准星指示器。
提示器更多配置项→

axis_pointer_type 设置成shadow后,效果如下:
道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第21张图片

4.9 坐标轴的名称及位置: axis_opts参数

还是以上面的数据为例

from pyecharts import options as opts
from pyecharts.charts import Bar
c = (
    Bar(init_opts=opts.InitOpts(theme='westeros'))
    .add_xaxis(data['员工姓名'].tolist())
    .add_yaxis("", data['销售额'].tolist())
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(title_opts=opts.TitleOpts(title="销售额分析"),
                     yaxis_opts=opts.AxisOpts(name="销售额",
                     name_location='middle',
                     name_gap=30),    
                     xaxis_opts=opts.AxisOpts(name="姓名",
                     name_location='middle',
                     name_gap=30),    
                    )
    .render("堆积柱形图_轴名称.html"))

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第22张图片

name: 轴名称 ,name_location: 名称位置( ‘start’, ‘middle’ 或者 ‘center’,‘end’),name_gap:坐标轴名称与轴线之间的距离。
更多配置项设置→

4.10 y轴标签增加单位: yaxis_opts参数

以上面数据为例

from pyecharts import options as opts
from pyecharts.charts import Bar
c = (
    Bar(init_opts=opts.InitOpts(theme='westeros'))
    .add_xaxis(data['员工姓名'].tolist())
    .add_yaxis("", data['销售额'].tolist())
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(title_opts=opts.TitleOpts(title="销售额分析"),
                     yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(formatter="{value} /万元"))
                    )
    .render("堆积柱形图_增加单位.html"))

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第23张图片

4.11 标记最大值、最小值: markpoint_opts参数

from pyecharts import options as opts
from pyecharts.charts import Bar

c = (
    Bar(init_opts=opts.InitOpts(theme='westeros'))
    .add_xaxis(data['员工姓名'].tolist())
    .add_yaxis("", data['销售额'].tolist())
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False),
                    markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_="max", name="最大值"),
                                                             opts.MarkPointItem(type_="min", name="最小值")]))
    .set_global_opts(title_opts=opts.TitleOpts(title="销售额分析"))
    .render("堆积柱形图_添加最值.html"))

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第24张图片
4.11.1 自定义标记点

from pyecharts import options as opts
from pyecharts.charts import Bar

c = (
    Bar(init_opts=opts.InitOpts(theme='westeros'))
    .add_xaxis(data['员工姓名'].tolist())
    .add_yaxis("", data['销售额'].tolist())
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False),
                    markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(name="自定义标记点", 
                                                                               coord=[data['员工姓名'][2], 
                                                                                      data['销售额'].tolist()[2]], 
                                                                                      value=data['销售额'].tolist()[2])]))
    .set_global_opts(title_opts=opts.TitleOpts(title="销售额分析"))
    .render("堆积柱形图_自定义标记点.html"))

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第25张图片

name: 标记名称; type_: min,max, average; symbol: 标记点样式 ‘circle’, ‘rect’, ‘roundRect’, ‘triangle’, ‘diamond’, ‘pin’, ‘arrow’, ‘none’
更多配置项→

4.12 柱形图之间间距: category_gap参数

from pyecharts import options as opts
from pyecharts.charts import Bar

c = (
    Bar(init_opts=opts.InitOpts(theme='westeros'))
    .add_xaxis(data['员工姓名'].tolist())
    .add_yaxis("", data['销售额'].tolist(),category_gap="50%")
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(title_opts=opts.TitleOpts(title="销售额分析"))
    .render("堆积柱形图_间距_40%.html"))

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第26张图片

4.13 添加辅助线: markline_opts参数

4.13.1 均值 最大值 最小值

from pyecharts import options as opts
from pyecharts.charts import Bar

c = (
    Bar(init_opts=opts.InitOpts(theme='westeros'))
    .add_xaxis(data['员工姓名'].tolist())
    .add_yaxis("", data['销售额'].tolist())
    .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="平均值")]))
    .set_global_opts(title_opts=opts.TitleOpts(title="销售额分析"))
    .render("堆积柱形图_辅助线.html"))

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第27张图片
4.13.2 自定义参考线

from pyecharts import options as opts
from pyecharts.charts import Bar
c = (
    Bar(init_opts=opts.InitOpts(theme='westeros'))
    .add_xaxis(data['员工姓名'].tolist())
    .add_yaxis("", data['销售额'].tolist())
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False),
                    markline_opts=opts.MarkLineOpts(                            
                        data=[opts.MarkLineItem(y=150, name="水平参考线"),
                              opts.MarkLineItem(x=5, name="垂直参考下")],
                        label_opts= opts.LabelOpts(formatter="{b}"),
                        linestyle_opts=opts.LineStyleOpts(color='#1cc5dc',
                                                          type_='dotted')))
    .set_global_opts(title_opts=opts.TitleOpts(title="销售额分析"))
    .render("堆积柱形图_自定义辅助线.html"))

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第28张图片

更多markline_opts配置项→

4.14 系列设置是否默认选中: is_selected参数

4.14.1 模拟数据

import faker
faker.Faker.seed(1)   # 每次随机数不变
import pandas as pd
import numpy as np
np.random.seed(1)   # 每次随机数不变
f = faker.Faker(locale='zh-CN')

data = pd.DataFrame()
for i in range(10):
    datai = pd.DataFrame({
     '员工姓名':f.name(),
                          '1月销售额':np.random.randint(100,300,1),
                         '2月销售额':np.random.randint(100,300,1)},
                          index = [i])
    data = data.append(datai)
data

4.14.2 作图

from pyecharts import options as opts
from pyecharts.charts import Bar
c = (
    Bar()
    .add_xaxis(data['员工姓名'].tolist())
    .add_yaxis("1月", data['1月销售额'].tolist(),gap="0%")
    .add_yaxis("2月", data['2月销售额'].tolist(),gap="0%",is_selected=False)
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(title_opts=opts.TitleOpts(title="堆积柱形图"))
    .render("默认选中.html"))

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第29张图片

is_selected 参数

4.15 x y轴旋转,形成条形图: reversal_axis()参数

对上面的数据进行处理

data_re = data[['员工姓名','1月销售额']].sort_values(by='1月销售额')
from pyecharts import options as opts
from pyecharts.charts import Bar

c = (
    Bar()
    .add_xaxis(data_re['员工姓名'].tolist())
    .add_yaxis("", data_re['1月销售额'].tolist(),gap="0%")
    .reversal_axis()
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(title_opts=opts.TitleOpts(title="销售分析"))
    .render("条形图.html"))

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第30张图片

更多label_opts配置项→:

4.18 系列颜色: color参数

from pyecharts import options as opts
from pyecharts.charts import Bar

c = (
    Bar()
    .add_xaxis(data['员工姓名'].tolist())
    .add_yaxis("1月", data['1月销售额'].tolist(),color='#325288')
    .add_yaxis("2月", data['2月销售额'].tolist(),color='#f5cebe')
    .set_series_opts(label_opts=opts.LabelOpts(is_show=False))
    .set_global_opts(title_opts=opts.TitleOpts(title="销售分析"))
    .render("系列颜色.html"))

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第31张图片

更多颜色可参考: https://colorhunt.co/palettes/blue

4.19 数据标签: is_show参数

from pyecharts import options as opts
from pyecharts.charts import Bar
c = (
    Bar()
    .add_xaxis(data['员工姓名'].tolist())
    .add_yaxis("1月", data['1月销售额'].tolist(),color='#325288')
    .add_yaxis("2月", data['2月销售额'].tolist(),color='#f5cebe')
    .set_series_opts(label_opts=opts.LabelOpts(is_show=True))
    .set_global_opts(title_opts=opts.TitleOpts(title="销售分析"))
    .render("数据标签.html"))

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第32张图片


以上就是柱形图的19个技巧, 实际工作中需要我们进行组合运用!
官网提供了更多的设置方法, 我们掌握其中的套路就可以定制我们想要的动态图表, 举个栗子:

  • 1 官网中实例化柱形图有个参数 init_opts, 官网提示参考global_options.InitOpts,
    道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第33张图片
  • 2 找到InitOpts: 初始化配置项, 就可以利用这个配置项设置更多的参数: width, height, theme, bg_color等, 比如:
Bar(init_opts=opts.InitOpts(theme='westeros',width='1500px',height='600px',gb_color='blue'))
  • 3 复杂的设置可能需要嵌套多层

道友们,pyechart作图18式, 从柱形图的十余种变化, 搞懂pyechart动态图套路, 学了想不会都难_第34张图片
相关博文: 懂点excel作图, 怎么让pyechart作的图更具“职场范“呢?丨pyechart工作作图模板

如果对大家有帮助, 欢迎点赞、收藏, 后期还有继续更新pyechart可视化方面内容!

你可能感兴趣的:(pyechart可视化模板,python,pyechart,数据可视化)