@graphty/layout
Version:
graph layout algorithms based on networkx
20 lines (19 loc) • 1.01 kB
TypeScript
/**
* Spring layout algorithm (Fruchterman-Reingold variant)
*/
import { Graph, Node, PositionMap } from '../../types';
/**
* Position nodes using Fruchterman-Reingold force-directed algorithm.
*
* @param {Object} G - Graph or list of nodes
* @param {number} k - Optimal distance between nodes
* @param {Object} pos - Initial positions for nodes
* @param {Array} fixed - Nodes to keep fixed at initial position
* @param {number} iterations - Maximum number of iterations
* @param {number} scale - Scale factor for positions
* @param {Array|null} center - Coordinate pair around which to center the layout
* @param {number} dim - Dimension of layout
* @param {number} seed - Random seed for initial positions
* @returns {Object} Positions dictionary keyed by node
*/
export declare function springLayout(G: Graph, k?: number | null, pos?: PositionMap | null, fixed?: Node[] | null, iterations?: number, scale?: number, center?: number[] | null, dim?: number, seed?: number | null): PositionMap;