在 Pyecharts 中,我们可以使用 set_global_opts() 方法的 legend_opts 参数来对图例进行设置。
语法:
obj.set_global_opts(legend_opts=opts.LegendOpts(pos_left, orient))
说明:
obj 是一个图表对象。参数 pos_left 用于定义图例的整体位置,常用取值如下表所示。
| 取值 | 说明 |
|---|---|
| center(默认值) | 中间 |
| left | 左边 |
| right | 右边 |
参数 orient 用于定义图例的排列方向,常用取值如下表所示。
| 取值 | 说明 |
|---|---|
| horizontal(默认值) | 水平排列 |
| vertical | 垂直排列 |
示例: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_global_opts(legend_opts=opts.LegendOpts(pos_left='left', orient='vertical'))
# 渲染
line.render()
运行生成的 render.html,浏览器效果如下图所示。

分析:
pos_left='left' 表示将图例放在图表的左边,orient='vertical' 表示将图例垂直排列。小伙伴们可以自行试一下 pos_left 和 orient 这两个参数的各种取值,然后看看效果是怎样的。
