No project description provided
Project description
Graph Force
A python/rust library for embedding graphs in 2D space, using force-directed layouts.
Installation
pip install graph_force
Usage
import graph_force
edges = [(0, 1), (1, 2), (2, 3), (3, 0)]
pos = graph_force.layout_from_edge_list(4, edges)
Example with networkx
import networkx as nx
import graph_force
G = nx.grid_2d_graph(10, 10)
# we have to map the names to integers
# as graph_force only supports integers as node ids at the moment
edges = []
mapping = {n: i for i, n in enumerate(G.nodes)}
i = 0
for edge in G.edges:
edges.append((mapping[edge[0]], mapping[edge[1]]))
pos = graph_force.layout_from_edge_list(len(G.nodes), edges, iter=1000)
nx.draw(G, {n: pos[i] for n, i in mapping.items()}, node_size=2, width=0.1)
Contributing
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
graph_force-0.1.2.tar.gz
(8.1 kB
view hashes)
Built Distribution
Close
Hashes for graph_force-0.1.2-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25bc3e790356993335033cdef6fea55b19741effbf11cbb6a032e41e3b2d278f |
|
MD5 | fafe23dfc9948b97fb2cd999cc49e6a0 |
|
BLAKE2b-256 | 67f09025b901dcc4efe390b35a3204b43b0f99a3716ff531c28f8f8564537e7a |