首页 文章

如何在pyplot中调整两个子图的大小,一个用彩条,另一个没用?

提问于
浏览 630
0

考虑这个例子

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable

plt.subplot(121)
img = plt.imshow([np.arange(0,1,.1)],aspect="auto")
ax = plt.gca()
divider = make_axes_locatable(ax)
cax = divider.append_axes("bottom", size="3%", pad=0.5)
plt.colorbar(img, cax=cax, orientation='horizontal')
plt.subplot(122)
plt.plot(range(2))
plt.show()

我想制作相同尺寸的这两个数字(没有彩条的情节区域) .

如果垂直绘制颜色条或使用两行(211,212)而不是两列,则会自动调整大小 .

1 回答

  • 3

    对于第二个子图,基本上可以对第一个子图执行相同的操作,即创建分隔符并附加具有相同参数的轴,只是在这种情况下,我们不希望轴上有颜色条,而是简单地转动轴关闭 .

    import numpy as np
    import matplotlib.pyplot as plt
    from mpl_toolkits.axes_grid1 import make_axes_locatable
    
    ax = plt.subplot(121)
    img = ax.imshow([np.arange(0,1,.1)],aspect="auto")
    divider = make_axes_locatable(ax)
    cax = divider.append_axes("bottom", size="3%", pad=0.5)
    plt.colorbar(img, cax=cax, orientation='horizontal')
    
    ax2 = plt.subplot(122)
    ax2.plot(range(2))
    divider2 = make_axes_locatable(ax2)
    cax2 = divider2.append_axes("bottom", size="3%", pad=0.5)
    cax2.axis('off')
    plt.show()
    

相关问题