CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Private Attributes
plotting.PlotTextBox Class Reference

Public Member Functions

def __init__
 
def addText
 
def Draw
 
def move
 
def width
 

Private Attributes

 _currenty
 
 _fillColor
 
 _lineheight
 
 _pave
 
 _textArgs
 
 _texts
 
 _transparent
 
 _xmax
 
 _xmin
 
 _ymax
 
 _ymin
 

Detailed Description

Class for drawing text and a background box.

Definition at line 1583 of file plotting.py.

Constructor & Destructor Documentation

def plotting.PlotTextBox.__init__ (   self,
  xmin,
  ymin,
  xmax,
  ymax,
  lineheight = 0.04,
  fillColor = ROOT.kWhite,
  transparent = True,
  kwargs 
)
Constructor

Arguments:
xmin        -- X min coordinate of the box (NDC)
ymin        -- Y min coordinate of the box (NDC) (if None, deduced automatically)
xmax        -- X max coordinate of the box (NDC)
ymax        -- Y max coordinate of the box (NDC)
lineheight  -- Line height
fillColor   -- Fill color of the box
transparent -- Should the box be transparent? (in practive the TPave is not created)

Keyword arguments are forwarded to constructor of PlotText

Definition at line 1585 of file plotting.py.

1586  def __init__(self, xmin, ymin, xmax, ymax, lineheight=0.04, fillColor=ROOT.kWhite, transparent=True, **kwargs):
1587  """Constructor
1588 
1589  Arguments:
1590  xmin -- X min coordinate of the box (NDC)
1591  ymin -- Y min coordinate of the box (NDC) (if None, deduced automatically)
1592  xmax -- X max coordinate of the box (NDC)
1593  ymax -- Y max coordinate of the box (NDC)
1594  lineheight -- Line height
1595  fillColor -- Fill color of the box
1596  transparent -- Should the box be transparent? (in practive the TPave is not created)
1597 
1598  Keyword arguments are forwarded to constructor of PlotText
1599  """
1600  # ROOT.TPave Set/GetX1NDC() etc don't seem to work as expected.
1601  self._xmin = xmin
1602  self._xmax = xmax
1603  self._ymin = ymin
1604  self._ymax = ymax
1605  self._lineheight = lineheight
1606  self._fillColor = fillColor
1607  self._transparent = transparent
1608  self._texts = []
1609  self._textArgs = {}
1610  self._textArgs.update(kwargs)
1612  self._currenty = ymax

Member Function Documentation

def plotting.PlotTextBox.addText (   self,
  text 
)
Add text to current position

Definition at line 1613 of file plotting.py.

References plotting.PlotTextBox._currenty, plotting.PlotTextBox._lineheight, plotting.PlotTextBox._textArgs, MEGeom._xmin, HistoParams< T >._xmin, HistoParams< TH2F >._xmin, HistoParams< TProfile2D >._xmin, and plotting.PlotTextBox._xmin.

1614  def addText(self, text):
1615  """Add text to current position"""
1616  self._currenty -= self._lineheight
1617  self._texts.append(PlotText(self._xmin+0.01, self._currenty, text, **self._textArgs))
def plotting.PlotTextBox.Draw (   self,
  options = "" 
)
Draw the box and the text to the current TPad.

Arguments:
options -- Forwarded to ROOT.TPave.Draw(), and the Draw() of the contained objects

Definition at line 1647 of file plotting.py.

References plotting.PlotTextBox._transparent, fftjetcms::LookupTable2d.ymin(), PixelClusterizerBase::AccretionCluster.ymin, MTDClusterizerBase::AccretionCluster.ymin, dqmoffline::l1t::HistDefinition.ymin, Exhume::Event.ymin, cscdqm::AddressBox.ymin, and TrackerMap.ymin.

1648  def Draw(self, options=""):
1649  """Draw the box and the text to the current TPad.
1650 
1651  Arguments:
1652  options -- Forwarded to ROOT.TPave.Draw(), and the Draw() of the contained objects
1653  """
1654  if not self._transparent:
1655  ymin = self.ymin
1656  if ymin is None:
1657  ymin = self.currenty - 0.01
1658  self._pave = ROOT.TPave(self.xmin, self.ymin, self.xmax, self.ymax, 0, "NDC")
1659  self._pave.SetFillColor(self.fillColor)
1660  self._pave.Draw(options)
1661  for t in self._texts:
1662  t.Draw(options)
def plotting.PlotTextBox.move (   self,
  dx = 0,
  dy = 0,
  dw = 0,
  dh = 0 
)
Move the box and the contained text objects

