Pyecharts 提示框

在 Pyecharts 中,我们可以使用 set_global_opts() 方法的 tooltip_opts 参数来对提示框进行设置。

语法:

objs.set_global_opts(tooltip_opts=opts.TooltipOpts(
    is_show, 
    is_always_show_content,
    trigger,
    trigger_on
))

说明:

obj 是一个图表对象。参数 is_show 用于定义是否显示提示框,取值是一个布尔值(默认值为 True)。参数 is_always_show_content 用于定义是否一直显示提示框,取值是一个布尔值(默认值为 False)。

参数 trigger 用于定义触发的类型,常用取值如下表所示。

trigger 参数的取值
取值 说明
item 图形触发,用于散点图饼状图等无类目轴的图表
axis 坐标轴触发,用于折线图柱状图等有类目轴的图表
none(默认值) 什么都不触发

参数 trigger_on 用于定义触发的条件,常用取值如下表所示。

trigger_on 参数的取值
取值 说明
mousemove(默认值) 鼠标移动时触发
click 鼠标点击时触发
mousemove|click 鼠标移动或鼠标点击时都会触发
none 什么都不触发

示例 1:提示框 is_always_show_content 参数

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_global_opts(tooltip_opts=opts.TooltipOpts(is_always_show_content=True))

# 渲染
line.render()

运行生成的 render.html,浏览器效果如下图 1 所示。当鼠标移到 “1月” 这个节点时,浏览器效果如下图 2 所示。

pyecharts提示框默认效果

pyecharts鼠标移动的提示框效果1

分析:

is_always_show_content=True 表示当鼠标移到节点上时,该节点对应的提示框会一直显示而不会消失。此外,小伙伴们可以自行试一下 is_show 这个参数。

示例 2:提示框 trigger 参数

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_global_opts(tooltip_opts=opts.TooltipOpts(trigger='axis'))

# 渲染
line.render()

运行生成的 render.html,浏览器效果如下图 1 所示。当鼠标移到 “1月” 时 ,浏览器效果如下图 2 所示。

pyecharts提示框默认效果

pyecharts鼠标移动的提示框效果2

分析:

对于折线图来说,我们设置 trigger='axis' 了之后,当鼠标移到 x 轴某个坐标时,把该坐标对应的所有数据显示出来。这种方式可以更好地查看坐标轴位置对应的数据。

示例 3:trigger_on 参数

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_global_opts(tooltip_opts=opts.TooltipOpts(trigger_on='click'))

# 渲染
line.render()

运行生成的 render.html,浏览器效果如下图所示。当鼠标移到 “1月” 这个节点时,并不会显示提示框。但是我们点击该节点后,就会显示提示框了,浏览器效果如下图所示。

pyecharts提示框默认效果

pyecharts鼠标点击的提示框效果

分析:

默认情况下,鼠标移动到节点就会显示提示框。trigger_on='click' 表示只有鼠标点击节点才会显示提示框,其他情况不会显示提示框。

上一篇: Pyecharts 坐标轴

下一篇: Pyecharts 区域缩放

给站长反馈

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

邮箱:lvyenet@vip.qq.com

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