This Graph Visualization App is a simple Java-based application designed to facilitate the creation, manipulation, and visualization of graphs using various generation techniques and visualization algorithms.
-
Graph Generation Tool:
- Random Graph: Generate graphs by specifying the number of nodes and the probability of edges.
- Complete Graph: Create complete graphs by specifying the number of nodes.
- Regular Graph: Generate regular graphs by specifying the number of nodes and the degree.
- Directed/Undirected Graphs: Allow the user to choose between directed or undirected graphs during generation.
-
Graph Customization:
- Create and modify nodes/edges individually to form customized graphs according to user preferences.
-
Visualization Algorithms:
- Tutte's Barycenter Method: Visualization algorithm based on graph barycenters.
- Eade's Spring Embedder: Uses spring-like forces between nodes for graph visualization.
- Fruchterman-Reingold Spring Algorithm: A force-directed algorithm for graph layout.
-
Graph Viewing Themes:
- Light Mode: Default theme for graph visualization.
- Dark Mode: Dark-themed visualization for easier viewing in low-light environments.
- Small Nodes Mode: A mode that displays nodes in a smaller size for a compact view.
-
Explore Graphs:
- Explore graphs by zooming in/out and panning across the graph.
-
Graph Generation:
- Access the Graph Generation Tool from the user interface.
- Choose the type of graph (random, complete, regular) and specify the necessary parameters.
- Select whether the graph should be directed or undirected.
-
Custom Graph Creation:
- Alternatively, create a custom graph by adding nodes and edges manually.
-
Visualization:
- Use the implemented visualization algorithms to visualize the generated or custom graphs.
- Choose from Tutte's Barycenter, Eade's Spring Embedder, or Fruchterman-Reingold Spring methods.
- Switch between different graph viewing themes: Classic Light Mode, Dark Mode, or Small Nodes Mode.
- Ensure you have Java installed on your machine. If not, download and install Java from here.
- Download the JAR file from here.
- Open your terminal or command prompt.
- Navigate to the directory where the JAR file is located using the
cd
command. - Run the following command to start the application:
java -jar graph-drawing-app.jar
- Clone this repository.
- Open the project in your preferred Java IDE.
- Compile and run the application.
Contributions to this project are welcome! If you wish to contribute, feel free to submit a pull request, suggest improvements, or report issues.
In the future, the following enhancements are planned:
- Implementation of the Magnetic Fields Algorithm for graph visualization.
- Integration of Sugiyama's Layered Methodology for more diverse graph visualization options.
The icon used for this application is sourced from Flaticon. Line-graph icons created by Kiranshastry - Flaticon