Class "renderInfo"
A container class to manage graph rendering attributes.
Objects can be created by calls of the form new("renderInfo")
or by using the initializer .renderInfoPrototype
.
pars
:List of default rendering attributes with two
items nodes
and edges
. When not set further down the
parameter hierarchy, these defaults will be used for all
nodes/edges in the graph.
nodes
:Named list of attributes specific to nodes.
edges
:Named list of attributes specific to edges.
graph
:Named list of graph-wide attributes.
Each item of nodes
and edges
can take arbitrary
vectors, the only restriction is that they have to be of either
length 1 or length equal to the number of nodes or edges,
respectively.
pars
and graph
can take arbitrary skalars, the latter
for both edges and nodes.
The following are functions rather than methods and build the API to
control the graphical output of a graph when it is plotted using
renderGraph
.
getter and setter for
items of slot pars
getter and setter for
items of slot nodes
getter and setter for
items of slot edges
getter and setter for
items of slot graph
The getters all take two arguments: g
is a graph object and
name
is a character giving the name of one of the item in the
respective slot. When name
is missing this will give you the
whole list.
The setters are a bit more complex: nodeRenderInfo<-
and
edgeRenderInfo<-
can take
where the names have to match the node
or edge names. Items in the vector that don't match a valid edge or
node name will be silently ignored. For undirected edges the order
of head nodes and tail nodes in edge names is ignored,
i.e. a~b
is equivalent to codeb~a
which will set all the attribute for all edges or nodes in the graph
parRenderInfo<-
will only take a list with items
nodes
, edges
and graph
. The content of these
list items can be arbitrary named vectors.
parRenderInfo<-
takes an arbitrary list
Available rendering parameters for nodes are:
the color of the line drawn as node border. Defaults to
black
.
the type of the line drawn as node border. Defaults to
solid
. Valid values are the same as for the R's base
graphic parameter lty
.
the width of the line drawn as node border. Defaults to
1
. Note that the underlying low level plotting functions do
not support vectorized lwd
values. Instead, only the first
item of the vector will be used.
the color used to fill a node. Defaults to
transparent
.
the font color used for the node labels. Defaults
to black
.
the font size for the node labels in
points. Defaults to 14
. Note that the fontsize will be
automatically adjusted to make sure that all labels fit their
respective nodes. You may want to increase the node size by
supplying the appropriate layout parameters to Graphviz
in order to allow for larger fontsizes.
Expansion factor to further control the fontsize. As default, this parameter is not set, in which case the fontsize will be clipped to the node size. This mainly exists to for consistency with the base graphic parameters and to override the clipping of fontsize to nodesize.
Available rendering parameters for edges are:
the color of the edge line. Defaults to black
.
the type of the edge line. Defaults to
solid
. Valid values are the same as for the R's base
graphic parameter lty
.
the width of the edge line. Defaults to 1
.
the font color used for the edge labels. Defaults
to black
.
the font size for the edge labels in
points. Defaults to 14
.
Expansion factor to further control the fontsize. This mainly exists to be consistent with the base graphic parameters.
Deepayan Sarkar, Florian Hahne
g <- randomGraph(letters[1:4], 1:3, p=0.8) nodeRenderInfo(g) <- list(fill=c("a"="red", "b"="green")) edgeRenderInfo(g) <- list(lwd=3) edgeRenderInfo(g) <- list(lty=3, col="red") parRenderInfo(g) <- list(edges=list(lwd=2, lty="dashed"), nodes=list(col="gray", fill="gray")) nodeRenderInfo(g) edgeRenderInfo(g, "lwd") edgeRenderInfo(g, c("lwd", "col")) parRenderInfo(g)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.