Pyecharts 标签

在 Pyecharts 中,我们可以使用 set_series_opts() 方法的 label_opts 参数来对标签进行设置。

语法:

obj.set_series_opts(label_opts=opts.LabelOpts(
    is_show,
    position,
    formatter,
    font_size,
    font_weight,
    color
))

说明:

obj 是一个图表对象。参数 is_show 表示是否显示标签,取值为 True 或 False(默认值为 True)。

参数 position 用于定义标签的位置,常用取值如下表所示。

position 参数的取值
取值 说明
center(默认值) 居中显示
left 靠左显示
right 靠右显示

参数 formatter 用于对标签内容进行自定义格式:{a} 表示系列名,{b} 表示数据名,{c} 表示数据值,{d} 表示百分比。

参数 font_size 用于定义字体大小,参数 font_weight 用于定义字体粗细,参数 color 用于定义字体颜色。

示例 1: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(label_opts=opts.LabelOpts(is_show=False))

# 渲染
line.render()

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

pyecharts隐藏标签

分析:

is_show=False 表示把所有标签都隐藏了。虽然标签被隐藏了,但当鼠标移到节点时,还是可以显示该节点的数据信息的,如下图所示。

pyecharts显示提示框

示例 2:Pyecharts 标签位置

import pandas as pd
from pyecharts.charts import Bar
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=['月份', '上衣', '裤子'])

# 绘图
bar = Bar()
bar.add_xaxis(xaxis_data=list(df['月份']))
# 第1种柱条
bar.add_yaxis(series_name='上衣', y_axis=list(df['上衣']))
# 第2种柱条
bar.add_yaxis(series_name='裤子', y_axis=list(df['裤子']))
# 改变方向
bar.reversal_axis()

# 渲染
bar.render()

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

pyecharts标签默认位置

分析:

bar.reversal_axis() 表示将柱形图变成横向显示,此时就成了一个条形图。对于条形图来说,标签默认是居中显示的,这可能会导致部分标签看不清楚。我们可以使用 label_opts 参数将标签设置为 “靠右显示”,也就是添加下面这一句代码,此时效果如下图所示。

# 定义标签位置
bar.set_series_opts(label_opts=opts.LabelOpts(position='right'))

pyecharts改变标签位置

示例 3:Pyecharts 标签格式

import pandas as pd
from pyecharts.charts import Bar
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=['月份', '上衣', '裤子'])

# 绘图
bar = Bar()
bar.add_xaxis(xaxis_data=list(df['月份']))
# 第1种柱条
bar.add_yaxis(series_name='上衣', y_axis=list(df['上衣']))
# 第2种柱条
bar.add_yaxis(series_name='裤子', y_axis=list(df['裤子']))
# 定义标签格式
bar.set_series_opts(label_opts=opts.LabelOpts(formatter='{b}:{c}'))

# 渲染
bar.render()

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

pyecharts定义标签格式

分析:

对于 formatter 的取值,我们需要遵循一定的规则:{a} 表示系列名,{b} 表示数据名,{c} 表示数据值。

示例 4:Pyecharts 标签字体

import pandas as pd
from pyecharts.charts import Bar
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=['月份', '上衣', '裤子'])

# 绘图
bar = Bar()
bar.add_xaxis(xaxis_data=list(df['月份']))
# 第1种柱条
bar.add_yaxis(series_name='上衣', y_axis=list(df['上衣']))
# 第2种柱条
bar.add_yaxis(series_name='裤子', y_axis=list(df['裤子']))
# 定义标签格式
bar.set_series_opts(label_opts=opts.LabelOpts(
    font_size=16,
    font_weight='bold',
    color='yellow'
))

# 渲染
bar.render()

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

pyecharts改变标签字体样式

分析:

font_size=16 表示定义字体大小为 16 像素,font_weight='bold' 表示定义字体为粗体,color='orange' 表示定义字体颜色为橙色。

最后,对于全局设置和系列设置,我们可以总结一下它们之间的区别,主要有以下 2 点。

  • 全局设置是针对所有图表而言,系列设置是针对部分图表而言。
  • 全局设置是在 set_global_opts() 方法或绘图函数中进行设置,而系列设置是在 set_series_opts() 方法或 add_yaxis() 方法中进行设置。

上一篇: Pyecharts 标记线

下一篇: Pyecharts 改变方向

给站长反馈

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

邮箱:lvyenet@vip.qq.com

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