CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Public Attributes | Static Public Attributes
svgfig.LineAxis Class Reference
Inheritance diagram for svgfig.LineAxis:
svgfig.Line svgfig.Ticks svgfig.Curve svgfig.XAxis svgfig.YAxis

Public Member Functions

def __init__
 
def __repr__
 
def interpret
 
def SVG
 
- Public Member Functions inherited from svgfig.Line
def __init__
 
def __repr__
 
def Path
 
def SVG
 
- Public Member Functions inherited from svgfig.Curve
def __init__
 
def __repr__
 
def Path
 
def sample
 end nested class More...
 
def subsample
 
def SVG
 
- Public Member Functions inherited from svgfig.Ticks
def __init__
 
def __repr__
 
def compute_logminiticks
 
def compute_logticks
 
def compute_miniticks
 
def compute_ticks
 
def interpret
 
def orient_tickmark
 
def regular_miniticks
 
def SVG
 

Public Attributes

 end
 
 exclude
 
 f
 
 high
 
 low
 
 start
 
- Public Attributes inherited from svgfig.Line
 arrow_end
 
 attr
 
 f
 
 high
 
 loop
 
 low
 
 y2
 
- Public Attributes inherited from svgfig.Curve
 attr
 
 f
 
 high
 
 last_samples
 
 loop
 
 low
 
- Public Attributes inherited from svgfig.Ticks
 arrow_end
 
 arrow_start
 
 attr
 
 f
 
 high
 
 labels
 
 last_miniticks
 
 logbase
 
 low
 
 miniticks
 
 text_attr
 
 ticks
 

Static Public Attributes

dictionary defaults = {"stroke-width":"0.25pt"}
 
dictionary text_defaults = {"stroke":"none", "fill":"black", "font-size":5}
 
- Static Public Attributes inherited from svgfig.Line
dictionary defaults = {}
 
- Static Public Attributes inherited from svgfig.Curve
dictionary defaults = {}
 
int discontinuity_limit = 5
 
float linearity_limit = 0.05
 
 random_sampling = True
 
int recursion_limit = 15
 
- Static Public Attributes inherited from svgfig.Ticks
dictionary defaults = {"stroke-width":"0.25pt"}
 
float minitick_end = 0.75
 
float minitick_start = -0.75
 
int text_angle = 0
 
dictionary text_defaults = {"stroke":"none", "fill":"black", "font-size":5}
 
float text_start = 2.5
 
float tick_end = 1.5
 
float tick_start = -1.5
 

Detailed Description

Draws an axis with tick marks along a line.

LineAxis(x1, y1, x2, y2, start, end, ticks, miniticks, labels, logbase,
arrow_start, arrow_end, text_attr, attribute=value)

x1, y1                  required        starting point
x2, y2                  required        ending point
start, end              default=0, 1    values to start and end labeling
ticks                   default=-10     request ticks according to the standard
                                        tick specification (see help(Ticks))
miniticks               default=True    request miniticks according to the
                                        standard minitick specification
labels                  True            request tick labels according to the
                                        standard tick label specification
logbase                 default=None    if a number, the x axis is logarithmic
                                        with ticks at the given base (usually 10)
arrow_start             default=None    if a new string identifier, draw an arrow
                                        at the low-end of the axis, referenced by
                                        that identifier; if an SVG marker object,
                                        use that marker
arrow_end               default=None    if a new string identifier, draw an arrow
                                        at the high-end of the axis, referenced by
                                        that identifier; if an SVG marker object,
                                        use that marker
text_attr               default={}      SVG attributes for the text labels
attribute=value pairs   keyword list    SVG attributes

Definition at line 2853 of file svgfig.py.

Constructor & Destructor Documentation

def svgfig.LineAxis.__init__ (   self,
  x1,
  y1,
  x2,
  y2,
  start = 0.,
  end = 1.,
  ticks = -10,
  miniticks = True,
  labels = True,
  logbase = None,
  arrow_start = None,
  arrow_end = None,
  exclude = None,
  text_attr = {},
  attr 
)

Definition at line 2887 of file svgfig.py.

2888  def __init__(self, x1, y1, x2, y2, start=0., end=1., ticks=-10, miniticks=True, labels=True, logbase=None, arrow_start=None, arrow_end=None, exclude=None, text_attr={}, **attr):
2889  self.start = start
2890  self.end = end
2891  self.exclude = exclude
2892  tattr = dict(self.text_defaults)
2893  tattr.update(text_attr)
2894  Line.__init__(self, x1, y1, x2, y2, **attr)
2895  Ticks.__init__(self, None, None, None, ticks, miniticks, labels, logbase, arrow_start, arrow_end, tattr, **attr)
dictionary text_defaults
Definition: svgfig.py:2380

Member Function Documentation

def svgfig.LineAxis.__repr__ (   self)

Definition at line 2884 of file svgfig.py.

