clickjoin: Interactively join vertices on a plot

View source: R/clickjoin.R

clickjoinR Documentation

Interactively join vertices on a plot


Given a point pattern representing a set of vertices, this command gives a point-and-click interface allowing the user to join pairs of selected vertices by edges.


  clickjoin(X, ..., add = TRUE, m = NULL, join = TRUE)



Point pattern of vertices. An object of class "ppp".


Arguments passed to segments to control the plotting of the new edges.


Logical. Whether the point pattern X should be added to the existing plot (add=TRUE) or a new plot should be created (add=FALSE).


Optional. Logical matrix specifying an initial set of edges. There is an edge between vertices i and j if m[i,j] = TRUE.


Optional. If TRUE, then each user click will join a pair of vertices. If FALSE, then each user click will delete an existing edge. This is only relevant if m is supplied.


This function makes it easier for the user to create a linear network or a planar graph, given a set of vertices.

The function first displays the point pattern X, then repeatedly prompts the user to click on a pair of points in X. Each selected pair of points will be joined by an edge. The function returns a logical matrix which has entries equal to TRUE for each pair of vertices joined by an edge.

The selection of points is performed using identify.ppp which typically expects the user to click the left mouse button. This point-and-click interaction continues until the user terminates it, by pressing the middle mouse button, or pressing the right mouse button and selecting stop.

The return value can be used in linnet to create a linear network.


Logical matrix m with value m[i,j] = TRUE for every pair of vertices X[i] and X[j] that should be joined by an edge.




See Also

linnet, clickppp

spatstat.linnet documentation built on March 18, 2022, 6:40 p.m.