从官网的例子中整理、合并的
from pyecharts.globals import CurrentConfig, OnlineHostType
CurrentConfig.ONLINE_HOST = OnlineHostType.NOTEBOOK_HOST
柱形图常用基本设置
from pyecharts.charts import Bar
from pyecharts import options as opts
from pyecharts.globals import ThemeType
from pyecharts.commons.utils import JsCode # 背景图片用
# 设置容器大小,使用的主题
bar = Bar(init_opts=opts.InitOpts(
width='850px', height='350px',
# 使用主题
theme=ThemeType.ESSOS,
# 背景颜色/图片
bg_color='black'/{
"type": "pattern", "image": JsCode("img"), "repeat": "no-repeat"}
))
# 添加x轴数据
bar.add_xaxis(list型的)
# 添加y轴数据
bar.add_yaxis(series_name='第一个系列的名称',list型的第一个系列的数据,
# 是否要堆叠,
stack='stack0'/'stack1'/'stack',
# 系列颜色
color='red'/'#CC33FF',
# 该系列不显示标签
label_opts=opts.LabelOpts(is_show=False),
# 不同类别(同系列)柱间间隔;同类(不同系列)柱间间隔
category_gap='15%', gap='5%',
# 使用哪个y轴
yaxis_index=0,
)
# 添加y轴,第2个y轴的设置
bar.extend_axis(yaxis_opts=opts.AxisOpts(
name='新增y轴名称', type_='value'/'category'/'time'
min_=, max_=, interval=,position='left'/'right',offset=,
axislabel_opts=opts.LabelOpts(formatter='{value}/元')
))
# 全局设置
bar.set_global_opts(title_opts=, datazoom_opts=opts.DataZoomOpts(),
# x轴标签旋转
xaxis_opts=opts.AxisOpts(name='',axislabel_opts=opts.LabelOpts(rotate=-15)),
# 第1个y轴的设置
yaxis_opts=opts.AxisOpts(name='', ))
# 设置所有系列
bar.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='最低值')]
),
markline_opts=opts.MarkLineOpts(
data=[opts.MarkLineItem(type_='average', name='平均值')]
)
)
# 交换轴成条形图
bar.reversal_axis()
# 在src中设置图片地址
bar.add_js_funcs(
"""
var img = new Image(); img.src = 'https://hbimg.huabanimg.com/3ec361f4774ff0efede19eb326df31aad331b673be714-C5MS3e';
"""
)
import pandas as pd
import numpy as np
data = pd.DataFrame(np.random.randint(20,50,(50,3)), columns=['A','B','C'], index=pd.period_range('2020/5/10',periods=50,freq='D'))
data.head()
A B C
2020-05-10 40 31 48
2020-05-11 49 28 30
2020-05-12 40 21 42
2020-05-