next | previous | forward | backward | up | top | index | toc | Macaulay2 website
Visualize :: visualize(Graph)

visualize(Graph) -- visualizes a graph in a modern browser

Synopsis

Description

Using JavaScript, this method creates an interactive visualization of a graph in a modern browser. While viewing the graph, the user has the ability to manipulate and run various tests. Once finished, the user can export the finished result back to the Macaulay2 session.

The workflow for this package is as follows. Once we have loaded the package, we first open a port with openPort for Macaulay2 to communicate with the browser. Once a port is established, define an object to visualize. In this example we could use the command openPort"8080" before or after we define the following graph.

i1 : G = graph({{0,1},{0,3},{0,4},{1,3},{2,3}},Singletons => {5})

o1 = Graph{0 => {1, 3, 4}}
           1 => {0, 3}
           2 => {3}
           3 => {0, 1, 2}
           4 => {0}
           5 => {}

o1 : Graph

At this point we wish to visualize G. To do this simply execute H = visualize G and browser will open with interactive image. You can view this image in the link below.

Visualize Graphs example

Once finished with a session, you can keep visualizing. For example if you were to say H = visualize G, once you ended the session, the last graph on the screen would be assigned to H. After running various computations on this graph, you can then visualize it once more with the visualize method. You can keep using this method until the port is closed with closePort or Macaulay2 is restarted.

Browser Menu Options

On the side of the browser will be several options to interact with the graph using the Graphs package. Below is a brief overview of the options.

Caveat

When the graph is exported back to Macaulay2 after ending the visualization session, all vertices are represented as strings. To recover the values of these labels (for example, if they have numeric values or represent ring variables), use the command value first toString G.

See also