151

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.

VividD
  • 15,566
  • 8
  • 58
  • 114
f20k
  • 1,613
  • 2
  • 11
  • 7
  • 1
    See also http://cstheory.stackexchange.com/questions/1677/what-is-the-recommended-software-for-drawing-data-structures-such-as-graphs-and-t – Raphael Dec 11 '10 at 08:58
  • 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. – AnonymousCoward Dec 12 '10 at 18:24
  • 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? – Learning Math Jun 05 '14 at 22:16
  • Geogebra takes some fiddling around with the default settings to get a graph going, but it's exactly what I was looking for. – user124384 Jan 20 '18 at 18:15
  • ok actually geogebra is super annoying to use. Defaults are seemingly impossible to set. – user124384 Jan 20 '18 at 18:45

19 Answers19

39

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

Firelord
  • 105
  • 4
Quixotic
  • 21,425
  • 30
  • 121
  • 207
23

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

Simon
  • 365
  • 2
  • 7
22

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.

  • yEd doesn't seem to have smart arrows. – Pacerier Jul 16 '14 at 16:09
  • 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. – Sebastian May 11 '15 at 10:28
  • 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. – Agostino Feb 22 '16 at 10:00
  • @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. – LarsH May 31 '17 at 18:30
  • @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! – Agostino Jun 01 '17 at 10:04
  • @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. – LarsH Jun 01 '17 at 12:39
21

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.

Jyoti Acharya
  • 219
  • 2
  • 2
13

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

Erel Segal-Halevi
  • 9,751
  • 3
  • 35
  • 88
10

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

Unick
  • 201
  • 2
  • 2
9

Creately offers a nice WYSIWYG interface for drawing graphs.

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

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.

Yibo Yang
  • 1,242
  • 14
  • 26
  • 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. – Erel Segal-Halevi Aug 11 '16 at 12:14
  • Agreed this is a very good tool. I added a couple of feature requests. :-) – LarsH May 31 '17 at 21:40
7

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.

Anvaka
  • 215
  • 3
  • 6
  • 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/#/all – LarsH Jun 02 '17 at 13:54
  • Looks nice for visualization; does it have option to change layout? (i thought it was force layout) – Cyriac Antony Apr 15 '19 at 12:14
6

You can also use GasTeX.

Yuval Filmus
  • 55,550
  • 5
  • 87
  • 159
3

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

JCMJ
  • 31
  • 1
2

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

user52354534
  • 303
  • 1
  • 3
  • 7
1

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

Val
  • 1
  • 7
  • 24
  • Your third link is to `localhost`, so no one but you can access it. – Michael A Feb 19 '15 at 00:39
  • @MichaelA Thanks. Fixed. Well, edit needs approval. Thanks anyway. Please report if it is not operational again. I do not see from here. – Val Feb 19 '15 at 11:42
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

Pål GD
  • 827
  • 7
  • 14
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.

Adrian Keister
  • 9,486
  • 13
  • 27
  • 39
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

1

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

Tom
  • 1,076
  • 6
  • 15
1

I think you're looking for something like:

Gliffy.com

Creately.com

Magne
  • 142
  • 4
0

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

CpILL
  • 101
  • 4