I am using NVI (Normalized Variation of Information) to measure the quality of clustering obtained ( a family of them) compared to the Ground Truth and also to the result obtained with another method.

Since NVI is a metric, it satisfies the triangular inequality and hence I thought it would be nice to plot the result graphically.

For that, I need a tool that given the distances among points can plot them in such a way that all the distances are respected among the different reference points. The graph should be 2D.

Do you know of any tool that can do like that? i.e. receiving a matrix of distances The matrix will not be complete, that is, the distance between all the partitions is not calculated. All the distances to the 3 references (2 GT and the additional method) and the distances among the 3 references are calculated.

If not a tool, using Matlab or Python and doing some programming is also fine for me. I have around 200 points to plot.

EDIT: I have found this answer in SO: https://stackoverflow.com/questions/13513455/drawing-a-graph-or-a-network-from-a-distance-matrix but it doesn't work properly, even for 7 nodes (that can be visually verified the correctness")


1 Answer 1


It seems what you're looking for is Multidimensional Scaling. It takes a distance matrix and processes coordinates such that the distances between the points approximately respect the values in the matrix. There are implementations in many languages, such as R (see this page).

However, you might need (much) more than 2 dimensions if you want to obtain coordinates exactly resulting in the same distances.

  • $\begingroup$ I found the same solution from Matlab webpage. As you suggest, the results are not very satisfactory as to represent in a 2D or 3D space. In any case, since you provided the solution, I award you the Correct Answer. $\endgroup$
    – Picarus
    Commented Mar 23, 2014 at 20:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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