Arguments:
dx -- Movement in x (positive is to right)
dy -- Movement in y (positive is to up)
dw -- Increment of width (negative to decrease width)
dh -- Increment of height (negative to decrease height)

dx and dy affect to both box and text objects, dw and dh
affect the box only.

Definition at line 1621 of file plotting.py.

References plotting.PlotTextBox._texts, MEGeom._xmax, HistoParams< T >._xmax, HistoParams< TH2F >._xmax, HistoParams< TProfile2D >._xmax, plotting.PlotTextBox._xmax, MEGeom._xmin, HistoParams< T >._xmin, HistoParams< TH2F >._xmin, HistoParams< TProfile2D >._xmin, plotting.PlotTextBox._xmin, MEGeom._ymax, HistoParams< T >._ymax, HistoParams< TH2F >._ymax, HistoParams< TProfile2D >._ymax, plotting.PlotTextBox._ymax, MEGeom._ymin, HistoParams< T >._ymin, HistoParams< TH2F >._ymin, HistoParams< TProfile2D >._ymin, and plotting.PlotTextBox._ymin.

1622  def move(self, dx=0, dy=0, dw=0, dh=0):
1623  """Move the box and the contained text objects
1624 
1625  Arguments:
1626  dx -- Movement in x (positive is to right)
1627  dy -- Movement in y (positive is to up)
1628  dw -- Increment of width (negative to decrease width)
1629  dh -- Increment of height (negative to decrease height)
1630 
1631  dx and dy affect to both box and text objects, dw and dh
1632  affect the box only.
1633  """
1634  self._xmin += dx
1635  self._xmax += dx
1636  if self._ymin is not None:
1637  self._ymin += dy
1638  self._ymax += dy
1639 
1640  self._xmax += dw
1641  if self._ymin is not None:
1642  self._ymin -= dh
1643 
1644  for t in self._texts:
1645  t._x += dx
1646  t._y += dy
def plotting.PlotTextBox.width (   self)

Definition at line 1618 of file plotting.py.

References MEGeom._xmax, HistoParams< T >._xmax, HistoParams< TH2F >._xmax, HistoParams< TProfile2D >._xmax, plotting.PlotTextBox._xmax, MEGeom._xmin, HistoParams< T >._xmin, HistoParams< TH2F >._xmin, HistoParams< TProfile2D >._xmin, and plotting.PlotTextBox._xmin.

1619  def width(self):
1620  return self._xmax-self._xmin

Member Data Documentation

plotting.PlotTextBox._currenty
private

Definition at line 1611 of file plotting.py.

Referenced by plotting.PlotTextBox.addText().

plotting.PlotTextBox._fillColor
private

Definition at line 1605 of file plotting.py.

plotting.PlotTextBox._lineheight
private

Definition at line 1604 of file plotting.py.

Referenced by plotting.PlotTextBox.addText().

plotting.PlotTextBox._pave
private

Definition at line 1657 of file plotting.py.

plotting.PlotTextBox._textArgs
private

Definition at line 1608 of file plotting.py.

Referenced by plotting.PlotTextBox.addText().

plotting.PlotTextBox._texts
private

Definition at line 1607 of file plotting.py.

Referenced by plotting.PlotTextBox.move().

plotting.PlotTextBox._transparent
private

Definition at line 1606 of file plotting.py.

Referenced by plotting.PlotTextBox.Draw().

plotting.PlotTextBox._xmax
private

Definition at line 1601 of file plotting.py.

Referenced by plotting.PlotTextBox.move(), and plotting.PlotTextBox.width().

plotting.PlotTextBox._xmin
private

Definition at line 1600 of file plotting.py.

Referenced by plotting.PlotTextBox.addText(), plotting.PlotTextBox.move(), and plotting.PlotTextBox.width().

plotting.PlotTextBox._ymax
private

Definition at line 1603 of file plotting.py.

Referenced by plotting.PlotTextBox.move().

plotting.PlotTextBox._ymin
private

Definition at line 1602 of file plotting.py.

Referenced by plotting.PlotTextBox.move().