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 2851 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 2885 of file svgfig.py.

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

Member Function Documentation

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

Definition at line 2894 of file svgfig.py.

References svgfig.LineAxis.exclude.

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

Definition at line 2911 of file svgfig.py.

References svgfig.Curve.f.

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

Member Data Documentation

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

Definition at line 2879 of file svgfig.py.

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

svgfig.LineAxis.end
svgfig.LineAxis.exclude

Definition at line 2888 of file svgfig.py.

Referenced by svgfig.LineAxis.interpret().

svgfig.LineAxis.f
svgfig.LineAxis.high

Definition at line 2918 of file svgfig.py.

svgfig.LineAxis.low

Definition at line 2917 of file svgfig.py.

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

Definition at line 2880 of file svgfig.py.