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.

$\endgroup$
  • 1
    $\begingroup$ See also cstheory.stackexchange.com/questions/1677/… $\endgroup$ – Raphael Dec 11 '10 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$ – AnonymousCoward Dec 12 '10 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$ – Mathmath Jun 5 '14 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 '18 at 18:15
  • $\begingroup$ ok actually geogebra is super annoying to use. Defaults are seemingly impossible to set. $\endgroup$ – user124384 Jan 20 '18 at 18:45

18 Answers 18

34
$\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$
  • 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 '10 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 '10 at 21:03
  • 6
    $\begingroup$ I cannot stress how much I love TikZ. $\endgroup$ – Hans Parshall Dec 11 '10 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 '13 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 '18 at 18:02
18
$\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$
  • $\begingroup$ yEd doesn't seem to have smart arrows. $\endgroup$ – Pacerier Jul 16 '14 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 '15 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 '16 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 '17 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 '17 at 10:04
18
$\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$
  • 8
    $\begingroup$ +1 for only answer that actually meets the question's criteria... $\endgroup$ – BlueRaja - Danny Pflughoeft Nov 18 '13 at 17:19
  • 1
    $\begingroup$ Annoying that it will only allow letters and not digits in labels...?! $\endgroup$ – Periata Breatta Nov 21 '16 at 23:12
  • 2
    $\begingroup$ It also doesn't appear to have an "undo"?? That alone makes it unusable. $\endgroup$ – user124384 Jan 20 '18 at 17:34
14
$\begingroup$

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

$\endgroup$
  • 1
    $\begingroup$ I find draw.io buggy and annoying to use. $\endgroup$ – user124384 Jan 20 '18 at 17:51
8
$\begingroup$

Creately offers a nice WYSIWYG interface for drawing graphs.

$\endgroup$
  • $\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 '10 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 '10 at 8:56
7
$\begingroup$

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

$\endgroup$
  • 1
    $\begingroup$ Better than most of them! $\endgroup$ – Siyah May 3 '17 at 9:46
  • $\begingroup$ This is the best to draw algorithm related graph, like a graph for Dijkstra algorithm. $\endgroup$ – Eric Wang Jun 22 '17 at 3:48
  • $\begingroup$ How large a graph will it accept (import from graphml) ? $\endgroup$ – Cyriac Antony Apr 15 at 12:10
6
$\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$
  • $\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 '17 at 13:54
  • $\begingroup$ Looks nice for visualization; does it have option to change layout? (i thought it was force layout) $\endgroup$ – Cyriac Antony Apr 15 at 12:14
6
$\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$
  • 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$ – Erel Segal-Halevi Aug 11 '16 at 12:14
  • $\begingroup$ Agreed this is a very good tool. I added a couple of feature requests. :-) $\endgroup$ – LarsH May 31 '17 at 21:40
5
$\begingroup$

You can also use GasTeX.

$\endgroup$
4
$\begingroup$

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

$\endgroup$
2
$\begingroup$

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

$\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$
  • $\begingroup$ Your third link is to localhost, so no one but you can access it. $\endgroup$ – Michael A Feb 19 '15 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 '15 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$

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

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

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

protected by J. M. is a poor mathematician Jul 27 '17 at 9:16

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.