LSST Applications  21.0.0-172-gfb10e10a+18fedfabac,22.0.0+297cba6710,22.0.0+80564b0ff1,22.0.0+8d77f4f51a,22.0.0+a28f4c53b1,22.0.0+dcf3732eb2,22.0.1-1-g7d6de66+2a20fdde0d,22.0.1-1-g8e32f31+297cba6710,22.0.1-1-geca5380+7fa3b7d9b6,22.0.1-12-g44dc1dc+2a20fdde0d,22.0.1-15-g6a90155+515f58c32b,22.0.1-16-g9282f48+790f5f2caa,22.0.1-2-g92698f7+dcf3732eb2,22.0.1-2-ga9b0f51+7fa3b7d9b6,22.0.1-2-gd1925c9+bf4f0e694f,22.0.1-24-g1ad7a390+a9625a72a8,22.0.1-25-g5bf6245+3ad8ecd50b,22.0.1-25-gb120d7b+8b5510f75f,22.0.1-27-g97737f7+2a20fdde0d,22.0.1-32-gf62ce7b1+aa4237961e,22.0.1-4-g0b3f228+2a20fdde0d,22.0.1-4-g243d05b+871c1b8305,22.0.1-4-g3a563be+32dcf1063f,22.0.1-4-g44f2e3d+9e4ab0f4fa,22.0.1-42-gca6935d93+ba5e5ca3eb,22.0.1-5-g15c806e+85460ae5f3,22.0.1-5-g58711c4+611d128589,22.0.1-5-g75bb458+99c117b92f,22.0.1-6-g1c63a23+7fa3b7d9b6,22.0.1-6-g50866e6+84ff5a128b,22.0.1-6-g8d3140d+720564cf76,22.0.1-6-gd805d02+cc5644f571,22.0.1-8-ge5750ce+85460ae5f3,master-g6e05de7fdc+babf819c66,master-g99da0e417a+8d77f4f51a,w.2021.48
LSST Data Management Base Package
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
lsst.meas.modelfit.display.densityPlot.HistogramLayer Class Reference

Public Member Functions

def __init__ (self, tag, bins1d=20, bins2d=(20, 20), kwds1d=None, kwds2d=None)
 
def hist1d (self, data, dim, limits)
 
def hist2d (self, data, xDim, yDim, xLimits, yLimits)
 
def plotX (self, axes, data, dim)
 
def plotY (self, axes, data, dim)
 
def plotXY (self, axes, data, xDim, yDim)
 

Public Attributes

 tag
 
 bins1d
 
 bins2d
 
 kwds1d
 
 kwds2d
 

Static Public Attributes

 defaults1d = dict(facecolor='b', alpha=0.5)
 
 defaults2d = dict(cmap=matplotlib.cm.Blues, vmin=0.0, interpolation='nearest')
 

Detailed Description

A Layer class for DensityPlot for gridded histograms, drawing bar plots in 1-d and
colormapped large-pixel images in 2-d.

Relies on two data object attributes:

   values ----- a (M,N) array of data points, where N is the dimension of the dataset and M is the
                number of data points

   weights ---- (optional) an array of weights with shape (M,); if not present, all weights will
                be set to unity

The need for these data object attributes can be removed by subclassing HistogramLayer and overriding
the hist1d and hist2d methods.

Definition at line 63 of file densityPlot.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.meas.modelfit.display.densityPlot.HistogramLayer.__init__ (   self,
  tag,
  bins1d = 20,
  bins2d = (20, 20),
  kwds1d = None,
  kwds2d = None 
)

Definition at line 82 of file densityPlot.py.

82  def __init__(self, tag, bins1d=20, bins2d=(20, 20), kwds1d=None, kwds2d=None):
83  self.tag = tag
84  self.bins1d = bins1d
85  self.bins2d = bins2d
86  self.kwds1d = mergeDefaults(kwds1d, self.defaults1d)
87  self.kwds2d = mergeDefaults(kwds2d, self.defaults2d)
88 

Member Function Documentation

◆ hist1d()

def lsst.meas.modelfit.display.densityPlot.HistogramLayer.hist1d (   self,
  data,
  dim,
  limits 
)
Extract points from the data object and compute a 1-d histogram.

Return value should match that of numpy.histogram: a tuple of (hist, edges),
where hist is a 1-d array with size=bins1d, and edges is a 1-d array with
size=self.bins1d+1 giving the upper and lower edges of the bins.

Definition at line 89 of file densityPlot.py.

