from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker
from pyecharts.globals import ThemeType
c = (
Bar()
.add_xaxis(Faker.choose())
.add_yaxis("商家A", Faker.values())
.add_yaxis("商家B", Faker.values())
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-MarkLine"))
.set_series_opts(
label_opts=opts.LabelOpts(is_show=False),
# MarkLineOpts:标记线配置项
markline_opts=opts.MarkLineOpts(
# 标记线数据
data=[
# MarkLineItem:标记线数据项
opts.MarkLineItem(type_="min", name="最小值"),
opts.MarkLineItem(type_="max", name="最大值"),
opts.MarkLineItem(
# 标注名称
name="平均值",
# 特殊的标注类型,用于标注最大值最小值等。可选:
# 'min' 最大值、'max' 最大值 、'average' 平均值。
type_ = 'average',
# 在使用 type 时有效,用于指定在哪个维度上指定最大值最小值,可以是
# 0(xAxis, radiusAxis),
# 1(yAxis, angleAxis),默认使用第一个数值轴所在的维度。
value_index = None,
# 在使用 type 时有效,用于指定在哪个维度上指定最大值最小值。这可以是维度的直接名称Optional[str],
# 例如折线图时可以是 x、angle 等、candlestick 图时可以是 open、close 等维度名称。
value_dim = None,
# 起点或终点的坐标。坐标格式视系列的坐标系而定,可以是直角坐标系上的 x, y,
# 也可以是极坐标系上的 radius, angle。
coord = None,
# 相对容器的屏幕 x 坐标,单位像素 Optional[Numeric]
x = None,
# 相对容器的屏幕 y 坐标,单位像素 Optional[Numeric]
y = None,
# 终点标记的图形。
# ECharts 提供的标记类型包括 'circle', 'rect', 'roundRect', 'triangle',
# 'diamond', 'pin', 'arrow', 'none'
# 可以通过 'image://url' 设置为图片,其中 URL 为图片的链接,或者 dataURI。
symbol = None, #一般默认就好
# 标记的大小,可以设置成诸如 10 这样单一的数字,也可以用数组分开表示宽和高,
# 例如 [20, 10] 表示标记宽为 20,高为 10。
symbol_size = None, #一般默认就好
)],
# 图形是否不响应和触发鼠标事件,默认为 false,即响应和触发鼠标事件。
is_silent = False,
# 也可以在这里设置标线两端的标记类型,可以是一个数组分别指定两端,也可以是单个统一指定,具体格式见 data.symbol。
symbol = None,
# 也可以在这里设置标线两端的标记大小,可以是一个数组分别指定两端,也可以是单个统一指定。
symbol_size= None,
# 标线数值的精度,在显示平均值线的时候有用。
precision = 2,
# 标签配置项,参考 `series_options.LabelOpts`
label_opts=opts.LabelOpts(),
# 标记线样式配置项,参考 `series_options.LineStyleOpts`
# linestyle_opts=opts.LineStyleOpts()
),
)
.render("C:/bar_markline.html")
)
自定义标记线
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker
from pyecharts.globals import ThemeType
c = (
Bar(init_opts=opts.InitOpts(theme=ThemeType.DARK))
.add_xaxis(Faker.choose())
.add_yaxis("商家A", Faker.values())
.add_yaxis("商家B", Faker.values())
.set_global_opts(title_opts=opts.TitleOpts(title="Bar-MarkLine(自定义)"))
.set_series_opts(
label_opts=opts.LabelOpts(is_show=False),
# MarkLineOpts:标记线配置项
markline_opts=opts.MarkLineOpts(
# 标记线数据
data=[
# MarkLineItem:标记线数据项
opts.MarkLineItem(
name="自定义线",
y = 50,
)],
# 标签配置项,参考 `series_options.LabelOpts`
label_opts=opts.LabelOpts(),
# 标记线样式配置项,参考 `series_options.LineStyleOpts`
linestyle_opts=opts.LineStyleOpts(width = 3,color = '#FFFF00',)
),
)
.render("C:/bar_markline.html")
)