Dav*_*ten 5 language-agnostic graphics visualization graph
我有一个对象列表(可能不超过100个),其中每个对象与所有其他对象的距离.该距离仅仅是这些对象共享的所有字段之间的额外绝对差异.可能存在很少(一个)或许多(几十个)场,因此距离的维度并不重要.
我想在2D图形中显示这些点,使得距离较小的物体看起来很近.我希望这将清楚地表达整个列表中有多少个子组.显然这个图的轴是没有意义的(我甚至不确定"图形"是正确使用的词).
将距离网络转换为2D点分布的好算法是什么?理想情况下,我希望对距离网络进行一些小的改动,以使图形发生微小的变化,从而可以将增量进度视为随时间的平滑变化.
我已经找到了我正在寻找的那种结果的一个小例子: 示例图形http://en.wiki.mcneel.com/content/upload/images/GraphExample.png
大卫,非常感谢任何想法
它实际上似乎有效.我将整个值集视为二维粒子云,在所有粒子之间构建反平方排斥力,并基于反距离构造线性吸引力.它不是一个稳定的算法,只要执行额外的迭代,结果就会剧烈旋转,但它似乎总能产生与视觉集群的良好分离:
替代文字http://en.wiki.mcneel.com/content/upload/images/ParticleCloudSolution.png
如果有人感兴趣,我可以发布C#代码(很遗憾)