[英]matplotlib // space between subplots
我想使用matplotlib.pyplot
subplots
圖繪制圖像(在第一行)以及一些圖表(第二行和第三行)。 但是, imshow
fucntion 在我無法擺脫的圖像周圍添加了一些額外的空白。 這是我的代碼和我得到的情節:
rcParams['figure.figsize'] = (16, 14)
_, axes = plt.subplots(3, 3)
axes[0][0].imshow(image)
axes[0][0].set_title('title')
axes[0][0].set_xticklabels(list())
axes[0][0].set_yticklabels(list())
axes[0][0].grid(False)
axes[0][1].imshow(image)
axes[0][1].set_title('title')
axes[0][1].set_xticklabels(list())
axes[0][1].set_yticklabels(list())
axes[0][1].grid(False)
axes[0][2].imshow(image)
axes[0][2].set_title('title')
axes[0][2].set_xticklabels(list())
axes[0][2].set_yticklabels(list())
axes[0][2].grid(False)
plt.savefig(file_name, bbox_inches='tight')
在下圖中,您可以清楚地看到第一行和第二行之間有明顯更多的空間:
我想在所有子圖之間有一個相等的空間。 什么是最簡單的方法來做到這一點?
提前感謝您的任何建議!
最好的,阿列克謝
這是因為imshow
以方形像素顯示圖像。 如果圖像的比例為 16:9,則子圖將重新調整形狀以適應圖像大小。 因此,它們將具有與其他子圖不同的形狀(有關更多信息,請參閱imshow 文檔)。
從這里,您有兩個解決方案:
imshow
根據圖像調整軸的大小。 為此,您可以將縱橫比設置為自動aspect="auto"
,圖像將適合現有軸
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.