Visualizes net_bootstrap objects from the Nestimate package.
Mirrors splot.tna_bootstrap but adapts to Nestimate's field layout:
weights live under $original$weights, directed is not always TRUE,
and there are no donut/inits.
Plots the original tna model with nodes colored by community membership.
The original model is retrieved from attr(x, "tna"), which
tna::communities() sets automatically. Uses walktrap if
present in x$assignments; otherwise falls back to the first
available algorithm column.
Plots the original network with nodes colored by community membership.
The network is retrieved from attr(x, "network"), which
detect_communities() / .wrap_communities() sets automatically.
Applies TNA-compatible styling defaults before delegating to splot():
directed networks get oval layout, colored nodes, and sized arrows;
undirected networks get spring layout with no arrows or dashes.
All parameters can be overridden by the caller.
Visualizes boot_glasso objects from the Nestimate package.
Plots a partial-correlation network with edge inclusion probabilities
mapped to edge transparency.
Plot a wtna_mixed object either as a single overlaid network or as
two separate group panels.
Visualizes net_permutation objects from the Nestimate package.
Differs from plot_permutation: p_values and effect_size are already
p×p matrices (no edge-name parsing needed), and directed comes from
x$x$directed.
Network visualization using base R graphics (similar to qgraph).
Creates a network visualization using base R graphics functions (polygon, lines, xspline, etc.) instead of grid graphics. This provides better performance for large networks and uses the same snake_case parameter names as soplot() for consistency.
splot.net_bootstrap(
x,
display = c("styled", "significant", "full"),
show_ci = FALSE,
show_stars = TRUE,
inherit_style = TRUE,
...
)splot.tna_communities(x, ...)
splot.cograph_communities(x, ...)
splot.net_mlvar(x, type = "temporal", combined = TRUE, ...)
splot.netobject(x, ...)
splot.boot_glasso(
x,
use_thresholded = TRUE,
show_inclusion = TRUE,
inclusion_threshold = NULL,
edge_positive_color = "#2E7D32",
edge_negative_color = "#C62828",
...
)
splot.wtna_mixed(x, type = c("overlay", "group"), ...)
splot.net_permutation(
x,
show_nonsig = FALSE,
show_effect = FALSE,
edge_positive_color = "#009900",
edge_negative_color = "#C62828",
edge_nonsig_color = "#888888",
edge_nonsig_style = 2L,
show_stars = TRUE,
...
)
splot(
x,
layout = "oval",
directed = NULL,
seed = 42,
theme = NULL,
node_size = NULL,
node_size2 = NULL,
scale_nodes_by = NULL,
node_size_range = c(2, 8),
scale_nodes_scale = 1,
node_shape = "circle",
node_svg = NULL,
svg_preserve_aspect = TRUE,
node_fill = NULL,
node_border_color = NULL,
node_border_width = 1,
node_alpha = 1,
labels = TRUE,
label_abbrev = NULL,
label_size = NULL,
label_color = "black",
label_position = "center",
label_fontface = "plain",
label_fontfamily = "sans",
label_hjust = 0.5,
label_vjust = 0.5,
label_angle = 0,
pie_values = NULL,
pie_colors = NULL,
pie_border_width = NULL,
donut_fill = NULL,
donut_values = NULL,
donut_color = NULL,
donut_colors = NULL,
donut_border_color = NULL,
donut_border_width = NULL,
donut_inner_border_color = NULL,
donut_inner_border_width = NULL,
donut_outer_border_color = NULL,
donut_line_type = "solid",
donut_border_lty = NULL,
donut_inner_ratio = 0.8,
donut_bg_color = "gray90",
donut_shape = "circle",
donut_show_value = FALSE,
donut_value_size = 0.8,
donut_value_color = "black",
donut_value_fontface = "bold",
donut_value_fontfamily = "sans",
donut_value_digits = 2,
donut_value_prefix = "",
donut_value_suffix = "",
donut_empty = TRUE,
donut2_values = NULL,
donut2_colors = NULL,
donut2_inner_ratio = 0.4,
edge_color = NULL,
edge_width = NULL,
edge_size = NULL,
esize = NULL,
edge_width_range = c(0.1, 4),
edge_scale_mode = "linear",
edge_cutoff = NULL,
cut = NULL,
edge_alpha = 0.8,
edge_labels = FALSE,
edge_label_size = 0.8,
edge_label_color = "gray30",
edge_label_bg = NA,
edge_label_position = 0.5,
edge_label_offset = 0,
edge_label_fontface = "plain",
edge_label_shadow = FALSE,
edge_label_shadow_color = "gray40",
edge_label_shadow_offset = 0.5,
edge_label_shadow_alpha = 0.5,
edge_label_halo = TRUE,
edge_style = 1,
curvature = 0,
curve_scale = TRUE,
curve_shape = 0,
curve_pivot = 0.5,
curves = TRUE,
arrow_size = 1,
arrow_angle = pi/6,
show_arrows = TRUE,
bidirectional = FALSE,
loop_rotation = NULL,
show = NULL,
edge_start_style = "solid",
edge_start_length = 0.15,
edge_start_dot_density = "12",
edge_ci = NULL,
edge_ci_scale = 2,
edge_ci_alpha = 0.15,
edge_ci_color = NA,
edge_ci_style = 2,
edge_ci_arrows = FALSE,
edge_priority = NULL,
edge_label_style = "none",
edge_label_template = NULL,
edge_label_digits = 2,
edge_label_oneline = TRUE,
edge_label_ci_format = "bracket",
edge_label_leading_zero = TRUE,
edge_ci_lower = NULL,
edge_ci_upper = NULL,
edge_label_p = NULL,
edge_label_p_diff = NULL,
edge_label_p_digits = 3,
edge_label_p_prefix = "p=",
edge_label_stars = NULL,
weight_digits = 2,
threshold = 0,
minimum = 0,
maximum = NULL,
edge_positive_color = "#2E7D32",
positive_color = NULL,
edge_negative_color = "#C62828",
negative_color = NULL,
edge_duplicates = NULL,
title = NULL,
title_size = 1.2,
margins = c(0.1, 0.1, 0.1, 0.1),
background = "white",
rescale = TRUE,
layout_scale = 1,
layout_margin = 0.15,
aspect = TRUE,
use_pch = FALSE,
usePCH = NULL,
scaling = "default",
align_panels = FALSE,
legend = FALSE,
legend_position = "topright",
legend_size = 0.8,
legend_edge_colors = TRUE,
legend_node_sizes = FALSE,
groups = NULL,
node_names = NULL,
tna_styling = NULL,
psych_styling = NULL,
predictability = NULL,
i = NULL,
filetype = "default",
filename = file.path(tempdir(), "splot"),
width = 7,
height = 7,
res = 600,
...
)
Invisibly returns the cograph_network object built by
splot(). Called for the side effect of drawing.
Invisibly, the splot result: a cograph_network object.
Invisibly, the splot result: a cograph_network object.
Invisibly returns x.
Invisibly returns the cograph_network object built by
splot(). Called for the side effect of drawing.
Invisibly returns the cograph_network object built by
splot(). Called for the side effect of drawing.
Invisibly returns x.
Invisibly returns the cograph_network object built by
splot(), or NULL when there is no edge to draw.
Invisibly returns the cograph_network object.
Network input. Can be:
A square numeric matrix (adjacency/weight matrix)
A data frame with edge list (from, to, optional weight columns)
An igraph object
A CographNetwork or cograph_network object
A tna object (from tna package)
A group_tna object (list of tna objects from tna package).
Use parameter i to select a specific group, or omit to plot all groups.
Display mode: "styled" (default), "significant", or "full".
Logical: overlay CI bounds on edge labels? Default FALSE.
Logical: show significance stars? Default TRUE.
Logical: inherit labels/layout/colors from network? Default TRUE.
Additional arguments passed to layout functions.
One ride-along worth calling out: combined (default
TRUE). When x is a multi-panel input (a
group_tna, group_tna_bootstrap,
group_tna_permutation, net_permutation_group, or any
class routed to a splot.* method that draws multiple panels
such as splot.net_mlvar with type = "all"),
combined = FALSE skips the internal
graphics::par(mfrow = ...) grid so the caller can drive
layout explicitly via panel_layout() or
graphics::layout(). For single-network inputs (a single
tna, netobject, matrix, etc.) combined has no
effect — there is no panel grid to gate.
Character. "overlay" (default) renders both networks on a
single canvas via plot_mixed_network — co-occurrence as straight
undirected edges, transitions as curved directed arrows.
"group" plots each component as a separate panel.
Logical: when type = "all", controls whether the
three panels are arranged in an internal 1 x 3 grid (TRUE, default) or
drawn into a layout the caller has already configured (FALSE — pair
with panel_layout()). Ignored for single-network types.
Logical: use $thresholded_pcor? If FALSE, uses
$original_pcor. Default TRUE.
Logical: scale edge alpha by inclusion probability? Default TRUE.
Numeric: minimum inclusion probability to show an edge.
Default NULL, which uses 1 - x$alpha (i.e. the complement of
the alpha level, falling back to 1 - 0.05 when $alpha is absent).
Color for positive weights.
Color for negative weights.
Logical: show non-significant edges? Default FALSE.
Logical: show effect size in parentheses? Default FALSE.
Color for non-significant edges. Default "#888888".
Line style for non-significant edges. Default 2L.
Layout algorithm: "oval" (default), "circle", "spring",
"groups", "target" (qgraph-style focal-node BFS levels; node of interest
via target), "saqr" (Start/End transition flow; start/
end/jitter), or a matrix of x,y coordinates, or an igraph
layout function. Also supports igraph two-letter codes: "kk", "fr", "drl",
"mds", "ni", etc.
Logical. Force directed interpretation. NULL for auto-detect.
Random seed for deterministic layouts. Default 42.
Theme name: "classic", "dark", "minimal", "colorblind", etc.
Node size(s). Single value or vector. Default NULL, which resolves to 7 with default scaling.
Secondary node size for ellipse/rectangle height.
Scale node sizes by a centrality measure. Can be:
A measure name: "degree", "strength", "betweenness", "closeness", "eigenvector", "pagerank", "authority", "hub", "harmonic", etc.
A directional shorthand: "indegree", "outdegree", "instrength", "outstrength", "incloseness", "outcloseness", "inharmonic", "outharmonic", "ineccentricity", "outeccentricity".
A list with measure and parameters: list("pagerank", damping = 0.9)
When used, node_size is ignored. Use node_size_range to control the min/max size. Default NULL (no centrality scaling).
Size range for centrality-based scaling. Numeric vector c(min_size, max_size). Default c(2, 8).
Dampening exponent for centrality-based sizing. Values < 1 compress differences (e.g., 0.5 applies square root), values > 1 exaggerate differences. Default 1 (linear).
Node shape(s): "circle", "square", "triangle", "diamond", "pentagon", "hexagon", "star", "heart", "ellipse", "cross", or any custom SVG shape registered with register_svg_shape().
Custom SVG for nodes: path to SVG file OR inline SVG string.
Logical: maintain SVG aspect ratio? Default TRUE.
Node fill color(s).
Node border color(s).
Node border width(s).
Node transparency (0-1). Default 1.
Node labels: TRUE (use node names/indices), FALSE (none), or character vector.
Controls label abbreviation in the same way as
plot_mcml(): NULL keeps full labels, an integer truncates
labels to that maximum number of characters, and "auto" adapts
the maximum length to the number of nodes.
Label character expansion factor.
Label text color.
Label position: "center", "above", "below", "left", "right".
Font face for labels: "plain", "bold", "italic", "bold.italic". Default "plain".
Font family for labels: "sans", "serif", "mono". Default "sans".
Horizontal justification (0=left, 0.5=center, 1=right). Default 0.5.
Vertical justification (0=bottom, 0.5=center, 1=top). Default 0.5.
Text rotation angle in degrees. Default 0.
List of numeric vectors for pie chart nodes. Each element corresponds to a node and contains values for pie segments. If a simple numeric vector with values between 0 and 1 is provided (e.g., centrality scores), it is automatically converted to donut_fill for convenience.
List of color vectors for pie segments.
Border width for pie slice dividers. NULL uses node_border_width.
Numeric value (0-1) for donut fill proportion. This is the qgraph-style API: 0.1 = 10% filled, 0.5 = 50% filled, 1.0 = fully filled. Can be a single value (all nodes) or vector (per-node values).
Deprecated. Use donut_fill for simple fill proportion.
Fill color(s) for the donut ring. Single color sets fill for all nodes. Two colors set fill and background for all nodes. More than 2 colors set per-node fill colors (recycled to n_nodes). Default: "maroon" fill, "gray90" background when node_shape="donut".
Deprecated. Use donut_color instead.
Border color for donut rings. NULL uses node_border_color.
Border width for donut rings. NULL uses node_border_width.
Color for the inner boundary (where the
donut meets its hole). NULL (default) uses donut_border_color.
Can be scalar or per-node vector.
Width for the inner boundary border.
NULL (default) uses donut_border_width. Can be scalar or per-node vector.
Color for outer boundary border (enables double border). NULL (default) shows single border. Set to a color for double border effect. Can be scalar or per-node vector.
Line type for donut borders: "solid", "dashed", "dotted", or numeric (1=solid, 2=dashed, 3=dotted). Can be scalar or per-node vector.
Deprecated. Use donut_line_type instead.
Inner radius ratio for donut (0-1). Default 0.8.
Background color for unfilled donut portion.
Base shape for donut: "circle", "square", "hexagon", "triangle", "diamond", "pentagon". Can be a single value or per-node vector. Default inherits from node_shape (e.g., hexagon nodes get hexagon donuts). Set explicitly to override (e.g., donut_shape = "hexagon" for hexagon donuts on all nodes regardless of node_shape).
Logical: show value in donut center? Default FALSE.
Font size for donut center value.
Color for donut center value.
Font face for donut center value: "plain", "bold", "italic", "bold.italic". Default "bold".
Font family for donut center value: "sans", "serif", "mono". Default "sans".
Decimal places for donut center value. Default 2.
Text before donut center value (e.g., "$"). Default "".
Text after donut center value (e.g., "%"). Default "".
Logical: render empty donut rings for NA values? Default TRUE.
List of values for inner donut ring (for double donut).
List of color vectors for inner donut ring segments.
Inner radius ratio for inner donut ring. Default 0.4.
Edge color(s). If NULL, uses edge_positive_color/edge_negative_color based on weight.
Edge width(s). If NULL, scales by weight using edge_size and edge_width_range.
Maximum edge size for weight scaling. NULL (default) uses
the upper bound of edge_width_range. Larger values = thicker edges
overall.
Deprecated. Use edge_size instead.
Output width range as c(min, max) for weight-based scaling.
Default c(0.1, 4). Edges are scaled to fit within this range unless
edge_size supplies the maximum.
Scaling mode for edge weights: "linear" (default, qgraph-style), "log" (logarithmic for wide weight ranges), "sqrt" (moderate compression), or "rank" (equal visual spacing regardless of weight distribution).
Optional cutoff for edge emphasis. NULL (default) or 0 disables cutoff fading. Positive values fade edges whose absolute weights are below the cutoff; width scaling remains continuous.
Deprecated. Use edge_cutoff instead.
Edge transparency (0-1). Default 0.8.
Edge labels: TRUE (show weights), FALSE (none), or character vector.
Edge label size.
Edge label text color.
Edge label background color.
Position along edge (0-1).
Perpendicular offset for edge labels (0 = on line, positive = above).
Font face: "plain", "bold", "italic", "bold.italic".
Logical: enable drop shadow for edge labels? Default FALSE.
Color for edge label shadow. Default "gray40".
Offset distance for shadow in points. Default 0.5.
Transparency for shadow (0-1). Default 0.5.
Logical: enable white halo/outline around edge labels for readability over dark edges? Default TRUE. When TRUE, overrides shadow settings.
Line type(s): 1=solid, 2=dashed, 3=dotted, etc.
Edge curvature. 0 for straight, positive/negative for curves.
Reserved for future curve scaling; currently not used.
Spline tension (-1 to 1). Default 0.
Position along edge for curve control point (0-1).
Curve mode: TRUE (default) = single edges straight, reciprocal edges curve as ellipse (two opposing curves); FALSE = all straight; "force" = all curved.
Arrow head size.
Arrow head angle in radians. Default pi/6 (30 degrees).
Logical or vector: show arrows on directed edges?
Logical or vector: show arrows at both ends?
Angle(s) in radians for self-loop direction.
Dispatch-only placeholder used by method dispatch (e.g.,
splot.tna_disparity). Not intended for direct use.
Style for the start segment of edges: "solid" (default), "dashed", or "dotted". Use dashed/dotted to indicate edge direction (source node).
Fraction of edge length for the styled start segment (0-0.5). Default 0.15 (15% of edge). Only applies when edge_start_style is not "solid".
Pattern for dotted start segments. A two-character string where the first digit is dot length and second is gap length (in line width units). Default "12" (1 unit dot, 2 units gap). Use "11" for tighter dots, "13" for more spacing. Only applies when edge_start_style = "dotted".
Numeric vector of CI widths (0-1 scale). Larger values = more uncertainty.
Width multiplier for underlay thickness. Default 2.
Transparency for underlay (0-1). Default 0.15.
Underlay color. NA (default) uses main edge color.
Line type for underlay: 1=solid, 2=dashed, 3=dotted. Default 2.
Logical: show arrows on underlay? Default FALSE.
Numeric vector of edge priorities. Higher values render on top. Useful for ensuring significant edges appear above non-significant ones.
Preset style: "none", "estimate", "full", "range", "stars".
Template with placeholders: {est}, {range}, {low}, {up}, {p}, {p_diff}, {stars}. Overrides edge_label_style if provided.
Decimal places for estimates. Default 2.
Logical: single line format? Default TRUE.
CI format: "bracket" for [low, up] or "dash" for low-up.
Logical: show leading zero for values < 1? Default TRUE. Set to FALSE to display ".5" instead of "0.5".
Numeric vector of lower CI bounds for labels.
Numeric vector of upper CI bounds for labels.
Numeric vector of p-values for edges.
Probability-of-difference values for the
{p_diff} template placeholder: a per-edge numeric vector, or a
full node-by-node matrix (indexed at each drawn edge automatically —
the safe form when minimum/threshold filter edges). A
matrix with dimnames is aligned to the plot's node names, so it may be
supplied in any node order.
Decimal places for p-values. Default 3.
Prefix for p-values. Default "p=".
Stars for labels: character vector, TRUE (compute from p), or numeric (treated as p-values).
Number of decimal places to round edge weights to before plotting. Edges that round to zero are automatically removed. Default 2. Set NULL to disable rounding.
Minimum absolute weight to display.
Alias for threshold (qgraph compatibility). Uses max of threshold and minimum.
Maximum weight for scaling. NULL for auto.
Deprecated. Use edge_positive_color instead.
Deprecated. Use edge_negative_color instead.
How to handle duplicate edges in undirected networks. NULL (default) = stop with error listing duplicates. Options: "sum", "mean", "first", "max", "min", or a custom aggregation function.
Plot title.
Title font size.
Margins as c(bottom, left, top, right).
Background color.
Logical: rescale layout to -1 to 1 range?
Scale factor for layout. >1 expands (spreads nodes apart), <1 contracts (brings nodes closer). Use "auto" to automatically scale based on node count (compact for small networks, expanded for large). Default 1.
Margin around the layout as fraction of range. Default 0.15. Set to 0 for no extra margin (tighter fit). Affects white space around nodes.
Logical: maintain aspect ratio?
Logical: use points() for simple circles (faster). Default FALSE.
Deprecated. Use use_pch instead.
Scaling mode: "default" for qgraph-matched scaling where node_size=6 looks similar to qgraph vsize=6, or "legacy" to preserve pre-v2.0 behavior.
Logical. If TRUE, forces a uniform symmetric
plot box (c(-layout_scale, layout_scale) on each axis) so two
networks plotted side-by-side in a par(mfrow) grid render at
identical absolute scales — useful for bootstrap panels, comparison
grids with networks of different node counts, or any case where
visual-size parity across panels matters more than canvas fill.
Default FALSE uses dynamic, layout-driven bounds (the
pre-2.1.x behavior) which renders tighter on the canvas. The fixed
box is only applied when the layout is being rescaled, so
align_panels = TRUE has no effect under
rescale = FALSE. The
per-node loop-reservation pad in compute_plot_limits runs
regardless, so networks with different self-loop patterns stay
centered consistently in either mode.
Logical: show legend?
Position: "topright", "topleft", "bottomright", "bottomleft".
Legend text size.
Logical: show positive/negative edge colors in legend?
Logical: show node size scale in legend?
Group assignments for node coloring/legend.
Alternative names for legend (separate from labels).
Logical or NULL. If TRUE, applies TNA visual defaults
(oval layout, TNA color palette, edge labels as estimates, dotted edge starts,
etc.) as a base layer. Any explicitly provided argument overrides the TNA default.
If FALSE, no TNA styling is applied. If NULL (default),
automatically set to TRUE when x is a tna object, FALSE
otherwise. Can be used with any input type (matrix, igraph, cograph_network).
Logical or NULL. Undirected counterpart of tna_styling.
If TRUE, applies psychometric-network defaults (spring layout,
Okabe-Ito palette, no arrows, solid edge lines, and
minimum = 0.01) as a base layer. If NULL
(default), splot.netobject auto-enables it on correlation-family input
(glasso, cor, pcor, ising) and on the undirected constituents of
net_mlvar. Explicit user args always win.
Logical or NULL. Draws a per-node predictability ring
(a donut fill) from a predictability column on the network's node table,
the way qgraph/bootnet show node predictability. If TRUE, draws
it when the column is present; if FALSE, never; if NULL
(default), draws it when the object marks it as its default
(network$meta$predictability_default, set e.g. by a psychnet
glasso network). A caller's own pie_values / donut_fill
takes precedence.
Group index or name when x is a group_tna object. If NULL (default), plots all groups in a grid. If specified (e.g., i = 1 or i = "Treatment"), plots only that group.
Output format: "default" (screen), "png", "pdf", "svg", "jpeg", "tiff".
Output filename (without extension).
Output width in inches.
Output height in inches.
Resolution in DPI for raster outputs (PNG, JPEG, TIFF). Default 600.
Edge curving is controlled by three parameters that interact:
Mode for automatic curving. FALSE = all straight,
TRUE (default) = curve only reciprocal edge pairs as an ellipse,
"force" = curve all edges inward toward network center.
Manual curvature amount (0-1 typical). Sets the magnitude of curves. Default 0 uses automatic 0.175 for curved edges. Positive values curve edges; the direction is automatically determined.
Not currently used; reserved for future scaling.
For reciprocal edges (A->B and B->A both exist), the edges curve
in opposite directions to form a visual ellipse, making bidirectional
relationships clear.
Controls how edge weights are mapped to visual widths:
Width proportional to weight. Best when weights are similar in magnitude.
Logarithmic scaling. Best when weights span multiple orders of magnitude (e.g., 0.01 to 100).
Square root scaling. Moderate compression, good for moderately skewed distributions.
Rank-based scaling. Ignores actual values; uses relative ordering. All edges get equal visual spacing regardless of weight distribution.
Three ways to show additional data on nodes:
Single ring showing a proportion (0-1).
Ideal for completion rates, probabilities, or any single metric per node.
Use donut_color for fill color and donut_bg_color for unfilled portion.
Multiple colored segments showing category
breakdown. Ideal for composition data. Values are normalized to sum to 1.
Use pie_colors for segment colors.
Two concentric rings for comparing
two metrics per node. Outer ring uses donut_fill/donut_color,
inner ring uses donut2_values/donut2_colors.
Confidence interval underlays draw a wider, semi-transparent edge behind the main edge to visualize uncertainty:
Vector of CI widths (0-1 scale). Larger = more uncertainty.
Multiplier for underlay width relative to main edge. Default 2 means underlay is twice as wide as main edge at CI=1.
Transparency of underlay (0-1). Default 0.15.
Line type: 1=solid, 2=dashed (default), 3=dotted.
For statistical output, use templates to format complex labels:
Template string with placeholders:
{est} for estimate/weight, {low}/{up} for CI bounds,
{range} for formatted range, {p} for p-value,
{p_diff} for the probability of the difference (Bayesian
comparisons), {stars} for significance stars.
Preset styles: "estimate" (weight only),
"full" (estimate + CI), "range" (CI only), "stars" (significance).
Packages that create cograph_network-compatible objects can attach a
small plotting contract at x$meta$splot. This lets producer packages
such as Nestimate, lagdynamics, or other modeling packages describe their
preferred cograph rendering without adding a new cograph-side class branch for
every object type.
The contract is optional. Objects without meta$splot follow the normal
splot() path and all existing class-specific dispatch remains in place.
When present, the supported fields are:
rendererCharacter scalar naming the cograph renderer to use.
"network" (also "splot", "default", or "base")
means the object follows the normal splot() path — including any
class-specific dispatch cograph already performs for it — with the
metadata defaults applied. Other values are resolved through a
cograph-maintained whitelist of existing renderers, for example
"difference", "bootstrap", "permutation",
"stability", "mlvar", "netobject",
"netobject_group", "netobject_ml", "boot_glasso",
and "wtna_mixed". Arbitrary function names are never evaluated.
weightOptional character scalar naming the default edge
weight to render. If it names an edge column, that column is copied to
edges$weight for the plot (the producer's edge set is kept, and
the weights matrix is rebuilt to match). If it names a matrix
stored on the object, that matrix becomes the rendered network: it is
copied to weights and the drawn edge set is rebuilt from its
nonzero cells (aligned to the object's node order via dimnames when
present). This is useful when the analytical object stores several edge
quantities (for example counts, probabilities, residuals, effects) but
has one preferred plot view. When the name matches both an edge column
and a stored matrix, the matrix form wins.
defaultsNamed list of splot() or renderer arguments.
These are defaults only: any argument explicitly supplied by the user
wins. Defaults can include regular splot() arguments such as
layout, node_fill, edge_labels,
weight_digits, or renderer-specific arguments such as
display for bootstrap renderers.
The precedence rule is always:
user arguments > x$meta$splot$defaults > cograph defaults
Example producer-side metadata:
x$meta$splot <- list(
renderer = "network",
weight = "adj_res",
defaults = list(
node_fill = "white",
edge_labels = TRUE,
weight_digits = 1
)
)
soplot for grid graphics rendering (alternative engine),
cograph for creating network objects,
sn_nodes for node customization,
sn_edges for edge customization,
sn_layout for layout algorithms,
sn_theme for visual themes,
from_qgraph and from_tna for converting external objects
# Basic directed network
adj <- matrix(c(0, 1, 1, 0, 0, 0, 1, 1,
0, 0, 0, 1, 0, 0, 0, 0), 4, 4, byrow = TRUE)
splot(adj, layout = "circle", labels = c("A", "B", "C", "D"))
# Abbreviate long labels to a fixed maximum length
splot(adj, layout = "circle",
labels = c("Orientation", "Planning", "Reading", "Submission"),
label_abbrev = 4)
# Weighted network with signed edges
w_adj <- matrix(c(0, .5, -.3, 0, .8, 0, .4, -.2,
0, 0, 0, .6, 0, 0, 0, 0), 4, 4, byrow = TRUE)
splot(w_adj, edge_positive_color = "darkgreen", edge_negative_color = "red")
Run the code above in your browser using DataLab