2015-10-01 19 views
2

如何在這個例子中的子圖之間沒有空格?Matplotlib - 多行之間沒有空格與matshow

(並保持良好的可視性,如果我有更多的線路)

我已經看到了我們所看到的可以改變很多與figsize的值。

那麼我們必須猜測figsize的「正確」值嗎?

fig = plt.figure() 
ax = fig.add_subplot(211) 
ax.matshow([[1,2,3,4,5]]) 
ax = fig.add_subplot(212) 
ax.matshow([[5,4,3,2,1]]) 
plt.subplots_adjust(wspace=0, hspace=0) 

我試過使用不同的東西像gridspec但我有完全相同的問題。

+1

即使在指定'wspace = 0,hspace = 0'時由於在不帶'aspect ='auto''的情況下使用'matshow' /'imshow',您在子圖之間沒有空格的原因。首先,Matplotlib的佈局模型可能有點混亂。不要插入我自己的答案太多,但這裏有一個更完整的解釋:http://stackoverflow.com/questions/32633322/changing-aspect-ratio-of-subplots-in-matplotlib/32635933#32635933總之,你'或者'matshow'必須使用'aspect =「auto」'或者改變圖形的大小。你也可以使用'axes_grid1'模塊來做到這一點。 –

+0

非常感謝。這正是我正在尋找的那種答案。 – DavidK

回答

1

看看Tight Layout Guide,你可以像plt.tight_layout()一樣使用參數來控制數字的填充以使它們很好地吻合。