Next: Class Simplex.Diagram
Up: Reference
Previous: Overview
Contents
Class Graph.Cartesian is versatile high level class for drawing
graphs on a cartesian plain. It supports linear and logarithmic scales
and automatic adjustment of the coordinate range as well as automatic
captioning.
- __init__
- (self, gfx, x1, y1, x2, y2,
title = ``Graph'', xaxis=''X'', yaxis=''Y'',
styleFlags = DEFAULT_STYLE,
axisPen = Gfx.BLACK_PEN, labelPen = Gfx.BLACK_PEN,
titlePen = Gfx.BLACK_PEN, captionPen = Gfx.BLACK_PEN,
backgroundPen = Gfx.WHITE_PEN,
region = REGION_FULLSCREEN)
Initializes the class with the following parameters:
- gfx
- Gfx.Driver: The Gfx drivers used for drawing the graph. Use
AUTO_PEN if you want the Graph.Cartesian object to find a suitable driver
(depending on the installed widget toolkits) on its own.
- x1,y1,x2,y2
- floats: Coordinate range.
- title
- string: Title string.
- xaxis, yaxis
- strings: Axis descriptions.
- styleFlags
- integer: Interpreted as a bitfield of flags that
define the style of the graph. The following flags can be set:
- AXISES, AXIS_DIVISION, FULL_GRID
- Draw axises, axis divisions
and (or) a full grid.
- LABELS, CAPTION, TITLE
- Draw axis labels, a caption with descriptions
(generated from the pen names) below the graph, a title above
the graph.
- SHUFFLE_DRAW, EVADE_DRAW
- Two different algorithms to
allow for the visibility of overlapping graphs.
- LOG_X, LOG_Y
- Use a logarithmic scale for the x or y axis respectively.
- KEEP_ASPECT
- Keep the aspect ratio of the coordinates.
- AUTO_ADJUST
- Automatically adjust the range of the graph
when a point is added that falls outside the current range.
- axisPen, labelPen, titlePen, captionPen, backgroundPen
- Gfx.Pen:
Pens (sets of graphical attributes) for the respective elements
of the graph.
- region
- 4-tuple of floats. The part of the screen that is used
for the graph. Example: (0.05, 0.05, 0.95, 0.95) would leave a
border of 5 % of the screen size on each side.
- adjustRange
- (self, x1, y1, x2, y2) - Adjusts the range of the
coordinate plane.
- setStyle
- (self, styleFlags=None, axisPen=None,
labelPen=None, titlePen=None, captionPen=None,
backgroundPen = None) - Changes the style of the graph.
Only parameters that are not None will be changed.
- setTitle
- (self, title) - Changes the title of the graph.
- setLabels
- (self, xaxis=None, yaxis=None) - Changes the labels of
the graph.
- resizedGfx
- (self) - Takes notice of a resized window.
- changeGfx
- (self, gfx) - Switch to another device context. This
can be useful if you want to draw the current graph into a buffered
image that you want to save on a disk. In this case you have to
create the buffered image, create the Gfx driver for your buffered
image, call changeGfx and then redraw. After that you can call
changeGfx to switch back to the former output device.
- redrawGraph
- (self) - Redraws the graph, but not the caption,
title or labels.
- redrawCaption
- (self) - Redraw only the caption of the graph.
- redraw
- (self) - Redraws the whole graph including, title, labels
and the caption.
- reset
- (self, x1, y1, x2, y2) - Restarts with a new empty graph
of the given range. All pens are removed.
- addPen
- (self, name, pen=AUTO_GENERATE_PEN,
updateCaption=True) - Adds a new pen with name ``name'' and
attributes ``pen'' to the graph.
- removePen
- (self, name, redraw=True) - Removes a pen from
the graph. All coordinate pairs associated with this pen will
be discarded.
- addValue
- (self, name, x, y) - Add the point (x,y) to the graph drawn with
pen ``name''.
- peek
- (self, x, y) - Returns the graph coordinates of the screen
coordinates (x,y)
- xaxisSteps
- (self, x1, x2) - Returns a list of virtual x-coordinates
in the range [x1,x2] with one point for each screen pixel. This is
especially useful when working with large range logarithmic scales.
- yaxisSteps
- (self, y1, y2) - Returns a list of virtual x-coordinates
in the range [y1,y2] with one point for each screen pixel. This is
especially useful when working with large range logarithmic scales.
Next: Class Simplex.Diagram
Up: Reference
Previous: Overview
Contents
eckhart
2013-09-30