matplotlib 5子图中的颜色条位置错误

时间:2015-03-09 14:50:28

标签: python matplotlib subplot colorbar

enter image description here

我在matplotlib子图中有一个问题,我已经设置了这5个子图共享轴,它应该具有相同的lenth和scale,但是,当我添加第5个子图'颜色栏时,轴与其他人没有数学,我应该怎么做做? 非常感谢

1 个答案:

答案 0 :(得分:1)

matplotlib自动调整轴的大小并在其旁边生成第二个轴以显示颜色条。我们可以提供如下第二轴:

import matplotlib.pyplot as plt
import numpy as np

fig, (ax1, ax2) = plt.subplots(nrows=2)

# Some demo data
x = np.linspace(0, 18)
y = np.linspace(0, 1)
X, Y = np.meshgrid(x, y)
Z = np.sin(X) + Y

# Something on axes 1
ax1.plot(x, np.sin(x))

# Plot the pcolormesh
pcm = ax2.pcolormesh(X, Y, Z)

# create color bar: the important part!
axColor = plt.axes([box.x0 + box.width * 1.05, box.y0, 0.01,     box.height])
plt.colorbar(pcm, cax=axColor, orientation="vertical")
plt.show()

enter image description here

我是从this SO post学到的,虽然我觉得上下文有点不同。

缺点是保存的数字会有一些有趣的空白,所以你可能想要考虑替代方案,例如将颜色栏定位在下方甚至是情节上。