我有一个代码,它使用 matplotlib(python win32 v2.7.5)来绘制带有动画或轮廓更新的彩条的轮廓图。为了更新绘图,我删除了颜色条轴,同时保持原始绘图轴不变。在 matplotlib 的 1.1.1 版本中,该程序运行正常,但是,当我升级到 matplotlib 的 1.2.1 时,我开始注意到我的绘图被颜色条向左挤压,如附图所示。
在 V1.1.1 中,经过多次迭代后,绘图如下所示:
而在 V1.2.1 中,情节现在看起来像这样:
如图所示,即使我使用的是 subplots_adjust,主要情节也会被推到左边。
上述地块的代码如下:
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.mlab import bivariate_normal
from matplotlib.colors import LogNorm
delta = 0.5
x = np.arange(-3.0, 4.001, delta)
y = np.arange(-4.0, 3.001, delta)
X, Y = np.meshgrid(x, y)
Z = bivariate_normal(X, Y, 1.0, 1.0, 0.0, 0.0)
fig = plt.figure()
fig.subplots_adjust(left=0.1, bottom=0.1, right=0.97, top=0.92)
ax = fig.add_subplot(1,1,1)
axim = ax.imshow(Z,norm = LogNorm())
cb = fig.colorbar(axim)
#Note: These are not replicated, I put them here to show how a refresh of the
# contour plot multiple times will look like
fig.delaxes(fig.axes[1])
fig.subplots_adjust(left=0.1, bottom=0.1, right=0.97, top=0.92)
cb = fig.colorbar(axim)
fig.delaxes(fig.axes[1])
fig.subplots_adjust(left=0.1, bottom=0.1, right=0.97, top=0.92)
cb = fig.colorbar(axim)
plt.show()
如果我每次都删除所有轴并重新创建它们,那么即使在新版本中它看起来也不错,但我认为这不是动画的有效过程。
任何想法为什么在 1.2.1 中发生了变化来做出这种行为?或任何其他建议使其再次工作?