Graph 带加权边的图形绘制

Graph 带加权边的图形绘制,graph,Graph,我希望构建一个算法(或重用一个),在二维画布上组织节点和边,边可以具有相应的权重 任何起始材料和信息都会有帮助。权重会如何影响它们在画布上的位置 也就是说,您可能需要研究,更具体地说,是组织画布上节点的语言 许多图形可视化框架使用基于力的模拟,其中所有节点相互施加排斥力(其质量为其大小),边对其连接的节点施加张力。这将创建美观的图形可视化 尽管如此,我不确定您希望节点“权重”在哪里发挥作用。是否希望加权节点更多地位于中心?变大?更进一步?许多图形/网络布局算法隐式地能够处理加权网络,但您可能需要

我希望构建一个算法(或重用一个),在二维画布上组织节点和边,边可以具有相应的权重


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

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

也就是说,您可能需要研究,更具体地说,是组织画布上节点的语言

许多图形可视化框架使用基于力的模拟,其中所有节点相互施加排斥力(其质量为其大小),边对其连接的节点施加张力。这将创建美观的图形可视化


尽管如此,我不确定您希望节点“权重”在哪里发挥作用。是否希望加权节点更多地位于中心?变大?更进一步?

许多图形/网络布局算法隐式地能够处理加权网络,但您可能需要对实现进行一些预处理和调整,以使其正常工作。通常,第一步是确定权重是表示“相似性”(通常解释为更高的权重应将节点放在更靠近节点的位置)还是“不同性”(更高的权重=相距较远)。最常见的情况是前者,因此您需要将它们转换为不同点,通常通过从网络中观察到的最大边值中减去每个边值来完成。然后,每个边的相异值矩阵可以输入到算法中,并解释为每个边在布局空间中的所需距离(即“弹簧长度”)——通常在乘以某个常数后转换为显示单位(像素)


如果您告诉我您使用的是哪种语言,我可能会为您指出一些代码示例

权重通常表示节点之间的相似性。我们经常希望类似的节点在一个图中彼此靠近。我实际上是在寻找这个确切的东西(更高的加权边意味着相似性)我在使用Python,你能给我指出点什么吗?