Visualize Tree and Graph data structures with ease.
Project description
Data Structure Plot (DSPlot)
DSPlot is a tool to simply visualize tree and graph data structures by serving as a Pythonic interface to the Graphviz layout. DSPlot allows you to easily draw trees and graphs (both directed and undirected) by passing data in primitive form and directly output an image.
⬇ Installation
0. Prerequisites
- Python 3.7 or later
pip
virtualenv
1. Install Graphviz
- MacOS:
brew install graphviz
- Linux:
apt-get install graphviz
- Other OS(s): https://graphviz.org/download/
2. Install package
$ pip install dsplot
🤟 Usage
- Binary Tree:
from dsplot.tree import BinaryTree
tree = BinaryTree(nodes=[5, 4, 8, 11, None, 13, 4, 7, 2, None, None, 5, 1])
tree.plot()
- Graph:
from dsplot.graph import Graph
graph = Graph(
{0: [1, 4, 5], 1: [3, 4], 2: [1], 3: [2, 4], 4: [], 5: []}, directed=True
)
graph.plot()
from dsplot.graph import Graph
graph = Graph(
{1: [2, 4], 2: [1, 3], 3: [2, 4, 5], 4: [1, 3], 5: [3, 6, 7], 6: [5], 7: [5]}, directed=False
)
graph.plot()
🎁 Additional features
1. Tree traversals:
- Preorder
from dsplot.tree import BinaryTree
tree = BinaryTree(nodes=[5, 4, 8, 11, None, 13, 4, 7, 2, None, None, 5, 1])
print(tree.preorder())
# [5, 4, 11, 7, 2, 8, 13, 4, 5, 1]
print(tree.inorder())
# [7, 11, 2, 4, 5, 13, 8, 5, 4, 1]
print(tree.postorder())
# [7, 2, 11, 4, 13, 5, 1, 4, 8, 5]
2. Graph traversals:
from dsplot.graph import Graph
graph = Graph(
{0: [1, 4, 5], 1: [3, 4], 2: [1], 3: [2, 4], 4: [], 5: []}, directed=True
)
print(graph.bfs())
# [0, 1, 4, 5, 3, 2]
print(graph.dfs())
# [0, 1, 3, 2, 4, 5]
📄 License
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
dsplot-0.4.0.tar.gz
(5.1 kB
view hashes)
Built Distribution
dsplot-0.4.0-py3-none-any.whl
(6.3 kB
view hashes)