visualization

package
v0.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 17, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type CircularLayout

type CircularLayout struct {
	// contains filtered or unexported fields
}

CircularLayout arranges nodes in a circle

func NewCircularLayout

func NewCircularLayout(config *LayoutConfig) *CircularLayout

NewCircularLayout creates a new circular layout

func (*CircularLayout) ComputeLayout

func (cl *CircularLayout) ComputeLayout(gs *storage.GraphStorage, nodeIDs []uint64) (map[uint64]Position, error)

ComputeLayout arranges nodes in a circle

type ForceDirectedLayout

type ForceDirectedLayout struct {
	// contains filtered or unexported fields
}

ForceDirectedLayout implements force-directed graph layout

func NewForceDirectedLayout

func NewForceDirectedLayout(config *LayoutConfig) *ForceDirectedLayout

NewForceDirectedLayout creates a new force-directed layout

func (*ForceDirectedLayout) ComputeLayout

func (fdl *ForceDirectedLayout) ComputeLayout(gs *storage.GraphStorage, nodeIDs []uint64) (map[uint64]Position, error)

ComputeLayout computes positions using force-directed algorithm

type HierarchicalLayout

type HierarchicalLayout struct {
	// contains filtered or unexported fields
}

HierarchicalLayout arranges nodes in a tree hierarchy

func NewHierarchicalLayout

func NewHierarchicalLayout(config *LayoutConfig) *HierarchicalLayout

NewHierarchicalLayout creates a new hierarchical layout

func (*HierarchicalLayout) ComputeLayout

func (hl *HierarchicalLayout) ComputeLayout(gs *storage.GraphStorage, nodeIDs []uint64) (map[uint64]Position, error)

ComputeLayout arranges nodes hierarchically

type Layout

type Layout interface {
	ComputeLayout(gs *storage.GraphStorage, nodeIDs []uint64) (map[uint64]Position, error)
}

Layout interface for different layout algorithms

type LayoutConfig

type LayoutConfig struct {
	Width      float64 // Canvas width
	Height     float64 // Canvas height
	Iterations int     // Number of iterations for iterative algorithms
	Padding    float64 // Padding from edges
}

LayoutConfig configures layout parameters

type Position

type Position struct {
	X float64 `json:"x"`
	Y float64 `json:"y"`
}

Position represents a 2D coordinate

type Visualization

type Visualization struct {
	Nodes     []*storage.Node
	Edges     []*storage.Edge
	Positions map[uint64]Position
}

Visualization represents a graph visualization with layout

func (*Visualization) ExportJSON

func (v *Visualization) ExportJSON() ([]byte, error)

ExportJSON exports the visualization to JSON

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL