按照documentation,ax.autoscale(tight=True)
應該matplotlib axis('tight')不起作用?
如果爲True,設置視圖限制數據限制;
隨着ax.axis('tight')
是相似的:
'緊' 限制設置,使得所有的數據都顯示
(原文如此)
我們甚至看到它可以在this question的屏幕截圖中使用。
但無論我嘗試什麼,它似乎都不適用於下面的簡單示例。這是我鍵入jupyter-qtconsole
:
In [27]: f, ax = plt.subplots(1)
In [28]: ax.plot([0, 1], [1, 0])
Out[28]: [<matplotlib.lines.Line2D at 0x825abf0>]
In [29]: ax.axis('tight')
Out[29]: (-0.050000000000000003, 1.05, -0.050000000000000003, 1.05)
In [30]: ax.autoscale(tight=True)
In [31]: plt.axis('tight')
Out[31]: (-0.050000000000000003, 1.05, -0.050000000000000003, 1.05)
In [32]: plt.autoscale(tight=True)
In [33]: ax.plot([0, 1], [1, 0])
Out[33]: [<matplotlib.lines.Line2D at 0x825a4d0>]
In [34]: ax.autoscale(enable=True, axis='x', tight=True)
縱觀這些命令,該地塊的限制不會改變:
什麼可能我是做錯了什麼?
工作。我將'mpl.rcParams ['axes.autolimit_mode']'留在了'data'的默認值,這符合數據極限,而不是下一個勾號(即'round_numbers'行爲)。另外,我想說的是,它與一般常識略有不同,特別要求'axis('tight')'不會摺疊這些邊距,這似乎可以在每個plot的基礎上進行(https: //stackoverflow.com/a/41748745/1143274)。 –