References svgfig.SVG.attr, svgfig.Path.attr, svgfig.Curve.attr, svgfig.Ticks.labels, svgfig.Ticks.ticks, reco::PdfInfo.x1, L1MonitorDigi.x1(), L1DataEmulDigi.x1(), TrackingTools_PatternTools::dictionary.x1, DDTrap.x1(), DataFormats_TrackReco::dictionary.x1, DataFormats_METReco::dictionary.x1, DDPseudoTrap.x1(), Exhume::CrossSection.x1, svgfig.VLine.x1, svgfig.YAxis.x1, reco::PdfInfo.x2, L1MonitorDigi.x2(), L1DataEmulDigi.x2(), TrackingTools_PatternTools::dictionary.x2, DDTrap.x2(), DataFormats_TrackReco::dictionary.x2, DDPseudoTrap.x2(), DataFormats_METReco::dictionary.x2, Exhume::CrossSection.x2, svgfig.VLine.x2, svgfig.YAxis.x2, DDTrap.y1(), DDPseudoTrap.y1(), svgfig.HLine.y1, svgfig.XAxis.y1, and svgfig.Line.y2.

2885  def __repr__(self):
2886  return "<LineAxis (%g, %g) to (%g, %g) ticks=%s labels=%s %s>" % (self.x1, self.y1, self.x2, self.y2, str(self.ticks), str(self.labels), self.attr)
def svgfig.LineAxis.interpret (   self)

Definition at line 2896 of file svgfig.py.

References svgfig.LineAxis.exclude.

2897  def interpret(self):
2898  if self.exclude != None and not (isinstance(self.exclude, (tuple, list)) and len(self.exclude) == 2 and \
2899  isinstance(self.exclude[0], (int, long, float)) and isinstance(self.exclude[1], (int, long, float))):
2900  raise TypeError, "exclude must either be None or (low, high)"
2901 
2902  ticks, miniticks = Ticks.interpret(self)
2903  if self.exclude == None: return ticks, miniticks
2904 
2905  ticks2 = {}
2906  for loc, label in ticks.items():
2907  if self.exclude[0] <= loc <= self.exclude[1]:
2908  ticks2[loc] = ""
2909  else:
2910  ticks2[loc] = label
2911 
2912  return ticks2, miniticks
def svgfig.LineAxis.SVG (   self,
  trans = None 
)
Apply the transformation "trans" and return an SVG object.

Definition at line 2913 of file svgfig.py.

References svgfig.Curve.f.

2914  def SVG(self, trans=None):
2915  """Apply the transformation "trans" and return an SVG object."""
2916  line = Line.SVG(self, trans) # must be evaluated first, to set self.f, self.low, self.high
2917 
2918  f01 = self.f
2919  self.f = lambda t: f01(1. * (t - self.start) / (self.end - self.start))
2920  self.low = self.start
2921  self.high = self.end
2922 
2923  if self.arrow_start != False and self.arrow_start != None:
2924  if isinstance(self.arrow_start, basestring):
2925  line.attr["marker-start"] = "url(#%s)" % self.arrow_start
2926  else:
2927  line.attr["marker-start"] = "url(#%s)" % self.arrow_start.id
2928 
2929  if self.arrow_end != False and self.arrow_end != None:
2930  if isinstance(self.arrow_end, basestring):
2931  line.attr["marker-end"] = "url(#%s)" % self.arrow_end
2932  else:
2933  line.attr["marker-end"] = "url(#%s)" % self.arrow_end.id
2934 
2935  ticks = Ticks.SVG(self, trans) # returns a <g />
2936  ticks.append(line)
return ticks

Member Data Documentation

dictionary svgfig.LineAxis.defaults = {"stroke-width":"0.25pt"}
static

Definition at line 2881 of file svgfig.py.

svgfig.LineAxis.end

Definition at line 2889 of file svgfig.py.

Referenced by Types.LuminosityBlockRange.cppID(), Types.EventRange.cppID(), and cmsPerfSuite.PerfSuiteTimer.set_end().

svgfig.LineAxis.exclude

Definition at line 2890 of file svgfig.py.

Referenced by svgfig.LineAxis.interpret().

svgfig.LineAxis.f

Definition at line 2918 of file svgfig.py.

Referenced by Vispa.Views.RootCanvasView.RootCanvasView.createGraph(), and Vispa.Views.RootCanvasView.RootCanvasView.createLegoPlot().

svgfig.LineAxis.high

Definition at line 2920 of file svgfig.py.

svgfig.LineAxis.low

Definition at line 2919 of file svgfig.py.

svgfig.LineAxis.start

Definition at line 2888 of file svgfig.py.

Referenced by progressbar.ProgressBar.__next__(), Types.LuminosityBlockRange.cppID(), Types.EventRange.cppID(), cmsPerfSuite.PerfSuiteTimer.set_end(), and cmsPerfSuite.PerfSuiteTimer.set_start().

dictionary svgfig.LineAxis.text_defaults = {"stroke":"none", "fill":"black", "font-size":5}
static

Definition at line 2882 of file svgfig.py.