Skip to content

Getting Started

Get from zero to a working graph visualization in 5 minutes.

What is Graphty?

Graphty is a Web Component library for creating interactive 3D and 2D graph visualizations. Built with Lit and Babylon.js, it provides:

  • High-performance 3D rendering with WebGL/WebGPU
  • Multiple layout algorithms (force-directed, hierarchical, circular, etc.)
  • Rich styling system with CSS-like selectors
  • Graph algorithms (centrality, community detection, shortest path, etc.)
  • VR/AR support via WebXR
  • Extensible plugin architecture

Quick Start

The fastest way to see Graphty in action:

html
<!DOCTYPE html>
<html>
<head>
  <title>My First Graph</title>
  <style>
    graphty-element {
      width: 800px;
      height: 600px;
      display: block;
    }
  </style>
</head>
<body>
  <script type="module">
    import '@graphty/graphty-element';
  </script>

  <graphty-element
    node-data='[{"id": "a"}, {"id": "b"}]'
    edge-data='[{"source": "a", "target": "b"}]'>
  </graphty-element>
</body>
</html>

Your First Graph

Let's build a simple social network visualization step by step.

Step 1: Set Up the Component

First, include the Graphty element and give it dimensions:

html
<graphty-element style="width: 100%; height: 500px; display: block;">
</graphty-element>

Step 2: Add Nodes

Define the people in your network:

html
<graphty-element
  node-data='[
    {"id": "alice", "name": "Alice"},
    {"id": "bob", "name": "Bob"},
    {"id": "charlie", "name": "Charlie"}
  ]'>
</graphty-element>

Step 3: Add Edges

Connect them with relationships:

html
<graphty-element
  node-data='[
    {"id": "alice", "name": "Alice"},
    {"id": "bob", "name": "Bob"},
    {"id": "charlie", "name": "Charlie"}
  ]'
  edge-data='[
    {"source": "alice", "target": "bob"},
    {"source": "bob", "target": "charlie"},
    {"source": "charlie", "target": "alice"}
  ]'>
</graphty-element>

Step 4: Choose a Layout

Select how nodes are positioned:

html
<graphty-element
  layout="ngraph"
  node-data='[...]'
  edge-data='[...]'>
</graphty-element>

Available layouts include:

  • ngraph - Force-directed (default, works in 2D and 3D)
  • d3-force - D3's force simulation (2D)
  • circular - Nodes in a circle
  • hierarchical - Tree-like structure
  • grid - Regular grid pattern

Step 5: Apply Styling

Use a style template for a polished look:

html
<graphty-element
  layout="ngraph"
  style-template="dark"
  node-data='[...]'
  edge-data='[...]'>
</graphty-element>

Interactive Examples

See these concepts in action:

What's Next?

Now that you have a basic graph working, explore:

  • Installation - Detailed installation options for different environments
  • Styling - Customize colors, shapes, and labels
  • Layouts - Configure layout algorithms
  • Algorithms - Run graph algorithms and visualize results