89  def hist1d(self, data, dim, limits):
90  """Extract points from the data object and compute a 1-d histogram.
91 
92  Return value should match that of numpy.histogram: a tuple of (hist, edges),
93  where hist is a 1-d array with size=bins1d, and edges is a 1-d array with
94  size=self.bins1d+1 giving the upper and lower edges of the bins.
95  """
96  i = data.dimensions.index(dim)
97  if hasattr(data, "weights") and data.weights is not None:
98  weights = data.weights
99  else:
100  weights = None
101  return numpy.histogram(data.values[:, i], bins=self.bins1d, weights=weights,
102  range=limits, normed=True)
103 

◆ hist2d()

def lsst.meas.modelfit.display.densityPlot.HistogramLayer.hist2d (   self,
  data,
  xDim,
  yDim,
  xLimits,
  yLimits 
)
Extract points from the data object and compute a 1-d histogram.

Return value should match that of numpy.histogram2d: a tuple of (hist, xEdges, yEdges),
where hist is a 2-d array with shape=bins2d, xEdges is a 1-d array with size=bins2d[0]+1,
and yEdges is a 1-d array with size=bins2d[1]+1.

Definition at line 104 of file densityPlot.py.

104  def hist2d(self, data, xDim, yDim, xLimits, yLimits):
105  """Extract points from the data object and compute a 1-d histogram.
106 
107  Return value should match that of numpy.histogram2d: a tuple of (hist, xEdges, yEdges),
108  where hist is a 2-d array with shape=bins2d, xEdges is a 1-d array with size=bins2d[0]+1,
109  and yEdges is a 1-d array with size=bins2d[1]+1.
110  """
111  i = data.dimensions.index(yDim)
112  j = data.dimensions.index(xDim)
113  if hasattr(data, "weights") and data.weights is not None:
114  weights = data.weights
115  else:
116  weights = None
117  return numpy.histogram2d(data.values[:, j], data.values[:, i], bins=self.bins2d, weights=weights,
118  range=(xLimits, yLimits), normed=True)
119 

◆ plotX()

def lsst.meas.modelfit.display.densityPlot.HistogramLayer.plotX (   self,
  axes,
  data,
  dim 
)

Definition at line 120 of file densityPlot.py.

120  def plotX(self, axes, data, dim):
121  y, xEdge = self.hist1d(data, dim, axes.get_xlim())
122  xCenter = 0.5*(xEdge[:-1] + xEdge[1:])
123  width = xEdge[1:] - xEdge[:-1]
124  return axes.bar(xCenter, y, width=width, align='center', **self.kwds1d)
125 

◆ plotXY()

def lsst.meas.modelfit.display.densityPlot.HistogramLayer.plotXY (   self,
  axes,
  data,
  xDim,
  yDim 
)

Definition at line 132 of file densityPlot.py.

132  def plotXY(self, axes, data, xDim, yDim):
133  z, xEdge, yEdge = self.hist2d(data, xDim, yDim, axes.get_xlim(), axes.get_ylim())
134  return axes.imshow(z.transpose(), aspect='auto', extent=(xEdge[0], xEdge[-1], yEdge[0], yEdge[-1]),
135  origin='lower', **self.kwds2d)
136 
137 

◆ plotY()

def lsst.meas.modelfit.display.densityPlot.HistogramLayer.plotY (   self,
  axes,
  data,
  dim 
)

Definition at line 126 of file densityPlot.py.

126  def plotY(self, axes, data, dim):
127  x, yEdge = self.hist1d(data, dim, axes.get_ylim())
128  yCenter = 0.5*(yEdge[:-1] + yEdge[1:])
129  height = yEdge[1:] - yEdge[:-1]
130  return axes.barh(yCenter, x, height=height, align='center', **self.kwds1d)
131 

Member Data Documentation

◆ bins1d

lsst.meas.modelfit.display.densityPlot.HistogramLayer.bins1d

Definition at line 84 of file densityPlot.py.

◆ bins2d

lsst.meas.modelfit.display.densityPlot.HistogramLayer.bins2d

Definition at line 85 of file densityPlot.py.

◆ defaults1d

lsst.meas.modelfit.display.densityPlot.HistogramLayer.defaults1d = dict(facecolor='b', alpha=0.5)
static

Definition at line 79 of file densityPlot.py.

◆ defaults2d

lsst.meas.modelfit.display.densityPlot.HistogramLayer.defaults2d = dict(cmap=matplotlib.cm.Blues, vmin=0.0, interpolation='nearest')
static

Definition at line 80 of file densityPlot.py.

◆ kwds1d

lsst.meas.modelfit.display.densityPlot.HistogramLayer.kwds1d

Definition at line 86 of file densityPlot.py.

◆ kwds2d

lsst.meas.modelfit.display.densityPlot.HistogramLayer.kwds2d

Definition at line 87 of file densityPlot.py.

◆ tag

lsst.meas.modelfit.display.densityPlot.HistogramLayer.tag

Definition at line 83 of file densityPlot.py.


The documentation for this class was generated from the following file: