Interactive plotting of graphs
tkplot and its companion functions serve as an
interactive graph drawing facility. Not all parameters of the plot can
be changed interactively right now though, eg. the colors of vertices,
edges, and also others have to be pre-defined.
tkplot (graph, layout = layout.random, layout.par = list(), labels = NULL, label.color = "darkblue", label.font = NULL, label.degree = -pi/4, label.dist = 0, vertex.color = "SkyBlue2", vertex.size = 15, edge.color = "darkgrey", edge.width = 1, edge.labels=NA, ...)
tkplot.close(tkp.id, window.close = TRUE) tkplot.off() tkplot.fit.to.screen(tkp.id, width = NULL, height = NULL) tkplot.reshape(tkp.id, newlayout, ...) tkplot.export.postscript(tkp.id) tkplot.getcoords(tkp.id, norm = FALSE) tkplot.center(tkp.id) tkplot.rotate(tkp.id, degree = NULL, rad = NULL)
- Either a function, or a character string or a numeric
matrix. It specifies how the vertices will be placed on the plot.
If it is a function, this function will be called with the
- A named list specifying the optional parameters of the layout
function, only used if the
layoutargument is a function. The parameters themselves are layout function dependent, they are discussed in the
- Gives the labels to use for the vertices. It can be a
numeric or character vector. If
NAthe plot will have no labels, if
NULLnumeric ids starting from one will be used. If a character vector of length one with prefi
- The color of the labels. If it is a character
scalar with prefix
then the corresponding vertex attribute will be used. Otherwise if it is a vector of length one then all labels will be the same color. It can al
- The font for the labels, a tkfont object, by default 16pt Helvetica bold is used.
- Governs the placement of the vertex labels. 0
is right, pi/2 is down, pi is left. This argument can be a constant
(for all labels) or a numeric vector. If it is a constant string
then the correspond
- Numeric constant, gives the distance between the
labels and the vertices. 1 is some
idealdistance, based on the vertex and label sizes. Use 0 for drawing the labels on the vertices.
- The color of the vertices, either a character
constant with prefix
for using an attribute or without it: a constant color for all vertices, or a numeric or character or numeric vector giving the different color
- The size of the vertices. Either a numeric
constant, or a numeric vector, or a string with prefix
giving the vertex attribute to use.
- The color of the edges. Either a character vector
naming the edge attribute to use or one without it, or a numeric or character vector giving the colors for each edge.
- The width of the edges. Either a numeric constant or
a numeric vector, or a string with prefix
giving the edge attribute to use.
- Labels for the edges, this will be converted to a
character vector. The default is
NAwhich suppresses edge labels. The vector might contain
NA's as well to suppress labels for some edges.
- The id of the tkplot window to close.
- Leave this on the default value.
- The width of the rectangle for generating new coordinates.
- The height of the rectangle for generating new coordinates.
- The new layout, see the
layoutparameter of tkplot.
- Logical, should we norm the coordinates.
- The degree to rotate the plot.
- The degree to rotate the plot, in radian.
- Not used right now.
tkplot is an interactive graph drawing facility. It is not very
well developed at this stage, but it should be still useful.
It's hangling should be quite straightforward most of the time, here are some remarks and hints.
There are different popup menus, activated by the right mouse button, for vertices and edges. Both operate on the current selection if the vertex/edge under the cursor is part of the selection and operate on the vertex/edge under the cursor if it is not.
One selection can be active at a time, either a vertex or an edge
selection. A vertex/edge can be added to a selection by holding the
control key while clicking on it with the left mouse
button. Doing this again deselect the vertex/edge.
Selections can be made also from the
Select menu. The `Select
some vertices' dialog allows to give an expression for the vertices to
be selected: this can be a list of numeric R expessions separated by
commas, like `
1,2:10,12,14,15' for example. Similarly in the
`Select some edges' dialog two such lists can be given and all edges
connecting a vertex in the first list to one in the second list will
In the color dialog a color name like 'orange' or RGB notation can also be used.
tkplot command creates a new Tk window with the graphical
graph. The command returns an integer number,
the tkplot id. The other commands utilize this id to be able to
query or manipulate the plot.
tkplot.close closes the Tk plot with id
tkplot.off closes all Tk plots.
tkplot.fit.to.screen fits the plot to the given rectange
height), if some of these are
the actual phisical width od height of the plot window is used.
tkplot.reshape applies a new layout to the plot, its optional
parameters will be collected to a list analogous to
tkplot.export.postscript creates a dialog window for saving the
plot in postscript format.
tkplot.getcoords returns the coordinates of the vertices in a
matrix. Each row corresponds to one vertex.
tkplot.center shifts the figure to the center of its plot window.
tkplot.rotate rotates the figure, its parameter can be given
either in degrees or in radians.
tkplotreturns an integer, the id of the plot, this can be used to manipulate it from the command line.
tkplot.getcoordsreturns a matrix with the coordinates.
g <- graph.ring(10) tkplot(g)