哪个对象包含属性 ylim()
?在下面的代码中(我已经导入了所需的包和 x1
和 y1
正确绘制)来设置 y 轴限制,我必须使用 plt.ylim ()
,为什么会这样?在我自己的头脑中,我会使用 ax1.ylim()
因为 y 轴属于 ax 对象实例。有人可以解释为什么这是不正确的吗?
我在这里看到这篇文章:
Why do many examples use "fig, ax = plt.subplots()" in Matplotlib/pyplot/python
这有助于澄清一点,但我仍然不确定。 谢谢!
x1 = df_mstr1['datetime'].values
y1 = df_mstr1['tons'].values
fig1, ax1 = plt.subplots()
ax1.stackplot(x1, y1, color='blue')
plt.ylim(0,300)
fig1.savefig('page.pdf', format = 'pdf')
最佳答案
我的想法是 pyplot.ylim()
是一个方便的函数(从技术上讲它不是一个属性),它提供了类似 MATLAB 的功能来设置 current 轴(最近创建或绘制的轴),而 ax1.set_ylim()
设置特定轴对象(可能不止一个)的 y 限制你已经命名为 ax1
。
plt.ylim()
适用于不需要太多自定义的快速绘图。当您需要跟踪更多与绘图相关的对象以便更清楚地自定义它们(并跟踪您自定义的内容)时,越面向对象的 ax1.set_ylim()
越好.
关于python - matplotlib 图中的 fig 和 ax 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34499883/