CMS 3D CMS Logo

List of all members | Public Member Functions | Private Attributes
plotting.PlotTextBox Class Reference

Public Member Functions

def __init__ (self, xmin, ymin, xmax, ymax, lineheight=0.04, fillColor=ROOT.kWhite, transparent=True, **kwargs)
 
def addText (self, text)
 
def Draw (self, options="")
 
def move (self, dx=0, dy=0, dw=0, dh=0)
 
def width (self)
 

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 1582 of file plotting.py.

Constructor & Destructor Documentation

◆ __init__()

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 1584 of file plotting.py.

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

Member Function Documentation

◆ addText()

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

Definition at line 1612 of file plotting.py.

1612  def addText(self, text):
1613  """Add text to current position"""
1614  self._currenty -= self._lineheight
1615  self._texts.append(PlotText(self._xmin+0.01, self._currenty, text, **self._textArgs))
1616 

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

◆ Draw()

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 1646 of file plotting.py.

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

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.

◆ move()

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 1620 of file plotting.py.

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

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.

◆ width()

def plotting.PlotTextBox.width (   self)

Member Data Documentation

◆ _currenty

plotting.PlotTextBox._currenty
private

Definition at line 1610 of file plotting.py.

Referenced by plotting.PlotTextBox.addText().

◆ _fillColor

plotting.PlotTextBox._fillColor
private

Definition at line 1604 of file plotting.py.

◆ _lineheight

plotting.PlotTextBox._lineheight
private

Definition at line 1603 of file plotting.py.

Referenced by plotting.PlotTextBox.addText().

◆ _pave

plotting.PlotTextBox._pave
private

Definition at line 1656 of file plotting.py.

◆ _textArgs

plotting.PlotTextBox._textArgs
private

Definition at line 1607 of file plotting.py.

Referenced by plotting.PlotTextBox.addText().

◆ _texts

plotting.PlotTextBox._texts
private

Definition at line 1606 of file plotting.py.

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

◆ _transparent

plotting.PlotTextBox._transparent
private

Definition at line 1605 of file plotting.py.

Referenced by plotting.PlotTextBox.Draw().

◆ _xmax

plotting.PlotTextBox._xmax
private

Definition at line 1600 of file plotting.py.

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

◆ _xmin

plotting.PlotTextBox._xmin
private

◆ _ymax

plotting.PlotTextBox._ymax
private

Definition at line 1602 of file plotting.py.

Referenced by plotting.PlotTextBox.move().

◆ _ymin

plotting.PlotTextBox._ymin
private

Definition at line 1601 of file plotting.py.

Referenced by plotting.PlotTextBox.move().

ApeEstimator_cff.width
width
Definition: ApeEstimator_cff.py:24
mps_setup.append
append
Definition: mps_setup.py:85
eostools.move
def move(src, dest)
Definition: eostools.py:511
update
#define update(a, b)
Definition: TrackClassifier.cc:10