我导入了一个fits文件,基本上想把它绘制成一个轮廓图。问题出在纵横比上。图像的尺寸为320x240,由于我不希望图片被拉伸,所以我希望图像的比例也为320/240。在
然而,Python将其强制为一个类似正方形的东西,这就是为什么我使用plt.axis('equal')
但这会在绘图区域产生白色区域,我不知道如何去除它们。。。在
有什么想法吗?在
非常感谢!!在
import numpy
import math
from astropy.io import fits
import matplotlib.pyplot as plt
scidatafile=fits.open('24-02-2015-PSF-OD00-iris15-30pin.fits')
scidata=scidatafile[0].data
oneframe=scidata[0]
oneframe[oneframe<0]=0
yvec=numpy.linspace(0,240,240)
xvec=numpy.linspace(0,320,320)
X,Y=numpy.meshgrid(xvec,yvec)
就这样
^{pr2}$
使用
pylab
,可以这样做:在普通matplotlib中,我认为使用
gcf()
操作图形也可以获得相同的效果。在首先,你应该发布一个最小的工作示例。由于您使用的数据不是可用的,我只是使用了一些自己的虚拟数据。在
基本上问题是在轴上有任何数据之前设置纵横比。我不知道为什么,如果是我,我会把它标记为bug而不是特性。所以在调用contourf之后设置纵横比。在
我也不明白为什么aspect=1不适用于contourf,而适用于imshow。在
需要10次重复才能发布图片:'旧.png'
^{pr2}$需要10次重复才能发布图片:'新建.png'
相关问题 更多 >
编程相关推荐