JavaScript is required

Multiple Relationship Networks 3

Multi-Group: Center to Force Transition

Demonstrates dynamic layout transition from center layout to force layout for animated visual effect.

Multi-Group Layout: Center to Force Transition

Functional Overview

This demo demonstrates a dynamic layout transition from center layout to force layout. It shows how to switch between different layout algorithms at runtime for visual effect.

Implementation of Key Features

1. Initial Center Layout

Start with center layout:

const graphOptions: RGOptions = {
    layout: {
        layoutName: 'center',
        distanceCoefficient: 0.5  // Compact spacing
    },
    defaultLineTextOnPath: true,
    defaultLineColor: '#000000'
};

2. Delayed Layout Transition

Switch to force layout after initialization:

const initializeGraph = async () => {
    await graphInstance.setJsonData(myJsonData);
    graphInstance.moveToCenter();
    graphInstance.zoomToFit();

    setTimeout(() => {
        graphInstance.updateOptions({
            layout: {
                layoutName: 'force',
                force_node_repulsion: 0.3,
                force_line_elastic: 5,
                maxLayoutTimes: Number.MAX_SAFE_INFINITY
            }
        });
        graphInstance.doLayout();
    }, 500);
};

3. Force Layout Parameters

Configure force layout for smooth animation:

layout: {
    layoutName: 'force',
    force_node_repulsion: 0.3,    // Low repulsion
    force_line_elastic: 5,         // High elasticity
    maxLayoutTimes: Number.MAX_SAFE_INFINITY  // Continuous
}

4. Same Hierarchical Data

Use the same multi-level data structure:

const myJsonData: RGJsonData = {
    rootId: '2',
    nodes: [/* All nodes from multi-group */],
    lines: [/* All lines from multi-group */]
};

5. Visual Transition Effect

The transition creates an animated effect as nodes move from their radial positions to force-directed positions.

Creative Use Cases

  • Data Exploration: Show different perspectives on the same data
  • Presentations: Create engaging visual transitions
  • Layout Comparison: Compare different layout algorithms
  • Interactive Visualization: Allow users to switch views
  • Animation Effects: Create smooth visual transitions
  • Analysis: Observe how different layouts reveal patterns