4
$\begingroup$

I've been trying to put together an answer to another question, but I am stuck, so I decided to post this question instead.

Mathematica contains (among its curated data) information on definition, embeddings, and many properties of around 7500 graphs. This is really a wealth of data, however, there are some problems that came with sheer size of information:

  • It is difficult to provide the user means for, let's say, selecting a graph, or selecting a group of graph with desired features.
  • It is difficult to know what really is in the database. For example, how many graphs are planar? How many are 3-chromatic?

To address this issue, my idea is as follows:

Create a rectangular map of graphs (that somewhat resembles "heatmaps"), where each graph is assigned a small cell (4x4, 5x5, or so pixels). The whole map should fit in a reasonable small portion of a computer screen. Each cell is colored by a property (user chooses which property) of each graph. (let's say the property could be number of vertices)

enter image description here

Than user hovers mouse pointer over the map, and gets more info on a particular graph, in this case Coxeter graph: (only default embedding is displayed in the picture, but there could be many other details there)

enter image description here


How should be the map colored?

For detailed info on GraphData[], of course see GraphData[] documentation. Some ideas on candidates for map coloring:

Boolean properties:

"Connected" connected
"Disconnected"  disconnected
"Planar"    planar

Numerical properties: (mostly integer numbers, but some could be non-integers, like Harary index)

"VertexCount"           total number of vertices
"EdgeCount"             total number of edges
"FaceCount"             total number of faces (for a planar graph)

"VertexConnectivity"        minimum vertex deletions to disconnect the graph
"EdgeConnectivity"          minimum edge deletions to disconnect the graph
"ConnectedComponentCount"   number of connected components

"ChromaticNumber"               chromatic number
"EdgeChromaticNumber"           edge chromatic number
"FractionalChromaticNumber"     fractional chromatic number
"FractionalEdgeChromaticNumber" fractional edge chromatic number

"BalabanIndex"      Balaban index
"CyclomaticNumber"  minimum number of edges to remove to turn acyclic
"DetourIndex"       detour index
"HararyIndex"       Harary index
"HosoyaIndex"       Hosoya index
"KirchhoffIndex"    Kirchhoff index
"KirchhoffSumIndex" Kirchhoff sum index
"StabilityIndex"    stability index

Note

Some other MSE questions and answers involving heatmaps:

here, here, here.

Sorry I can't include my code. But anyway it is not worth publishing, trust me.


Related visualization concepts

Data points triangle:

enter image description here

Parliament charts convey similar visualization concept:

enter image description here

Treemaps use (on top of color) also size of rectangle as a visual code:

enter image description here


Question

Is this idea feasible at all? Or good? Please feel free to adjust it, if you maybe have a better solution for the same problem.

$\endgroup$
2
$\begingroup$

I am not sure if this will completely answer your question.

I would suggest plotting scatterplot of all available graphs, with conveniently chosen x and y axes, and tooltips.

Like this:

ListPlot[Tooltip[GraphData[#, {"VertexCount", "EdgeCount"}], 
    GraphData[#, "StandardName"]] & /@ GraphData[]]

enter image description here

ListPlot[Tooltip[GraphData[#, {"VertexCount", "ChromaticNumber"}], 
    GraphData[#, "StandardName"]] & /@ GraphData[]]

enter image description here

ListPlot[Tooltip[GraphData[#, {"VertexCount", "StabilityIndex"}], 
    GraphData[#, "StandardName"]] & /@ GraphData[]]

enter image description here

ListPlot[Tooltip[GraphData[#, {"VertexCount", "HararyIndex"}], 
    GraphData[#, "StandardName"]] & /@ GraphData[]]

enter image description here

ListPlot[Tooltip[GraphData[#, {"VertexCount", "MeanDistance"}], 
    GraphData[#, "StandardName"]] & /@ GraphData[]]

enter image description here

ListPlot[Tooltip[GraphData[#, {"VertexCount", "FractionalChromaticNumber"}], 
    GraphData[#, "StandardName"]] & /@ GraphData[]]

enter image description here

ListPlot[Tooltip[GraphData[#, {"VertexCount", "ZIndex"}], 
    GraphData[#, "StandardName"]] & /@ GraphData[]]

enter image description here

Tooltips in action:

enter image description here

Tooltips containing images:

enter image description here

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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