Graph Theory Software with simple GUI

To the best of my knowledge I cannot find, on this site, any graph theory program resources.

I am looking for a program where I can draw nodes and edges and most importantly drag and drop vertices while keeping edges in tact. Does any such program exist? Can you provide me with resources to find such a program?

I want such a program, where I can drag and drop vertices, so that I may better visualize different isomorphisms of the same graph. I have a tough time seeing these sorts of things in my minds eye (although I'm trying to get better at it).

Although this appears as though it may be a duplicate, I want to stress that I am looking for a program with a simple GUI, where I can drag and drop vertices while keeping edges in tact. The "duplicate" question's answers provide an extensive of list of programs that can return information on a graph and allow you to programmatically generate graphs. I am not interested in this at the moment. I want an incredibly simple program.

Try using sage math via notebook http://sagenb.org and use the function graph_editor(). I think that's precisely what you want.

• That is exactly what I'm looking for. I can't quite figure out how to draw my own graphs yet, but i can manipulate the petersen graph exactly like I wanted to. Thank you!!! Jan 20 '15 at 21:54

It sounds like Geogebra Geometry is exactly what you are looking for, at least for casual use on a small number of vertices. It lets you drop down points, connect segments between them, and move the points around freely (bringing the lines with them). It does it in a simple web-based interface, with no software installation needed.

I think it might require some work to automatically import a graph specified in a text file, as you'd want to do if you were working with something of moderate size. But for gathering intuition about small graphs (as the original question describes), Geogebra is pretty well-suited.

Click here for matlab graph mfile run this program in matlab command window to draw your any graph . define matrix A : adjacency matrix, where A(I,J) is nonzero (=1)if and only if there is an edge between points I and J.

for example : write in command window in matlab $$n = 9; t = 2*pi/n*(0:n-1);$$ $$A = round(rand(n));$$ $$xy = [cos(t); sin(t)]';$$ $$gplotdc(A,xy,'LineWidth',2,'MarkerSize',8);$$

in this example $A$ is $n\times n$ matrix. use your matrix instead of $A$ in above example.