graph (version 1.50.0)

renderInfo-class: Class "renderInfo"

Description

A container class to manage graph rendering attributes.

Arguments

Objects from the Class

Objects can be created by calls of the form new("renderInfo") or by using the initializer .renderInfoPrototype.

Slots

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.

Methods

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.
parRenderInfo, parRenderInfo<-
getter and setter for items of slot pars
nodeRenderInfo, nodeRenderInfo<-
getter and setter for items of slot nodes
edgeRenderInfo, edgeRenderInfo<-
getter and setter for items of slot edges
graphRenderInfo, graphRenderInfo<-
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
named list of named vectors
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
named list of skalars
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:
col:
the color of the line drawn as node border. Defaults to black.
lty:
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.
lwd:
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.
fill:
the color used to fill a node. Defaults to transparent.
textCol:
the font color used for the node labels. Defaults to black.
fontsize:
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.
cex:
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:
col:
the color of the edge line. Defaults to black.
lty:
the type of the edge line. Defaults to solid. Valid values are the same as for the R's base graphic parameter lty.
lwd:
the width of the edge line. Defaults to 1.
textCol:
the font color used for the edge labels. Defaults to black.
fontsize:
the font size for the edge labels in points. Defaults to 14.
cex:
Expansion factor to further control the fontsize. This mainly exists to be consistent with the base graphic parameters.

Examples

Run this code
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)

Run the code above in your browser using DataCamp Workspace