Practice makes perfect
文献集锦
如何理论创新?
管理学理论集锦
Python实际应用
聚类标准误与固定效应
巫师3:狂猎
Stata应用技巧
Python知识与技巧
回归系数的经济意义
双重差分法(DID)
创新文献阅读与摘要
计量经济学
Python绘图相关
遗漏变量偏误检验
plt.legend()
type
Post
status
Published
date
Nov 30, 2025
slug
summary
tags
category
Python绘图相关
icon
password
网址
作者
标签
文章链接
发布时间
来源
plt.legend() 是 Python 可视化库 Matplotlib 中用于在图表上添加图例 (Legend) 的核心函数。图例的主要作用是解释图表中的不同视觉元素(如不同的线条、颜色、标记等)所代表的含义。如果你使用 Seaborn (sns) 或 Pandas 的
.plot() 方法,它们底层调用的也是 Matplotlib 的 plt.legend()。1. 基本原理
当你绘制多条曲线时,
plt.legend() 会自动收集所有已经绘制的元素(如通过 plt.plot() 或 ax.plot() 绘制的线条),并查找这些元素在绘制时设置的 label 属性,然后将这些标签和对应的线条/标记一起显示在一个小框中。基础用法
在使用
plt.legend() 之前,你必须在绘制元素时提供 label 参数:输出:

2. 常用参数详解
plt.legend() 提供了极其丰富的参数来控制图例的外观、位置和内容。参数 | 描述 | 常用值/示例 |
loc | 控制图例的位置。 | 'best' (默认,自动选择最佳位置), 'upper right', 'lower left', etc. |
fontsize | 控制图例文字的大小。 | 数字 (如 12), 或字符串 (如 'small', 'large')。 |
frameon | 控制是否绘制图例的边框和背景框。 | False (移除边框,使图例悬浮), True (默认)。 |
ncol | 控制图例的列数。 | 1 (默认,单列), 2, 3 (用于节省空间)。 |
title | 为整个图例设置一个标题。 | 字符串,如 'Data Sets' ;设置为None则取消标题 |
labelcolor | 控制图例文本的颜色。 | 'linecolor' (使文本颜色与线条颜色一致), 或具体的颜色字符串。 |
bbox_to_anchor | 精确控制位置,常用于将图例放在绘图区域外部。 | 示例: (1.05, 1),通常与 loc='upper left' 配合使用。 |
示例:自定义图例外观
输出:

3. 高级定位技巧 (bbox_to_anchor)
当默认的
loc 参数无法满足需求时,可以使用 bbox_to_anchor 来精确控制图例的摆放位置。它接受一个元组 (x, y),通常用于将图例放置在绘图区域之外,以免遮挡数据。bbox_to_anchor=(1.05, 1):将图例的锚点(anchor point)放在 Axes 区域的右上角(X=1.05,Y=1.0),然后配合loc='upper left',这意味着图例的左上角会从 $(1.05, 1.0)$ 开始绘制,使其位于图表的右侧。
- 使用
bbox_extra_artists和bbox_inches参数,防止图像保存时被裁剪
bbox_extra_artists指定Artist的列表,在计算bbox最小边界时会将这些Artist考虑在内;如果將bbox_inches设定为tight,它将计算出图中的紧凑型bbox
输出:

上一篇
sns.lineplot()
下一篇
pd.cut()
Loading...