Skip to content

Jabbath/Graph-Creator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Graph Creator

Graph creator is a tool designed to help graph theorists input graphs from pre-existing images. An example use case for Graph Creator is transcribing a board game such as Scotland Yard into graph form. Inputting an adjacency matrix or list by hand for a large game like Scotland Yard could take hours. Graph Creator provides a point and click way to create such graphs, drastically cutting down on input time.

Supported Functionality

Multiline Adjacency Lists

Graph Creator can output a user made graph as a multi-line adjacency list, as used by NetworkX.

Adjacency Matrices

Graphs entered into graph creator can be output as a adjacency matrix represented by a 2D list.

Vertex Position List

Graph Creator can output a JSON file with (x, y) coordinates of each user added vertex.

Graph Input Options

Graph Creator allows point and click vertex addition and edge addition. Labels can be added to vertices by hovering the mouse over them and typing. Weights can be added to edges in the same fashion. Both parallel edges, self loops, and digraphs are supported. In addition, point and click vertex removal is supported.

Usage

To create a graph from an image, open the image as a background from the menu bar, or start a new graph. Then, use the toggle buttons to change entry modes (add vertices, remove vertices, ..., etc), and create your graph . Existing graphs can also be opened and overlayed. ctrl + mousewheel can be used to zoom in and out as you work on the graph.

Binaries

See releases for the latest binaries.

Installation From Source

To install Graph creator first git clone this repo:

git clone https://github.com/Jabbath/Graph-Creator

Now, cd to the Graph-Creator directory and run npm install to install the dependencies:

cd Graph-Creator
npm install

Then, download the latest version of NW.js (node-webkit), and simply drag and drop the files from the repo into the base directory of NW.js. To run the application, run nw.

Contribution

If you have a useful feature to contribute, feel free to make a pull request. Contributions are welcome! For a list of planned features that need implementation, check the issues tab.

License

Licensed under the MIT license. See license.txt.