首页 文章

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

提问于
浏览
0

enter image description here

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

1 回答

  • 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学到了这一点,虽然我认为上下文有些不同 .

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

相关问题