119
$\begingroup$

Anyone know of an online tool available for making graphs (as in graph theory - consisting of edges and vertices)? I have about 36 vertices and even more edges that I wish to draw. (why do I have so many? It's for pathing in a game)

Only tool available to me right now is MS Paint and it would be very messy.

Edit:

I'm not actually looking for a 'standard' - just some way to neatly draw a set of vertices and edges, preferably without having to write code. I was planning to screenshot the pic and use it in a question on gamedev but I managed to solve the problem for now. Thanks for all the answers. I still prefer GeoGebra because it accessible online, neat, accurate, aligns elements to a grid, has consistent shapes, and has a high degree of customization available.

  • 1
    See also http://cstheory.stackexchange.com/questions/1677/what-is-the-recommended-software-for-drawing-data-structures-such-as-graphs-and-t2010-12-11
  • 3
    I actually was trying to figure out the best approach for this just yesterday. My solution was to program and draw the graph in Sage, but I couldnt figure out how to do edge colorings.2010-12-12
  • 0
    Is it possible for me to see your code? I asked the same question here: http://stackoverflow.com/questions/24065611/how-to-input-a-list-of-pairs-of-points-in-r2-in-sage-corresponding-to-edges-o and was wondering how to make sage understand the polygon=graph as an input P, given the vertex set V and the edge set E. If I just input 4 points, they may not determine the polygon uniquely, so we need to specify the edge set. How are you inputting the edge set and make sage understand your graph= my polygon?2014-06-05
  • 0
    Geogebra takes some fiddling around with the default settings to get a graph going, but it's exactly what I was looking for.2018-01-20
  • 0
    ok actually geogebra is super annoying to use. Defaults are seemingly impossible to set.2018-01-20

18 Answers 18

34

For drawing graph, the best is TIKZ but it does take some time to study, an alternate is graphviz


Rollbacked:

For drawing 2D geometry, try GeoGebra or Sketchpad (licensed).

For drawing 3D geometry, try Cabri 3d (licensed).

  • 1
    I like this GeoGebra thing that you mentioned earlier. There's a free online version and a (possibly free) downloadable one too!2010-12-10
  • 1
    @f20k:GeoGebra is good for 2D geometry in general.But for graph TIKZ or graphviz provide better options.2010-12-10
  • 6
    I cannot stress how much I love TikZ.2010-12-11
  • 0
    Take a look at http://www.graphviz.org, it is a set of easy to use tools for drawing graphs.2013-01-21
  • 0
    graphviz seems to take a fair amount of time to study as well. It's not WYSIWYG as far as I can tell.2018-01-20
17

yEd is a free cross-platform application that lets you interactively create nodes and edges via drag and drop, format them with different shapes and styles, and apply various graph layout algorithms to arrange the graph neatly.

  • 0
    yEd doesn't seem to have smart arrows.2014-07-16
  • 0
    If by "smart arrows" you mean arrows/edges that stick to their source and target nodes, then the answer is actually: yEd *only* has smart arrows. It's a lot more difficult to create a (seemingly) unconnected arrow with yEd.2015-05-11
  • 0
    This software requires installation, but allows the use of custom SVG icons. Moreover, you can save the graphs you create in gml and graphml format and import them in NetworkX.2016-02-22
  • 0
    @Agostino: FYI, yEd no longer requires installation ... there's a new online version. https://www.yworks.com/yed-live I find it hard to get started... it's not intuitive, and I haven't found useful documentation yet. There's a free version, but it doesn't allow you to save the graph or export an image.2017-05-31
  • 0
    @LarsH The free version allows you to do everything as far as I know. The paid version is only needed for bundling their library in your software, as far as I know. You can save your graphs in many different formats (.graphml, .gml, etc.), and export images in HQ as .png .pdf and svg. Transparency works fine BTW. The online version is nice too, thanks for pointing it out, and it does not need any Java stuff!2017-06-01
  • 0
    @Agostino I was going by the feature comparison at https://www.yworks.com/products/yed-live. But you're right, the online demo does appear to do those things! I just noticed that in the feature comparison, the free version has light gray checkmarks that mean "Supported up to a pre-configured limit." So... I guess you can load/save/export to a limited extent.2017-06-01
17

http://illuminations.nctm.org/ActivityDetail.aspx?ID=20 In the above link you can have a tool where you can draw graphs, check degree, find eulerian path, hamiltonian path.

  • 7
    +1 for only answer that actually meets the question's criteria...2013-11-18
  • 1
    Annoying that it will only allow letters and not digits in labels...?!2016-11-21
  • 2
    It also doesn't appear to have an "undo"?? That alone makes it unusable.2018-01-20
14

Draw.io is really nice and user friendly. It is free and open source. There's a Desktop version available.

  • 1
    I find draw.io buggy and annoying to use.2018-01-20
8

Creately offers a nice WYSIWYG interface for drawing graphs.

  • 0
    Creately looks more like a flowchart kinda software. Dabbleboard is good but it isnt as neat as I would like. Thanks for your help2010-12-10
  • 0
    No, both are not ideal. They do a good enough work, though, if you really refuse to use TikZ or Graphviz.2010-12-11
7

Small service but easy to use http://graph.unick-soft.ru/en/

  • 1
    Better than most of them!2017-05-03
  • 0
    This is the best to draw algorithm related graph, like a graph for Dijkstra algorithm.2017-06-22
6

I created an open source graph drawing library too: https://github.com/anvaka/VivaGraphJS.

It requires some programming knowledge but I'd be really glad to help.

  • 0
    This is pretty full-featured. It doesn't seem to support GUI-based editing/save/load, but it does have physics-based auto-layout and arbitrary metadata (such as links) on each node and vertex. I'm not sure if it can display labels (for nodes or edges). And there is a big list of other graph-drawing libraries: http://anvaka.github.io/graph-drawing-libraries/#/all2017-06-02
6

I coded up a thing called Graphrel that might be helpful. It focuses not so much on presentation as on graph theory analysis. Currently it supports WYSIWYG editing and an interactive d3 forcelayout; also counts the number of vertices/edges, calculates connected components, as well as reflexivity/symmetry/transitivity etc. of its underlying relation. I'm still adding new features so feel free to make suggestions.

  • 1
    This is a great tool. I especially like the fact that it lets me enter an adjacency list, and automatically plots the graph for me online. I would like to suggest a feature: add an option to share a graph using a URL (like in http://desmos.com/). This can make your website very useful for presenting graphs in forums such as Stack Exchange.2016-08-11
  • 0
    Agreed this is a very good tool. I added a couple of feature requests. :-)2017-05-31
5

You can also use GasTeX.

4

GraphOnline.ru lets you create online an incidence matrix or an adjacency matrix, and it automatically plots the graph for you.

2

If you are typesetting using LateX, try LateXDraw. It is to draw and not to analyze the graph.

1

I think you're looking for something like:

Gliffy.com

Creately.com

1

I have found Almende in this list. I have extended it a little bit.

  • 0
    Your third link is to `localhost`, so no one but you can access it.2015-02-19
  • 0
    @MichaelA Thanks. Fixed. Well, edit needs approval. Thanks anyway. Please report if it is not operational again. I do not see from here.2015-02-19
1

We wrote an Android app called Grapher for testing algorithms and exporting to tikz.

Screenshot is available on Grapher · GitHub, here are some screenshots:

deletemaxflowsteiner tree

1

One very flexible package is CaRMetal, which is an open-source alternative to Geometer's Sketchpad. It works quite well, I've found, and can export to multiple formats.

1

For a more simplistic graph drawing program, see CMap at http://cmap.ihmc.us. It is a concept modeling tool which has many export and import formats, including a text tab-delimited format for triples (which it calls propositions).

CMap is more aligned to non-coders such as k-12 students and college, managers, etc., who want to model (i.e., graphs schemas and instance graphs) without all of the syntax of the above tools.

Another graph drawing tool, with fewer import/export features, is at Inspiration.com.

Roy

0

You could try http://bl.ocks.org/fancellu/2c782394602a93921faff74e594d1bb1 and just edit the data (JSON) part

0

I've created a simple web application called Graphy. It's basing on a great library Cytoscape.js.

Features:

  • Importing graphs from GraphML, JSON Graph Format or JSON format used by Cytoscape.js
  • Exporting graphs to GraphML, JSON format used by Cytoscape.js and image (PNG and JPG)
  • Computing and visualization of basic algorithms (BFS, DFS, Dijkstra's algorithm, Kruskal's algorithm, Karger–Stein algorithm)
  • Edit Mode - adding vertices by clicking on workspace and adding edges by dragging (or by selecting an appropriate option from a context menu)
  • Grouping vertices
  • Changing style of nodes and edges (color, shape, thickness of edge, line style, node size)
  • Bending edges
  • Shortcuts support
  • Displaying the last action with possibility to undo
  • Copying, cutting, pasting of nodes and edges
  • Support for mobile and touch devices

The application is still in a development state – any suggestions and feedback are welcomed!

Graphy screenshot