language-agnostic - 绘制二维点图

标签 language-agnostic graphics graph visualization

我有一个对象列表(可能不超过 100 个),其中每个对象与所有其他对象都有距离。这个距离仅仅是这些对象共享的所有场之间的绝对差异。可能有很少(一个)或许多(几十个)场,因此距离的维数并不重要。
我想在 2D 图形中显示这些点,以便距离很小的物体看起来靠得很近。我希望这将清楚地传达整个列表中有多少个子组。显然,该图的轴毫无意义(我什至不确定“图”是否正确使用)。
将距离网络转换为二维点分布的好算法是什么?理想情况下,我希望对距离网络进行小幅更改,从而在图形中进行小幅更改,以便可以将渐进式进度视为随时间的平滑变化。
我已经为我正在寻找的那种结果做了一个小例子:
Example Graphic http://en.wiki.mcneel.com/content/upload/images/GraphExample.png
非常感谢任何想法,
大卫

编辑:
它实际上似乎奏效了。我将整个值集视为 2D 粒子云,在所有粒子之间构建反平方排斥力和基于反距离的线性吸引力。这不是一个稳定的算法,每当执行额外的迭代时,结果往往会剧烈旋转,但它似乎总是能很好地分离成视觉集群:
alt text http://en.wiki.mcneel.com/content/upload/images/ParticleCloudSolution.png
如果有人感兴趣,我可以发布 C# 代码(遗憾的是有很多)

最佳答案

Graphviz包含解决这个问题的几种不同方法的实现;考虑使用其 Spring 模型图布局工具作为解决方案的基础。或者,其站点包含 a good collection of source material关于相关理论。

关于language-agnostic - 绘制二维点图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2071851/

相关文章:

language-agnostic - 按引用传递与按值传递有什么区别?

language-agnostic - 什么是类接口(interface)?

language-agnostic - '方法'vs. 'message' vs. 'function' vs. '???'

r - 图形未出现在 R : null device? 中

css - CSS 着色器的浏览器?

java - 循环图

r - 将多项研究的研究平均值绘制为散点图,点大小与研究样本大小相对应

language-agnostic - 如何在纸上高效地编写代码

graphics - 确定现有 DDS 纹理文件的 block 压缩格式

r - 更改 ggplot2 中单个方面的文本颜色