CMS 3D CMS Logo

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__ (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)
 
def __repr__ (self)
 
def interpret (self)
 
def SVG (self, trans=None)
 
- Public Member Functions inherited from svgfig.Line
def __init__ (self, x1, y1, x2, y2, arrow_start=None, arrow_end=None, attr)
 
def __repr__ (self)
 
def Path (self, trans=None, local=False)
 
def SVG (self, trans=None)
 
- Public Member Functions inherited from svgfig.Curve
def __init__ (self, f, low, high, loop=False, attr)
 
def __repr__ (self)
 
def Path (self, trans=None, local=False)
 
def sample (self, trans=None)
 end nested class More...
 
def subsample (self, left, right, depth, trans=None)
 
def SVG (self, trans=None)
 
- Public Member Functions inherited from svgfig.Ticks
def __init__ (self, f, low, high, ticks=-10, miniticks=True, labels=True, logbase=None, arrow_start=None, arrow_end=None, text_attr={}, attr)
 
def __repr__ (self)
 
def compute_logminiticks (self, base)
 
def compute_logticks (self, base, N, format)
 
def compute_miniticks (self, original_ticks)
 
def compute_ticks (self, N, format)
 
def interpret (self)
 
def orient_tickmark (self, t, trans=None)
 
def regular_miniticks (self, N)
 
def SVG (self, trans=None)
 

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
 
bool 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.

2887  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):
2888  self.start = start
2889  self.end = end
2890  self.exclude = exclude
2891  tattr = dict(self.text_defaults)
2892  tattr.update(text_attr)
2893  Line.__init__(self, x1, y1, x2, y2, **attr)
2894  Ticks.__init__(self, None, None, None, ticks, miniticks, labels, logbase, arrow_start, arrow_end, tattr, **attr)
2895 
dictionary text_defaults
Definition: svgfig.py:2380
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)
Definition: svgfig.py:2887

Member Function Documentation

def svgfig.LineAxis.__repr__ (   self)
def svgfig.LineAxis.interpret (   self)

Definition at line 2896 of file svgfig.py.

References svgfig.LineAxis.exclude.

2896  def interpret(self):
2897  if self.exclude != None and not (isinstance(self.exclude, (tuple, list)) and len(self.exclude) == 2 and \
2898  isinstance(self.exclude[0], (int, long, float)) and isinstance(self.exclude[1], (int, long, float))):
2899  raise TypeError("exclude must either be None or (low, high)")
2900 
2901  ticks, miniticks = Ticks.interpret(self)
2902  if self.exclude == None: return ticks, miniticks
2903 
2904  ticks2 = {}
2905  for loc, label in ticks.items():
2906  if self.exclude[0] <= loc <= self.exclude[1]:
2907  ticks2[loc] = ""
2908  else:
2909  ticks2[loc] = label
2910 
2911  return ticks2, miniticks
2912 
def interpret(self)
Definition: svgfig.py:2896
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.

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

Member Data Documentation

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

Definition at line 2881 of file svgfig.py.

Referenced by tree.Tree.reset(), and tree.Tree.var().

svgfig.LineAxis.end
svgfig.LineAxis.exclude

Definition at line 2890 of file svgfig.py.

Referenced by svgfig.LineAxis.interpret().

svgfig.LineAxis.f
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
dictionary svgfig.LineAxis.text_defaults = {"stroke":"none", "fill":"black", "font-size":5}
static

Definition at line 2882 of file svgfig.py.