This project implements three popular graph drawing algorithms: Fruchterman Reingold, Force Atlas 2, and Kamada Kawai. Graph drawing algorithms aim to visualize graphs in a clear and aesthetically pleasing way.
The Fruchterman Reingold algorithm is a force-directed layout algorithm that simulates a physical system where nodes repel each other and edges act like springs. This leads to a visually balanced representation of the graph.
Force Atlas 2 is another force-directed layout algorithm designed for large-scale graphs. It balances attractive and repulsive forces to achieve a layout that highlights community structures and connectivity.
The Kamada Kawai algorithm is based on a graph-theoretic approach that minimizes the energy of the graph. It aims to position nodes in a way that minimizes the total edge length, providing a compact and visually appealing representation.
- Python 3.9
-
Clone the repository:
git clone <repository-url> cd <repository-directory>
-
Set up virtual environment:
python -m venv venv source venv/bin/activate
-
Install dependencies:
pip install -r requirements.txt