166
$\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$
7
  • 1
    $\begingroup$ See also cstheory.stackexchange.com/questions/1677/… $\endgroup$ Commented 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$ Commented 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$ Commented 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$ Commented Jan 20, 2018 at 18:15
  • $\begingroup$ ok actually geogebra is super annoying to use. Defaults are seemingly impossible to set. $\endgroup$ Commented Jan 20, 2018 at 18:45

20 Answers 20

42
$\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$ Commented 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$ Commented Dec 10, 2010 at 21:03
  • 8
    $\begingroup$ I cannot stress how much I love TikZ. $\endgroup$ Commented 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$ Commented 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$ Commented Jan 20, 2018 at 18:02
26
$\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$ Commented Jan 20, 2018 at 17:51
  • 8
    $\begingroup$ As for 2020 I found it very pleasant and straightforward! $\endgroup$ Commented 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$ Commented 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$ Commented 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$ Commented 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$ Commented 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$ Commented 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$ Commented Nov 18, 2013 at 17:19
  • 2
    $\begingroup$ Annoying that it will only allow letters and not digits in labels...?! $\endgroup$ Commented Nov 21, 2016 at 23:12
  • 2
    $\begingroup$ It also doesn't appear to have an "undo"?? That alone makes it unusable. $\endgroup$ Commented Jan 20, 2018 at 17:34
  • 2
    $\begingroup$ No longer works. $\endgroup$ Commented Aug 6, 2021 at 23:30
18
$\begingroup$

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

$\endgroup$
11
$\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$ Commented Aug 11, 2016 at 12:14
  • $\begingroup$ Agreed this is a very good tool. I added a couple of feature requests. :-) $\endgroup$ Commented May 31, 2017 at 21:40
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$ Commented 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$ Commented 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$ Commented May 3, 2017 at 9:46
  • $\begingroup$ This is the best to draw algorithm related graph, like a graph for Dijkstra algorithm. $\endgroup$ Commented Jun 22, 2017 at 3:48
  • $\begingroup$ How large a graph will it accept (import from graphml) ? $\endgroup$ Commented Apr 15, 2019 at 12:10
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$ Commented 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$ Commented 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$

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$
4
$\begingroup$

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

$\endgroup$
2
$\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$

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$ Commented 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$ Commented 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$

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$
0
$\begingroup$

House of Graphs is great. It can import and export adjacency matrices and Graph6 strings among other export formats and allows you to create drawings of your graph adhering to a certain layout. You can search its database to discover the common name of your graph and some of its properties.

$\endgroup$

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.