Visualization - the size of the circle, proportional to the value of the element

I get acquainted with Graphviz and wonder if it is possible to build a chart / graph like the one below (not sure what you call it). If not, does anyone know what a good open source framework that does this? (pref, C ++, Java or Python).

enter image description here

+4
source share
1 answer

According to Many Eyes , this is a bubble chart. They say:

This is especially useful for datasets with tens to hundreds of values ​​or with values ​​that differ by several orders of magnitude.

...

To see the exact meaning of the circle on the chart, hover over it. If you are drawing multiple dimensions, use the menu to select which dimension to display. If your dataset has multiple numeric columns, you can choose which column will base the circle dimensions using the menu at the bottom of the chart.

Thus, any representation with a large number of bubbles in it (especially with many small bubbles) must be dynamic in order to respond to the mouse.

My usual practice with bubble charts is to show three or four variables (x, y and another variable in terms of bubble size and, possibly, another variable with color or bubble shading). With animation, you can also show development over time - see GapMinder . FlowingData is a good tutorial example on how to create static bubble maps in R.

In the example shown in the question, the bubbles appear to be located somewhat close to close companies. Even then, the exact design criteria are unclear to me. For example, I would expect Volkswagen to be closer to General Motors than Pfizer (if some measure of company similarity is used to place the bubbles), but this is not the case in this diagram.

You can use Graphviz to create a static version of the bubble chart, but that would be a lot of work. You will need to pre-process the data to calculate the similarity matrix, get the weight of the borders from this matrix, assign colors and sizes to each bubble, and then pre-process the script to write the Graphviz file with all the edges and run the Graphviz file through neato to draw it.

+3
source

Source: https://habr.com/ru/post/1501105/


All Articles