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

使用sympy的plot_implicit绘图时设置图例出现报错的问题咨询

Sympy plot_implicit 图例报错解决方案

报错根因

你遇到的No handles with labels found to put in legend报错,是因为sympy的plot_implicit接口不会自动将传入的label参数绑定到内部生成的绘图句柄上,matplotlib渲染图例时找不到带标签的有效元素,就会抛出该错误。

修复方案

你需要先关闭自动渲染,拿到绘图对象后手动给内部绘图序列设置标签,再触发渲染即可,修改后的可运行代码如下:

import sympy as sp
from sympy.abc import x,y

# 修复原代码的命名冲突:自定义函数不要和导入的符号z重名
def z_func(x, y):
    return x - y

# 先将show参数设为False,获取plot对象
p = sp.plot_implicit(z_func(x, y), (x, 0, 3), (y, 0, 3), show=False, legend=True)
# 手动给绘图序列设置标签
p[0].label = "Test"
# 渲染显示图像
p.show()

补充说明

  • 如果你需要同时绘制多个隐函数图像,依次给p[0]、p[1]等不同索引的绘图序列设置对应label即可正常生成多元素图例。
  • 原代码中导入了符号z又自定义了同名函数,属于命名冲突,后续如果用到符号z会出现不可预期的问题,建议提前调整命名规避。

内容的提问来源于stack exchange,提问作者Benny Rodríguez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 22:57:01