2014-12-05 86 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