161
$\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.

$\endgroup$
5
  • 1
    $\begingroup$ See also cstheory.stackexchange.com/questions/1677/… $\endgroup$
    – Raphael
    Dec 11, 2010 at 8:58
  • 3
    $\begingroup$ 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. $\endgroup$ Dec 12, 2010 at 18:24
  • $\begingroup$ Is it possible for me to see your code? I asked the same question here: stackoverflow.com/questions/24065611/… 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? $\endgroup$ Jun 5, 2014 at 22:16
  • $\begingroup$ Geogebra takes some fiddling around with the default settings to get a graph going, but it's exactly what I was looking for. $\endgroup$
    – user124384
    Jan 20, 2018 at 18:15
  • $\begingroup$ ok actually geogebra is super annoying to use. Defaults are seemingly impossible to set. $\endgroup$
    – user124384
    Jan 20, 2018 at 18:45

19 Answers 19

41
$\begingroup$

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).

$\endgroup$
7
  • 1
    $\begingroup$ I like this GeoGebra thing that you mentioned earlier. There's a free online version and a (possibly free) downloadable one too! $\endgroup$
    – f20k
    Dec 10, 2010 at 20:41
  • 1
    $\begingroup$ @f20k:GeoGebra is good for 2D geometry in general.But for graph TIKZ or graphviz provide better options. $\endgroup$
    – Quixotic
    Dec 10, 2010 at 21:03
  • 8
    $\begingroup$ I cannot stress how much I love TikZ. $\endgroup$ Dec 11, 2010 at 0:36
  • $\begingroup$ Take a look at graphviz.org, it is a set of easy to use tools for drawing graphs. $\endgroup$
    – vonbrand
    Jan 21, 2013 at 1:15
  • $\begingroup$ graphviz seems to take a fair amount of time to study as well. It's not WYSIWYG as far as I can tell. $\endgroup$
    – user124384
    Jan 20, 2018 at 18:02
25
$\begingroup$

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

$\endgroup$
2
  • 1
    $\begingroup$ I find draw.io buggy and annoying to use. $\endgroup$
    – user124384
    Jan 20, 2018 at 17:51
  • 8
    $\begingroup$ As for 2020 I found it very pleasant and straightforward! $\endgroup$
    – fr_andres
    Apr 12, 2020 at 7:01
24
$\begingroup$

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.

$\endgroup$
6
  • $\begingroup$ yEd doesn't seem to have smart arrows. $\endgroup$
    – Pacerier
    Jul 16, 2014 at 16:09
  • $\begingroup$ 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. $\endgroup$
    – Sebastian
    May 11, 2015 at 10:28
  • $\begingroup$ 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. $\endgroup$
    – Agostino
    Feb 22, 2016 at 10:00
  • $\begingroup$ @Agostino: FYI, yEd no longer requires installation ... there's a new online version. 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. $\endgroup$
    – LarsH
    May 31, 2017 at 18:30
  • $\begingroup$ @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! $\endgroup$
    – Agostino
    Jun 1, 2017 at 10:04
22
$\begingroup$

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.

$\endgroup$
4
  • 8
    $\begingroup$ +1 for only answer that actually meets the question's criteria... $\endgroup$ Nov 18, 2013 at 17:19
  • 2
    $\begingroup$ Annoying that it will only allow letters and not digits in labels...?! $\endgroup$ Nov 21, 2016 at 23:12
  • 2
    $\begingroup$ It also doesn't appear to have an "undo"?? That alone makes it unusable. $\endgroup$
    – user124384
    Jan 20, 2018 at 17:34
  • 1
    $\begingroup$ No longer works. $\endgroup$ Aug 6, 2021 at 23:30
15
$\begingroup$

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

$\endgroup$
10
$\begingroup$

Creately offers a nice WYSIWYG interface for drawing graphs.

$\endgroup$
2
  • $\begingroup$ Creately looks more like a flowchart kinda software. Dabbleboard is good but it isnt as neat as I would like. Thanks for your help $\endgroup$
    – f20k
    Dec 10, 2010 at 20:44
  • $\begingroup$ No, both are not ideal. They do a good enough work, though, if you really refuse to use TikZ or Graphviz. $\endgroup$
    – Raphael
    Dec 11, 2010 at 8:56
10
$\begingroup$

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

$\endgroup$
3
  • 1
    $\begingroup$ Better than most of them! $\endgroup$
    – Siyah
    May 3, 2017 at 9:46
  • $\begingroup$ This is the best to draw algorithm related graph, like a graph for Dijkstra algorithm. $\endgroup$
    – Eric
    Jun 22, 2017 at 3:48
  • $\begingroup$ How large a graph will it accept (import from graphml) ? $\endgroup$ Apr 15, 2019 at 12:10
10
$\begingroup$

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.

$\endgroup$
2
  • 1
    $\begingroup$ 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 desmos.com). This can make your website very useful for presenting graphs in forums such as Stack Exchange. $\endgroup$ Aug 11, 2016 at 12:14
  • $\begingroup$ Agreed this is a very good tool. I added a couple of feature requests. :-) $\endgroup$
    – LarsH
    May 31, 2017 at 21:40
8
$\begingroup$

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.

$\endgroup$
2
  • $\begingroup$ 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: anvaka.github.io/graph-drawing-libraries/#/all $\endgroup$
    – LarsH
    Jun 2, 2017 at 13:54
  • $\begingroup$ Looks nice for visualization; does it have option to change layout? (i thought it was force layout) $\endgroup$ Apr 15, 2019 at 12:14
6
$\begingroup$

You can also use GasTeX, which is a package for LaTeX for drawing graphs.

Example code:

\begin{gpicture}
  \node[Nmarks=i](A)(0,0){0}
  \node(B)(20,0){1}
  \node[Nmarks=f](C)(40,0){2}
  \drawedge(A,B){$a$}
  \drawloop(B){$b$}
  \drawedge(B,C){$c$}
\end{gpicture}
$\endgroup$
4
$\begingroup$

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

$\endgroup$
3
$\begingroup$

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

$\endgroup$
1
$\begingroup$

I think you're looking for something like:

Gliffy.com

Creately.com

$\endgroup$
1
$\begingroup$

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

$\endgroup$
2
  • $\begingroup$ Your third link is to localhost, so no one but you can access it. $\endgroup$
    – Michael A
    Feb 19, 2015 at 0:39
  • $\begingroup$ @MichaelA Thanks. Fixed. Well, edit needs approval. Thanks anyway. Please report if it is not operational again. I do not see from here. $\endgroup$
    – Val
    Feb 19, 2015 at 11:42
1
$\begingroup$

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

$\endgroup$
1
$\begingroup$

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

$\endgroup$
1
$\begingroup$

If you need a really quick solution to draw graphs quickly for pedagogical examples you can use https://graphonline.ru/en although its not ideal.

But it works and you can just click the nodes where you need them and join them up.

enter image description here

$\endgroup$
1
$\begingroup$

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.

$\endgroup$
0
$\begingroup$

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

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .