2015-09-14 88 views
1

我很難讓我的一些數字在我的論文中適當地對齊。指定matplotlib的確切大小figure

這是問題所在。我有兩個數字,我想使用相同的X軸。我分別繪製兩個數字,並將它們作爲Latex中的兩個子圖。問題在於:第二個圖的yticklabels需要更多空間,這使得它看起來比第一個圖小。

enter image description here

我指定的figsize一樣使用下面的代碼

fig, ax = plt.subplots(figsize=(6,4)) 

但很明顯,當其他像標題,標籤,刻度標籤需要更多的空間,「主要情節」似乎更小,使兩個子圖錯位。有什麼方法可以指定忽略其他標籤,標題等的「主要情節」的大小?

P.S .:我沒有使用matplotlib的subplots函數,因爲我注意到pandas或matplotlib中的一個錯誤:無論何時我使用插入軸,xlabel和xticklabels都不會顯示。所以我必須分別繪製兩個數字來解決這個問題,並將它們作爲膠乳中的兩個子圖。

回答

0

如果您的fig.subplots_adjustleft值設置爲常數兩個圖,左邊緣應該是在同一個地方,例如:

fig.subplots_adjust(left = 0.12) # you might need to adjust 0.12 to your needs 

假如把它放在你的腳本爲您的數字,這應該很好地對齊它們。

+0

嗯,我試過了,但是這並沒有解決問題。我沒有使用plt.subplots來繪製這些子圖。我必須首先生成這些數字並使用Latex對齊它們。 – user3821012

+0

你說在你用'fig,ax = plt.subplots(figsize =(6,4))'來指定數字大小的問題... – tom

+0

對不起,我不清楚。我確實使用了plt.subplots()來指定圖的大小,但那只是一個子圖。我爲每個子圖使用一個plt.subplots(),並嘗試在Latex中合併它們。如圖所示,第二個子圖(軸內部分)看起來比第一個小。使用fig.subplots_adjust(left = 0.12)仍然會得到相同的結果。 – user3821012

1

當我面對這種情況,我只是硬編碼在圖中軸線的位置,那麼事情會排隊......

import matplotlib.pyplot as plt 

ax = plt.axes([0.15, 0.65, 0.8, 0.3]) 
ax.plot(range(100), range(100)) 

ax2 = plt.axes([0.15, 0.15, 0.8, 0.3]) 
ax2.plot(range(100), range(10000, 110000, 1000)) 

enter image description here