Skip to content

kiwirafe/springpy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Springpy

Distance Matrix Visualizer in Python

While similar to the "Spring Function" in qgraph in R and networkx in Python, springpy provides a simple way to visualize a distance matrix using the Fruchterman Reingold method. Springpy allows you to create a spring graph or animate a distance matrix in just one line of code.

Online visualisation

Visualising a distance matrix online: https://kiwirafe1.pythonanywhere.com/springpy

Download

pip3 install springpy

Usage

import springpy as sp
matrix = [[0         , 0.00638545,  0.28778769],
          [0.00638545, 0         ,  0.21402251],
          [0.28778769, 0.21402251,  0         ]]

# Show a matplotlib animation
sp.animate(matrix)

# Save to video (Default Name:"spring_result.mp4")
sp.animate(matrix, save=True)

# Show a matplotlib graph
sp.graph(matrix)

# Save the graph(Default Name:"spring_result.jpg")
sp.graph(matrix, save=True)

Input: A distance matrix embedded into a 2D Python List.

Demonstration:

Data: dmatrix.csv
Code: example.py

Result(animation & video):

springpy_result.mp4

Result(graph): springpy_result

Change Default Values

For Calculation

import springpy as sp

# Width of the graph, default 100px
sp.w = 100
# Height of the graph, default 100px
sp.h = 100
# Cool down delta, default 0.975
sp.delta = 0.975
# The eplison, if the change is smaller than this value, then stop iterating, default 5
sp.eplison = 10
# Max iteration, the maximum number of iterations, default 500
sp.MaxIter = 500

For sp.animate:

sp.animate(self, matrix, save=False, interval=100, VideoName="springpy_result.mp4"):
"""
:param save: whether to save the video, default False
:param interval: the interval between frames, default 100
:param VideoName: the name of the video for the result, default "springpy_result.gif". Note that this name must include the suffix(ie .gif)
""" 

For sp.graph:

sp.graph(self, matrix, save=False, ImageName = "springpy_result.jpg"):
"""
:param save: whether to save the graph, default False
:param VideoName: the name of the graph for the result, default "springpy_result.jpg". Note that this name must include the suffix(ie .jpg or .png)
""" 

Links

About

Network Visualizer in Python - Distance Matrix to Force Directed Graph

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages