# Using which software can I produce network maps of this kind?

I found this image few years ago. I don't remember where I found it but it really helped me in teaching all the networking concepts to my students. I mean, picturing network like this has somehow made things very clear than those 2-D Network diagrams.

The only problem with this image is that it doesn't actually contain the icons of actual network elements. I want to replace the icons shown in picture with `real` (not symbolic) icons of hardware and produce similar 3-D map.

Can any one suggest me a good software for doing this job?

Note: Actually this is a cross post. I posted this initially on serverfault and it is likely to get closed on that site. So, asking it here.

What you are asking for can be accomplished by many 3D rendering programs (Cinema 4D, Maya, etc). The free one among them is called Blender. Unfortunately, there is a learning curve to using this program and you will probably invest significantly more time than a 2D Network map, but it might be what you are looking for. I agree though, this form is a lot easier to digest than the stale 2D networking maps I've seen- it gives connections physical locations which assists in understanding the connections.

I agree that a 3D map is probably going to be an unnecessary distraction from your data. However, it can be useful for interactive use - if you can animate a walkthrough or fly-over it might add to the informative aspects.

Graphs like this are easy to code in Mathematica. This code (with some random data):

``````vertexshape[{xc_, yc_, zc_}, name_] :=

If[Mod[ToExpression[name], 3] == 0,
{White, Text[name, {xc, yc, zc}], RandomChoice[{Orange, Green}],
Cuboid[{xc, yc, zc} - .1, {xc, yc, zc} + .1]},
{Yellow, Text[name, {xc, yc, zc}], RandomChoice[{Purple, Blue}],
Sphere[{xc, yc, zc}, .1]}]
edgeshape[vertices_, nodes_, label_] :=

If[Mod[ToExpression[First[nodes]], 3] == 0,
{Red, Cylinder[vertices, .05]},
{Gray, Cylinder[vertices, .02]}]

g = TreeGraph[RandomInteger[#] -> # + 1 & /@ Range[0, 520]];

GraphPlot3D[g,
VertexRenderingFunction -> vertexshape,
EdgeRenderingFunction -> edgeshape,
PlotStyle ->
Directive[EdgeForm[None], FaceForm[Orange, Red],
Specularity[White, 30]],
Boxed -> False,
Background -> Black]
``````

generates images like this

:

To be honest if the map is in 2d i don't really see the point of making it 3d at all costs... I mean if you want to have something in 2d there are plenty of (easier) ways to achieve this, the first that comes to mind is using code to generate the graph if you have the dataset set like that. One good example could be d3.js, a relatively easy to understand library if you have some good basics of html, css and a bit of javascript. What you're looking for can be seen here: http://excelramblings.blogspot.it/2013/06/visualization-of-sites-to-tags-with-d3js.html

Most network visualisations these days can handle big data, and a good handful will have 3D options. Personally, I think 3D often defeats the purpose, but that is my personal opinion.

Note that network visualisation is not the same as multivariate visualisation, and that some of these are limited to networks, and are therefore node-based only. Some might have plugins for extending network analysis:

Gephi.org - the out of the box are a little limited but it has plenty of plugins for advanced alternatives

InfoViz

Sci2Tool

Keylines

Sentinel visualizer

GraphInsight

NodeXL - Excel-based