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

如何在sympy.plotting.plot中手动指定图例文本?

解决SymPy绘图时手动设置多函数图例标签的问题

你当前的代码里,SymPy的plot()函数并不支持直接通过label=['Foo1','Foo2']这种列表形式给多个函数分别设置图例标签,这会导致所有曲线共用同一个标签(也就是整个列表),所以达不到预期效果。下面提供两种可行的解决方法:

方法一:通过SymPy Plot对象逐个设置标签

直接获取绘制后的Plot对象,给每个子图(对应每个函数)单独设置label属性,再更新图例:

import sympy as sym

x = sym.symbols('x')

# 先绘制但不显示图像
p = sym.plotting.plot(x ** 2, 2 * x ** 2, legend=True, show=False)
# 给第一个曲线设置标签
p[0].label = 'Foo1'
# 给第二个曲线设置标签
p[1].label = 'Foo2'
# 确保图例启用后显示图像
p.legend = True
p.show()

方法二:借助Matplotlib轴对象修改图例

SymPy的绘图后端基于Matplotlib,所以可以直接获取对应的轴对象,手动修改图例标签:

import sympy as sym

x = sym.symbols('x')

# 绘制并获取Plot对象(不立即显示)
p = sym.plotting.plot(x ** 2, 2 * x ** 2, legend=True, show=False)
# 获取Matplotlib的轴对象
ax = p._backend.ax
# 直接设置图例的标签列表
ax.legend(['Foo1', 'Foo2'])
# 显示图像
p.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 08:12:04