# ``igraph`.`drawing`.`cairo`.`graph`.`CairoGraphDrawer``

class documentation

`class CairoGraphDrawer(AbstractCairoGraphDrawer): (source)`

Constructor: `CairoGraphDrawer(context, bbox, vertex_drawer_factory, edge_drawer_factory, label_drawer_factory)`

View In Hierarchy

Class implementing the default visualisation of a graph.

The default visualisation of a graph draws the nodes on a 2D plane according to a given `Layout`, then draws a straight or curved edge between nodes connected by edges. This is the visualisation used when one invokes the `plot()` function on a `Graph` object.

See `Graph.__plot__()` for the keyword arguments understood by this drawer.

Method | `__init__` | Constructs the graph drawer and associates it to the given Cairo context and the given `BoundingBox`.
Method | `draw` | Abstract method, must be implemented in derived classes.
Instance Variable | `bbox` | The bounding box of the drawing area where this drawer will draw.
Instance Variable | `edge_drawer_factory` | Undocumented
Instance Variable | `label_drawer_factory` | Undocumented
Instance Variable | `vertex_drawer_factory` | Undocumented

Inherited from `AbstractGraphDrawer` (via `AbstractCairoGraphDrawer`):

Static Method | `ensure_layout` | Helper method that ensures that layout is an instance of `Layout`. If it is not, the method will try to convert it to a `Layout` according to the following rules:
Static Method | `_determine_edge_order` | Returns the order in which the edge of the given graph have to be drawn, assuming that the relevant keyword arguments (`edge_order` and `edge_order_by`) are given in `kwds` as a dictionary. If neither `edge_order`...
Static Method | `_determine_vertex_order` | Returns the order in which the vertices of the given graph have to be drawn, assuming that the relevant keyword arguments (`vertex_order` and `vertex_order_by`) are given in `kwds` as a dictionary. If neither ...

Inherited from `AbstractCairoDrawer` (via `AbstractCairoGraphDrawer`, `AbstractGraphDrawer`):

Method | `bbox.setter` | Sets the bounding box of the drawing area where this drawer will draw.
Instance Variable | `context` | Undocumented
Method | `_mark_point` | Marks the given point with a small circle on the canvas. Used primarily for debugging purposes.
Instance Variable | `_bbox` | Undocumented

def __init__(self, context, bbox=None, vertex_drawer_factory=CairoVertexDrawer, edge_drawer_factory=CairoArrowEdgeDrawer, label_drawer_factory=CairoTextDrawer): (source)
overrides `igraph.drawing.cairo.graph.AbstractCairoGraphDrawer.__init__`

Constructs the graph drawer and associates it to the given Cairo context and the given `BoundingBox`.

Parameters
context | the context on which we will draw
bbox | the bounding box within which we will draw. Can be anything accepted by the constructor of `BoundingBox` (i.e., a 2-tuple, a 4-tuple or a `BoundingBox` object).
vertex_drawer_factory | a factory method that returns an `AbstractCairoVertexDrawer` instance bound to a given Cairo context. The factory method must take four parameters: the Cairo context, the bounding box of the drawing area, the palette to be used for drawing colored vertices, and the graph layout. The default vertex drawer is `CairoVertexDrawer`.

edge_drawer_factory

a factory method that returns an `AbstractCairoEdgeDrawer` instance bound to a given Cairo context. The factory method must take two parameters: the Cairo context and the palette to be used for drawing colored edges. You can use any of the actual `AbstractEdgeDrawer` implementations here to control the style of edges drawn by igraph. The default edge drawer is `CairoArrowEdgeDrawer`.

label_drawer_factory | a factory method that returns a `CairoTextDrawer` instance bound to a given Cairo context. The method must take one parameter: the Cairo context. The default label drawer is `CairoTextDrawer`.

def draw(self, graph, *args, **kwds): (source)
overrides `igraph.drawing.baseclasses.AbstractGraphDrawer.draw`

Abstract method, must be implemented in derived classes.

bbox = (source)
overrides `igraph.drawing.cairo.base.AbstractCairoDrawer.bbox`

The bounding box of the drawing area where this drawer will draw.

edge_drawer_factory = (source)

Undocumented

label_drawer_factory = (source)

Undocumented

vertex_drawer_factory = (source)

Undocumented