我试图理解matplotlib是如何工作的(我的问题可能更一般)。
要绘制曲线,我可以执行以下操作之一:
fig,ax=plt.subplots()
plt.plot([1,2,3])
#%%
fig,ax=plt.subplots()
ax.plot([1,2,3])
在第一种情况下,python知道绘图应该相对于坐标轴“ax”来完成。在第二种情况下,我“告诉它”它是针对坐标轴“ax”的,因为我使用了来自ax的方法。
第一个问题:
第一种方式是如何工作的?python如何知道情节必须用ax来完成?这背后的机制是什么?实际上,我希望我必须告诉它要情节什么。但它“推断”了它。
第二个问题:
作为一个相关的问题:这两种绘图方式之间有什么不同,或者它们完全等同?
问题三:
plt.plot有一个轴的“模拟方法”:ax.plot
pcolor有一个“模拟方法”,轴是:ax.pcolor
我们可以找到许多其他的例子。
在matplotlib中,plt.FUNCTION和ax.FUNCTION的代码是否完全相同(两者使用相同的“FUNCTION”)?
1条答案
按热度按时间w8ntj3qf1#
如果你只有一个图,那么使用plt.plot或ax.plot绘图没有区别。但是,如果你有多个图,如下所示:
如果你使用plt.plot,默认情况下它只在左上角的子图上绘图。所以如果你想绘图,例如在右下角的子图上,你必须定义要绘图的轴。然后你必须使用ax。参见:Plot multiple plots in Matplotlib
所以,如果你有一个plot,plt和ax之间没有区别。而如果你有多个plot或者你正在使用FuncAnimation,那么最好使用ax。