Use one extraction step for ordinary layouts, traces, MDS fits, and supported refinement results. Existing return types and direct field access are unchanged.
Value
The coordinate matrix, unchanged, including vertex order, dimensions, dimnames, and attributes. No projection, alignment, scaling, or scoring is performed. Malformed, ambiguous, or unsupported objects produce an error.
Details
For traces the final frame is selected. For MDS and refinement fits
the fitted coords are selected. A plain list containing only coords is
not a recognized result; pass that matrix explicitly instead.
Keep graph vertex order when reusing coordinates. MDS result fields method,
coords, diagnostics, and metadata remain directly available. Stopping
information in metadata is method-dependent. Trace $final and refinement
$coords remain supported. Prepared caches and internal state fields are
version-dependent: rebuild them when the graph or package contract changes.
Examples
edges <- edges.path(6)
fits <- list(grip(edges, n = 6, dim = 2, seed = 1),
trace.grip(edges, n = 6, dim = 2, seed = 1),
classical.mds(edges = edges, n = 6))
first <- layout.coords(fits[[1]])
coords <- lapply(fits, layout.coords)
plot.layout(coords[[1]], edges = edges)
vapply(coords, function(z) score.layout(z, edges = edges, n = 6,
sample.size.stress = 15, stress.seed = 1,
edge.crossings = "never")$sampled.stress, numeric(1))
#> [1] 1.820825e-02 1.820825e-02 2.237461e-16