我发现使用twinx创建第二个轴后,我无法使轴自动缩放在第一个轴上工作。这是预期的吗?Matplotlib轴自动缩放不适用于twinx后()
import numpy as np
import matplotlib.pyplot as plt
x = np.arange(0, 10, 0.1)
y1 = 0.05 * x**2
y2 = -1 *y1
fig, axL = plt.subplots() # Make Left Axes
axR = axL.twinx() # Make Left Axes
axL.plot(x, y1, 'g-') # Plot on Left
axL.grid()
axL.autoscale(enable=True, axis=u'both', tight=False)
plt.show()
# Do some stuff then later plot on axR
当我运行它在y方向autoscales正确地在左侧轴(0〜5),但改变了X轴规模而不是正确的0至10 +/- 0.06上面的代码。但是,一旦axR不再空白,并且在axR上绘制某些东西,它就会像我期望的那样运行。
这只是一个例子,因为我在更复杂的PyQT4 GUI中遇到了这个问题,允许用户创建多个子图块&左/右组合。由于用户是手动控制剧情创建顺序的用户,因此可能出现上述情况。
是否有自动缩放的方式使用空白twinx右轴。或者是Xlimit只能手动设置?
仅供参考,我使用Python 3.4与Matplotlib V1.3.1
由于蟒蛇V2.0.1的一部分。
谢谢!在我的个人计算机上升级matplotlib后,我测试了它,并且按预期工作。不幸的是,在工作中,一切都是配置控制的,所以我将不得不看看我是否能说服他们这样做。 – 2014-12-07 21:31:46