Learn R Programming

ggsketch (version 2.0.0)

sketch_graph: Build node and edge data for a sketch network

Description

Turns an edge list into the two data frames that geom_sketch_node() and geom_sketch_edge() consume, placing nodes with the pure-R force-directed force_layout(). Accepts a plain two-column data frame (extra columns are carried through as edge attributes) or - optionally - an igraph object.

Usage

sketch_graph(edges, nodes = NULL, niter = 500L, seed = NULL)

Value

A list with two data frames: nodes (name, x, y, plus any node attributes) and edges (from, to, x, y, xend, yend, plus any edge attributes).

Arguments

edges

A data frame or matrix whose first two columns are the edge endpoints (any identifiers), or an igraph object. Extra data-frame columns are kept as edge attributes.

nodes

Optional. A character vector of node identifiers, or a data frame whose first column is the identifier (further columns are kept as node attributes). Sets the node universe and ordering; defaults to the identifiers seen in edges.

niter, seed

Passed to force_layout().

See Also

geom_sketch_edge(), force_layout().

Other sketch-geoms: GeomSketchAbline, GeomSketchArrow, GeomSketchBoxplot, GeomSketchBracket, GeomSketchCallout, GeomSketchChicklet, GeomSketchCol, GeomSketchContourFilled, GeomSketchCurve, GeomSketchDotplot, GeomSketchDumbbell, GeomSketchEdge, GeomSketchEllipse, GeomSketchEngrave, GeomSketchGantt, GeomSketchHex, GeomSketchLine, GeomSketchLinerange, GeomSketchLollipop, GeomSketchMarkCircle, GeomSketchMarkHull, GeomSketchPath, GeomSketchPoint, GeomSketchPolygon, GeomSketchRect, GeomSketchRibbon, GeomSketchRug, GeomSketchSegment, GeomSketchSfPolygon, GeomSketchSlope, GeomSketchSmooth, GeomSketchSpoke, GeomSketchTextRepel, GeomSketchViolin, StatSketchBeeswarm, StatSketchCalendar, StatSketchDensityRidges, StatSketchFunnel, StatSketchPie, StatSketchPyramid, StatSketchRadar, StatSketchStream, StatSketchTreemap, StatSketchWaffle, StatSketchWaterfall, annotate_sketch(), annotate_sketch_arrow(), annotate_sketch_callout(), annotate_sketch_highlight(), geom_sketch_alluvial(), geom_sketch_arc_diagram(), geom_sketch_bin2d(), geom_sketch_bump(), geom_sketch_chord(), geom_sketch_contour(), geom_sketch_count(), geom_sketch_dendrogram(), geom_sketch_density(), geom_sketch_density2d(), geom_sketch_ecdf(), geom_sketch_function(), geom_sketch_histogram(), geom_sketch_jitter(), geom_sketch_marimekko(), geom_sketch_mosaic(), geom_sketch_parallel(), geom_sketch_qq(), geom_sketch_quantile(), geom_sketch_rose(), geom_sketch_sunburst(), geom_sketch_text()

Examples

Run this code
edges <- data.frame(from = c("A", "A", "B"), to = c("B", "C", "C"))
g <- sketch_graph(edges, seed = 1L)
g$nodes
g$edges

Run the code above in your browser using DataLab