Class Plot
object --+
|
Plot
Class representing an arbitrary plot
Every plot has an associated surface object where the plotting is
done. The surface is an instance of cairo.Surface
, a member
of the pycairo
library. The surface itself provides a
unified API to various plotting targets like SVG files, X11 windows,
PostScript files, PNG files and so on. igraph
usually does
not know on which surface it is plotting right now, since
pycairo
takes care of the actual drawing. Everything that's
supported by pycairo
should be supported by this class as
well.
Current Cairo surfaces that I'm aware of are:
-
cairo.GlitzSurface
-- OpenGL accelerated surface for the
X11 Window System.
-
cairo.ImageSurface
-- memory buffer surface. Can be
written to a PNG
image file.
-
cairo.PdfSurface
-- PDF document surface.
-
cairo.PsSurface
-- PostScript document surface.
-
cairo.Win32Surface
-- Microsoft Windows screen
rendering.
-
cairo.XlibSurface
-- X11 Window System screen rendering.
If you create a Plot
object with a string given as the
target surface, the string will be treated as a filename, and its
extension will decide which surface class will be used. Please note that
not all surfaces might be available, depending on your
pycairo
installation.
A Plot
has an assigned default palette (see colors.Palette)
which is used for plottingo bjects.
A Plot
object also has a list of objects to be plotted
with their respective bounding boxes, palettes and opacities. Palettes
assigned to an object override the default palette of the plot. Objects
can be added by the Plot.add method and removed by the Plot.remove
method.
|
__init__(self,
target=None,
bbox=None,
palette=None)
Creates a new plot. |
|
|
|
|
|
|
|
add(self,
object,
bbox=None,
palette=None,
opacity=1.0,
*args,
**kwds)
Adds an object to the plot. |
|
|
|
mark_dirty(self)
Marks the plot as dirty (should be redrawn) |
|
|
|
redraw(self,
context=None)
Redraws the plot |
|
|
|
remove(self,
object,
bbox=None,
idx=1)
Removes an object from the plot. |
|
|
|
save(self,
fname=None)
Saves the plot. |
|
|
|
show(self)
Saves the plot to a temporary file and shows it. |
|
|
Inherited from object :
__delattr__ ,
__getattribute__ ,
__hash__ ,
__new__ ,
__reduce__ ,
__reduce_ex__ ,
__repr__ ,
__setattr__ ,
__str__
|
Inherited from object :
__class__
|
__init__(self,
target=None,
bbox=None,
palette=None)
(Constructor)
|
|
Creates a new plot.
- Parameters:
target - the target surface to write to. It can be one of the following
types:
-
None -- an appropriate surface will be created
and the object will be plotted there.
-
cairo.Surface -- the given Cairo surface will be
used.
-
string -- a file with the given name will be
created and an appropriate Cairo surface will be attached to
it.
bbox - the bounding box of the surface. It is interpreted differently
with different surfaces: PDF and PS surfaces will treat it as
points (1 point = 1/72 inch). Image surfaces will treat it as
pixels. SVG surfaces will treat it as an abstract unit, but it
will mostly be interpreted as pixels when viewing the SVG file in
Firefox.
palette - the palette primarily used on the plot if the added objects do
not specify a private palette. Must be either a colors.Palette object or a string referring to a
valid key of colors.palettes (see module colors) or
None . In the latter case, the default palette given
by the configuration key plotting.palette is used.
- Overrides:
object.__init__
|
add(self,
object,
bbox=None,
palette=None,
opacity=1.0,
*args,
**kwds)
|
|
Adds an object to the plot.
Arguments not specified here are stored and passed to the object's
plotting function when necessary. Since you are most likely interested in
the arguments acceptable by graphs, see Graph.__plot__
for more details.
- Parameters:
object - the object to be added
bbox - the bounding box of the object. If None , the object
will fill the entire area of the plot.
palette - the color palette used for drawing the object. If the object
tries to get a color assigned to a positive integer, it will use
this palette. If None , defaults to the global
palette of the plot.
opacity - the opacity of the object being plotted, in the range 0.0-1.0
|
remove(self,
object,
bbox=None,
idx=1)
|
|
Removes an object from the plot.
If the object has been added multiple times and no bounding box was
specified, it removes the instance which occurs idxth
in the list of identical instances of the object.
- Parameters:
object - the object to be removed
bbox - optional bounding box specification for the object. If given,
only objects with exactly this bounding box will be considered.
idx - if multiple objects match the specification given by object and bbox, only the idxth occurrence will be removed.
- Returns:
True if the object has been removed successfully,
False if the object was not on the plot at all or idx was larger than the count of occurrences
|
Saves the plot.
- Parameters:
fname - the filename to save to. It is ignored if the surface of the plot
is not an ImageSurface .
|