def plot_projection(self,iaxis,**kwargs): data = kwargs.pop('data',self._data) noerror = kwargs.pop('noerror',False) axes = wcs_to_axes(self._wcs,self._data.shape[::-1]) x = edge_to_center(axes[iaxis]) w = edge_to_width(axes[iaxis]) c = self.get_data_projection(data,axes,iaxis,erange=self._erange) if noerror: plt.errorbar(x,c,**kwargs) else: plt.errorbar(x,c,yerr=c**0.5,xerr=w/2.,**kwargs)
def __init__(self,cmap,roi,**kwargs): # super(ROIPlotter,self).__init__(None,**kwargs) fermipy.config.Configurable.__init__(self,None,**kwargs) self._roi = roi self._data = cmap.counts.T self._wcs = cmap.wcs self._erange = self.config['erange'] if self._erange: axes = wcs_to_axes(self._wcs,self._data.shape[::-1]) i0 = valToEdge(axes[2],self._erange[0]) i1 = valToEdge(axes[2],self._erange[1]) imdata = self._data[:,:,i0:i1] else: imdata = self._data self._implot = ImagePlotter(imdata,self._wcs)