0
我想分享一个imshow
这是方形的x轴和克拉西克情节:对齐插曲用彩条
- 的imshow必须是方形
- 用彩条
- 情节波纹管应该共享相同的轴(或至少看起来像对齐imshow)
我花了两天时间,现在我疯了。有人知道如何对齐它们吗?
用于产生图像的代码是波纹管。
def myplot(Nbin=20):
X = np.random.rand(1000)
Y = np.random.rand(1000)
h2, yh2, xh2 = np.histogram2d(Y, X, bins=[Nbin,Nbin])
h1, xh1 = np.histogram(X, bins=Nbin)
######################################
######################################
fig = plt.figure()
gs = gridspec.GridSpec(3, 2)
######################################
######################################
ax1 = plt.subplot(gs[:-1,:])
im = plt.imshow(h2, interpolation='nearest', origin='lower',
extent=[xh2[0],xh2[-1],yh2[0],yh2[-1]])
cb = plt.colorbar(im, ax=ax1)
plt.xlim(xh1[0], xh1[-1])
plt.ylim(xh1[0], xh1[-1])
ax1.tick_params(axis='x', which='both', bottom='on', top='on', labelbottom='off')
######################################
######################################
ax2 = plt.subplot(gs[-1,:])
plt.plot(xh1[:-1] + np.diff(xh1)/2., h1)
plt.xlim(xh1[0], xh1[-1])
cm = plt.cm.Blues
cb2 = plt.colorbar(ax=ax2)
ax2.tick_params(axis='x', which='both', bottom='on', top='on', labelbottom='on')
######################################
######################################
fig.tight_layout()
fig.subplots_adjust(hspace=0.05)
cb2.ax.set_visible(False)