2015-08-18 15 views
6

Ben video yapmak için matplotlib ile çok sayıda resim çiziyorum ama ben videoyu yapmak için çalıştığımda resimlerin şekil zaman aynı değildir .. Bazı hatalar uyarır. Imsave kullandığımda çıktının şeklini empoze etmek için bir komut var mı?Python Matplotlib - Imsave ile şekil boyutlarını daraltma

Sen benim kod parçasını görebilirsiniz

: üst üste yok rakamlarını sahip olmak için

plt.close() 
fig, axes = plt.subplots(nrows=2, ncols=3) 

###Figures composante X 
plt.tight_layout(pad=0.05, w_pad=0.001, h_pad=2.0) 
ax1 = plt.subplot(231) # creates first axis 
ax1.set_xticks([0,2000,500,1000,1500]) 
ax1.set_yticks([0,2000,500,1000,1500]) 
ax1.tick_params(labelsize=8) 
i1 = ax1.imshow(U,cmap='hot',extent=(X.min(),2000,Y.min(),2000), vmin=U.min(), vmax=U.max()) 
cb1=plt.colorbar(i1,ax=ax1,ticks=[U.min(),(U.min()+U.max())/2., U.max()],fraction=0.046, pad=0.04,format='%.2f') 
cb1.ax.tick_params(labelsize=8) 

ax1.set_title("$ \mathrm{Ux_{mes} \/ (pix)}$", y=1.05, fontsize=12) 
ax2 = plt.subplot(232) # creates second axis 
ax2.set_xticks([0,2000,500,1000,1500]) 
ax2.set_yticks([0,2000,500,1000,1500]) 
i2=ax2.imshow(UU,cmap='hot',extent=(X.min(),2000,Y.min(),2000), vmin=UU.min(), vmax=UU.max()) 
ax2.set_title("$\mathrm{Ux_{cal} \/ (pix)}$", y=1.05, fontsize=12) 
ax2.set_xticklabels([]) 
ax2.set_yticklabels([]) 
cb2=plt.colorbar(i2,ax=ax2,fraction=0.046, pad=0.04,ticks=[UU.min(),(UU.min()+UU.max())/2.,UU.max()],format='%.2f') 
cb2.ax.tick_params(labelsize=8) 

ax3 = plt.subplot(233) # creates first axis 
ax3.set_xticks([0,2000,500,1000,1500]) 
ax3.set_yticks([0,2000,500,1000,1500]) 
i3 = ax3.imshow(resU,cmap='hot',extent=(X.min(),2000,Y.min(),2000),vmin=0.,vmax=0.1) 
ax3.imshow(scipy.ndimage.filters.gaussian_filter(masquey2, 3),cmap='hot',alpha=0.2,extent=(X.min(),2000,Y.min(),2000)) 
ax3.set_title("$\mathrm{\mid \/ Ux_{mes} - Ux_{cal}\mid \/ (pix)}$ ", y=1.05, fontsize=12) 
cb3=plt.colorbar(i3,ax=ax3,fraction=0.046, pad=0.04,ticks=[0.,0.1],format='%.2f') 
ax3.set_xticklabels([]) 
ax3.set_yticklabels([]) 
cb3.ax.tick_params(labelsize=8) 
plt.gcf().tight_layout() 

ben kullanıyorum "plt.gcf() tight_layout()" ...

cevap

9

ise sadece deneyebileceğiniz belli boyutta görüntülemek istiyorsanız

fig.set_size_inches(10, 15) 
fig.savefig('image.png', dpi=100) 

: diskteki görüntülere dışarı rakamlar kurtarıyorsun, sen boyutunu ayarlamak için böyle bir şey yapabilir

Boyutlar inç olarak ayarlandığında,

. http://matplotlib.org/api/figure_api.html#matplotlib.figure.Figure

: Burada

Şekiller ile ayarlanabilir parametreler bir açıklama var