在我的代码中我已经执行了
ax.plot(x, y, 'b.-', ...)
并且需要能够在事后为相应的行设置标签,以达到和我一样的效果
ax.plot(x, y, 'b.-', label='lbl', ...)
有没有办法在 Matplotlib 中做到这一点?
最佳答案
如果在创建时抓取 line2D
对象,则可以使用 line.set_label()
设置标签:
line, = ax.plot(x, y, 'b.-', ...)
line.set_label('line 1')
如果你不这样做,你可以从Axes
中找到line2D
:
ax.plot(x, y, 'b.-', ...)
ax.lines[-1].set_label('line 1')
请注意,ax.lines[-1]
将访问创建的最后一行,因此如果您制作多行,则需要注意使用此标签将标签设置在哪一行方法。
一个最小的例子:
import matplotlib.pyplot as plt
fig,ax = plt.subplots(1)
l,=ax.plot(range(5))
l.set_label('line 1')
ax.legend()
plt.show()
关于python - 如何在 matplotlib 中为已绘制的线设置标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36624379/