Pyecharts 标记点

在 Pyecharts 中,我们可以使用 set_series_opts() 方法的 markpoint_opts 参数来添加标记点效果。

语法:

obj.set_series_opts(markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_='min')]))

说明:

参数 type_ 用于定义标记点的类型(注意后面有下划线),常用取值如下表所示。

参数 type_ 的取值
取值 说明
min 最小值
max 最大值
average 平均值

示例:Pyecharts 添加标记点

import pandas as pd
from pyecharts.charts import Line
import pyecharts.options as opts

# 数据
data = [
    ['1月', 450, 110],
    ['2月', 420, 220],
    ['3月', 560, 150],
    ['4月', 480, 310],
    ['5月', 530, 250],
    ['6月', 620, 160]
]
df = pd.DataFrame(data, columns=['月份', '上衣', '裤子'])

# 绘图
line = Line()
line.add_xaxis(xaxis_data=list(df['月份']))
# 第1条折线
line.add_yaxis(series_name='上衣', y_axis=list(df['上衣']))
# 第2条折线
line.add_yaxis(series_name='裤子', y_axis=list(df['裤子']))
# 设置标记点
line.set_series_opts(markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_='min')]))

# 渲染
line.render()

运行生成的 render.html,浏览器效果如下图所示。

pyecharts为最小值添加标记点

分析:

type_='min' 表示为每一条折线添加一个标记点,该标记点标记的是 “最小值”。对于系列设置来说,除了可以在 set_series_opts() 方法中进行设置之外,我们还可以在 add_yaxis() 方法中进行设置。对于这个例子来说,下面 2 种方式是等价的。

# 方式1:set_series_opts()
line.set_series_opts(markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_='min')]))

# 方式2:add_yaxis()
line.add_yaxis(
    series_name='上衣', 
    y_axis=list(df['上衣']),
    markpoint_opts=opts.MarkPointOpts(data=[opts.MarkPointItem(type_='min')])
)

简单来说,add_yaxis() 方法拥有 set_series_opts() 方法中的所有参数。在之前的 “pyecharts 折线图” 这一节中,我们使用的其实就是第 2 种方式。不过在实际开发中,对于系列设置,我们还是更推荐使用 set_series_opts() 方法来实现,主要是这种方式可以让我们的代码更加直观了然。

对于这个例子来说,当我们把 type_='min' 改为 type_='max' 之后,此时效果如下图所示。

pyecharts为最大值添加标记点

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号