Skip to content

Java-based application designed to facilitate the creation and visualization of graphs using various techniques and visualization algorithms.

Notifications You must be signed in to change notification settings

omartrj/graph-drawing-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Graph Visualization App

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.

Screenshot of the application

Features

  1. 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.
  2. Graph Customization:

    • Create and modify nodes/edges individually to form customized graphs according to user preferences.
  3. 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.
  4. 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.
  5. Explore Graphs:

    • Explore graphs by zooming in/out and panning across the graph.

Usage

  1. 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.
  2. Custom Graph Creation:

    • Alternatively, create a custom graph by adding nodes and edges manually.
  3. 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.

Installation

Using the JAR file

  1. Ensure you have Java installed on your machine. If not, download and install Java from here.
  2. Download the JAR file from here.
  3. Open your terminal or command prompt.
  4. Navigate to the directory where the JAR file is located using the cd command.
  5. Run the following command to start the application:
java -jar graph-drawing-app.jar

Building from source

  1. Clone this repository.
  2. Open the project in your preferred Java IDE.
  3. Compile and run the application.

Contribution

Contributions to this project are welcome! If you wish to contribute, feel free to submit a pull request, suggest improvements, or report issues.

Future Enhancements

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.

Attributions

The icon used for this application is sourced from Flaticon. Line-graph icons created by Kiranshastry - Flaticon

About

Java-based application designed to facilitate the creation and visualization of graphs using various techniques and visualization algorithms.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages