我想并排绘制几张图像。这些图像都具有相同的高度,但宽度不同。我希望它们都整齐地排列,这样图形看起来很专业。相反,较窄的图像占用的垂直空间略少。下面是一个最小的工作示例:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.gridspec as gridspec
plt.figure(figsize=(5,5))
gridspec.GridSpec(5, 5)
# plot the narrow plot
plt.subplot2grid((5, 5), (0,0), colspan=2, rowspan=5)
plt.imshow(np.random.normal(size=(5,2)))
plt.axis('off')
# plot the wide plot
plt.subplot2grid((5, 5), (0,2), colspan=3, rowspan=5)
plt.imshow(np.random.normal(size=(5,3)))
plt.axis('off')
这是结果图:
请注意,尽管第一个图像具有相同的像素高度,并且在gridspec中跨越相同数量的行,但它在垂直方向上的尺寸总是稍微小一些。
我如何解决这个问题?我愿意接受GridSpec以外的解决方案。
1条答案
按热度按时间3pvhb19x1#
输出: