Matplotlib 2.0.0:如果使用tight_layout,则忽略轴set_position

时间:2017-03-22 08:44:41

标签: python matplotlib

我在Mac上使用Python 3.4和Matplotlib 2.0.0。困扰我的问题是如果使用tight_layout(),ax.set_position()函数似乎被忽略。 在set_position之后放置subplots_adjust()时会观察到类似的效果。(参见代码注释)。

import matplotlib.pyplot as plt
import numpy.random as random

data = random.randn(255,255)

plt.close()

fig,axes = plt.subplots(2,1)

ax=axes[0]

im=ax.imshow(data, aspect='auto')
cb=plt.colorbar(im, ax=ax)
ax.set_xlabel('X data')
ax.set_ylabel('Y data')

pos0 = ax.get_position()

ax=axes[1]
pos1 = ax.get_position()
ax.set_position([pos1.x0, pos1.y0, pos0.width, pos1.height])

ax.plot([0,1])
ax.set_xlabel('Big')
ax.set_ylabel('Small')

plt.tight_layout() # put  plt.subplots_adjust(left=0.2) here produces similar results

plt.show()

这会产生1。我期望的是这样的2

我认为这是一个错误,并在github上向matplotlib报告。但到目前为止没有回复或其他什么。我在某处错了吗?

0 个答案:

没有答案