我有一个非常简单的问题,我无法找到答案:
使用matplotlib我在主图中绘制一些东西,然后使用插图在插图中绘制其他内容。
a = plt.axes([.2, .64, .28, .24])
但之后我想在主图中再次绘制一个图例(因为图例中包含了同时发现的东西)。
我该怎么做?如何如何回到原始情节并制作传奇?
我尝试过不同的事情,包括sca
,但没有任何效果。
答案 0 :(得分:2)
plt.sca(main_ax)
应该有效。请注意,如果您没有为曲线/情节/等指定标签,则只有在您拨打plt.legend()
时才会显示。 (相反,您需要plt.legend([line], [label])
,或者更好,请致电plot(x, y, label='some label')
。)
但是,以不同的方式解决问题会更好。
这是您经常看到人们建议避免使用pyplot
界面并使用Axes / Figure方法的众多原因之一。它可以清楚地表明您正在操作哪些轴。
例如:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot(range(10), label='Curve 1')
inset = fig.add_axes([.2, .64, .28, .24])
inset.scatter(range(3), range(3))
ax.legend()
plt.show()