2014-12-05 98 views
1

我正在做一個包含插圖的數字。我無法弄清楚如何讓空白被刪除。我試過使用tight_sublot(),但它仍然留下我想刪除的插圖附近的空格。有什麼建議麼?matplotlib figure插入空白

import numpy as np 
from mpl_toolkits.mplot3d import Axes3D 
import matplotlib.pyplot as plt 
import silicon2_data 

data = silicon2_data.out 

fig = plt.figure() 
ax = fig.add_subplot(111, projection='3d') 

for temperature in data: 
    xs = temperature[:,0] 
    ys = temperature[:,1] 
    zs = temperature[:,2] 
    ax.scatter(xs, ys, zs) 
ax.set_zbound(0, 1.4) 

ax.set_xlabel(r'$2\theta$ (degrees)') 
ax.set_ylabel('Temperature (K)') 
ax.set_zlabel(r'Intensity ($10^5$cts/sec)') 
#inset 
ax2 = fig.add_axes([0.15, 0.62, 0.25, 0.25]) 

ax2.plot(data[3,:,0], data[3,:,2],'bo') 
ax2.plot(data[7,:,0], data[7,:,2],'rx') 

ax2.legend(('16K', '18K'), loc=0, fontsize ='small') 
ax2.set_ybound(0, 1.4) 

plt.tight_layout() 
plt.show() 

這大約是我想要做:

enter image description here

+0

你可以在其他地方發佈圖片,在這裏添加鏈接,然後解釋到底你想要什麼? – ThePredator 2014-12-05 18:29:58

+0

下面是一個鏈接,大致說明了我試圖做的事情:http://web.mit.edu/dillon/www/python/figure_3.png – dillon 2014-12-07 22:32:33

回答

0

調用

fig = plt.figure() 

可以調整的次要情節的特性後,使用與fig.add_subplot()加入他們之前pyplot的subplots_adjust()方法。出於您的目的,您可以嘗試

fig.subplots_adjust(wspace=0.05) 
fig.subplots_adjust(hspace=0.05) 

其中數字是圖形的寬度或高度的分數。

+0

這並不能解決我的問題。我希望最終有一個儘可能緊的圖形(即沒有額外的空白)。也許問題是我明確定位第二個軸,因爲我希望它是一個插圖? – dillon 2014-12-05 21:54:19

+0

@dillon是否嘗試將'hspace'和'wspace'設置爲0? – MattDMo 2014-12-05 22:35:33

+0

@dillon,你還可以發佈你獲得的結果圖片,以及你想要實現的模型嗎?如果沒有任何數據放入代碼中,這很難直觀化。 – MattDMo 2014-12-05 23:09:37