You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调整Pyplot图例大小时出现“No artists with labels found”警告

解决Pyplot图例放大无效及警告问题

问题原因

你代码里调用了两次plt.legend():

  • 第一次plt.legend(fontsize="x-large")未传入图例标签,matplotlib找不到带标签的绘图元素,触发警告
  • 第二次plt.legend(["This is my legend"])设置了图例内容,但覆盖了第一次的字体大小配置,导致放大效果失效

警告信息翻译

未找到带标签的艺术家(Artist)用于生成图例。注意:当不带参数调用legend()时,标签以下划线开头的艺术家会被忽略。

关于Artist的说明

在matplotlib中,Artist是所有绘图元素的统称——比如你绘制的折线、柱状图的柱子、散点标记等都属于Artist。只有给Artist设置了label属性,调用legend()时才能识别并生成对应的图例条目。

修正方案

有两种简洁的修正方式:

方式1:绘图时直接设置标签,再统一配置图例大小

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_style("whitegrid")
plt.rcParams['figure.figsize'] = [15, 7]

lst = [1,2,3,4,5,6,7,8,9,8,7,6,5,4,3,4,5,6]

# 绘图时指定label
plt.plot(lst, label="This is my legend")
# 一次调用legend设置字体大小
plt.legend(fontsize="x-large")
plt.ylabel('some numbers')
plt.show()

方式2:调用legend时同时传入标签和字体大小参数

import matplotlib.pyplot as plt
import seaborn as sns

sns.set_style("whitegrid")
plt.rcParams['figure.figsize'] = [15, 7]

lst = [1,2,3,4,5,6,7,8,9,8,7,6,5,4,3,4,5,6]

plt.plot(lst)
# 一次完成图例内容和大小设置
plt.legend(["This is my legend"], fontsize="x-large")
plt.ylabel('some numbers')
plt.show()

内容的提问来源于stack exchange,提问作者Peyman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 04:01:25