def drawKernel(kernel, contour=False, coords='C', **kwargs):
ax = plt.gca()
if 'colors' not in kwargs:
kwargs.setdefault('cmap',matplotlib.cm.jet)
kwargs.setdefault('origin','lower')
ext = kernel.extension
theta = kernel.theta
xmin,xmax = -kernel.edge,kernel.edge
ymin,ymax = -kernel.edge,kernel.edge
if coords[-1] == 'G':
lon, lat = kernel.lon, kernel.lat
elif coords[-1] == 'C':
lon,lat = gal2cel(kernel.lon, kernel.lat)
else:
msg = 'Unrecognized coordinate: %s'%coords
raise Exception(msg)
x = np.linspace(xmin,xmax,500)+lon
y = np.linspace(ymin,ymax,500)+lat
xx,yy = np.meshgrid(x,y)
extent = [x[0],x[-1],y[0],y[-1]]
kwargs.setdefault('extent',extent)
if coords[-1] == 'C': xx,yy = cel2gal(xx,yy)
zz = kernel.pdf(xx.flat,yy.flat).reshape(xx.shape)
zmax = zz.max()
if contour:
levels = kwargs.pop('levels',10)
#levels = np.logspace(np.log10(zmax)-1,np.log10(zmax),7)
ret = ax.contour(zz,levels,**kwargs)
else:
val = np.ma.array(zz,mask=zz<zz.max()/100.)
ret = ax.imshow(val,**kwargs)
return ret
###################################################
评论列表
文章目录