def plotDistance(self):
filename = self.config.mergefile
logger.debug("Opening %s..."%filename)
f = pyfits.open(filename)
pixels,values = f[1].data['PIXEL'],2*f[1].data['LOG_LIKELIHOOD']
if values.ndim == 1: values = values.reshape(-1,1)
distances = f[2].data['DISTANCE_MODULUS']
if distances.ndim == 1: distances = distances.reshape(-1,1)
ts_map = healpy.UNSEEN * numpy.ones(healpy.nside2npix(self.nside))
ndim = len(distances)
nrows = int(numpy.sqrt(ndim))
ncols = ndim // nrows + (ndim%nrows > 0)
fig = pylab.figure()
axes = AxesGrid(fig, 111, nrows_ncols = (nrows, ncols),axes_pad=0,
label_mode='1', cbar_mode='single',cbar_pad=0,cbar_size='5%',
share_all=True,add_all=False)
images = []
for i,val in enumerate(values.T):
ts_map[pixels] = val
im = healpy.gnomview(ts_map,**self.gnom_kwargs)
pylab.close()
images.append(im)
data = numpy.array(images); mask = (data == healpy.UNSEEN)
images = numpy.ma.array(data=data,mask=mask)
vmin = numpy.ma.min(images)
vmax = numpy.ma.max(images)
for i,val in enumerate(values.T):
ax = axes[i]
im = ax.imshow(images[i],origin='bottom',vmin=vmin,vmax=vmax)
ax.cax.colorbar(im)
#ax.annotate(r"$\mu = %g$"%distances[i],**self.label_kwargs)
ax.annotate(r"$d = %.0f$ kpc"%mod2dist(distances[i]),**self.label_kwargs)
ax.axis["left"].major_ticklabels.set_visible(False)
ax.axis["bottom"].major_ticklabels.set_visible(False)
fig.add_axes(ax)
fig.add_axes(ax.cax)
return fig,axes
评论列表
文章目录