2009-10-03 99 views
5

我期待构建一个算法(或重新使用一个),在2维画布上组织节点和边,其边可以具有相应的权重。带有加权边的图形绘制

任何起始材料和信息将会有所帮助。

回答

1

权重会影响它们在画布上的位置?

这就是说,你可能想看看graphviz,更具体地说,在画布上组织节点的DOT语言。许多图形可视化框架使用基于力的模拟,其中所有节点相互施加排斥力(其质量是它们的大小),并且边缘在它们连接的节点上施加张力。这创建了美学排列的图形可视化。

虽然我不确定你希望节点“权重”在哪里发挥作用。你想要加权节点更多在中心?要更大?更进一步呢?

+0

权重常常表示节点之间的相似性。我们经常希望类似的节点在图中彼此接近。 – MRocklin 2012-06-15 15:52:39

0

许多图形/网络布局算法隐含地能够处理加权网络,但您可能需要对实现进行一些预处理和调整才能使其运行。通常,第一步是确定您的权重是否表示“相似性”(通常被解释为意味着更强的权重应该将节点放在更近的地方)或“不相似性”(更强的权重=父亲除外)。最常见的情况是前者,因此您需要将它们转换为不相似性,通常通过从网络中观察到的最大边缘值中减去每个边缘值来完成。然后可以将每个边缘的不相似度值的矩阵馈送给算法,并将其解释为每个边缘的布局空间中的期望距离(即“弹簧长度”) - 通常在乘以某个常数以转换为显示单位(像素)之后, 。

如果你告诉我你正在使用什么语言,我可能会指出你一些代码示例。

+0

我实际上是在寻找这个确切的东西(具有较高的加权边缘意味着相似性)我使用Python,你能指出我的东西吗? – 2017-04-18 06:33:28