问题标签 [digraphs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1099 浏览

python - Python的matplotlib中带有networkx的非常慢的网络图动画

我很想为随着时间的推移而增长的networkx图制作动画。我让它与弯曲的边缘一起工作。很高兴,但是随着图表的增长,它会显着变慢!?任何人都可以解释或更改给出的代码以更快地运行。我不认为这是我的电脑问题。注意:即使没有花哨的弯曲边缘,它也很慢。一个简单的 nx.draw 会导致同样的问题


0 投票
0 回答
518 浏览

python - graphviz + Python:如何分配节点位置?

我有以下字典,边缘作为键,浮点数作为值。

而我所说的 a base,实际上只是涉及的节点,忽略ifbase = set([24,25,26,27,29,30,33,34,35,36,37]). 我想使用 graphviz 绘制有向图。我这样做如下:

但是,我没有得到预期的结果。

在此处输入图像描述

我想要一个上下有向图,i顶部有节点,二级节点2425,然后是节点2627,然后是其余节点,最后f是底部节点。

我已经阅读了多篇文章并尝试使用该属性rank但没有运气。有什么建议么?

0 投票
2 回答
321 浏览

python - Python:如何摆脱从文件中读取的非 ascii 字符

我正在使用 python 处理一长串看起来像这样的数据

数据截图

有向图可能是由于编码问题。(我不确定这些字符是否会保留在本站中)

open现在,当我使用类似and将此类文件读入脚本时readlines,出现错误,正在读取

我知道(或可能查找)替换和正则表达式函数的用法,但我不能在我的脚本中执行它们。最大的问题是,在我包含或读取这样奇怪的字符的任何地方,都会发生错误,指向它被读取的那一行。所以我不能对他们做任何事

0 投票
1 回答
808 浏览

hyperlink - Netlogo:创建指向新邻居的链接

我尝试在 Netlogo 中生成有向图。两个节点之间应该只有一个链接。我使用以下代码片段:



它不断在节点之间创建两个链接(从和到)。我的错误是什么?

提前致谢!

埃里克。

0 投票
1 回答
699 浏览

graph - Graphviz如何控制边缘

截图。我正在寻找右侧的图表,但我得到的是左侧的图表。我是 Graphviz 的新手。我还必须制作节点 1 和 2,因为我无法模仿右侧的图像。我的端子形状也不完全相同。有人帮我解决这个问题。我的代码到现在:

0 投票
1 回答
152 浏览

python - NetworkX MultiDiGraph——边缘数据属性中出现“id”和“key”?

我在 NetworkX MultiDiGraph 中迭代边缘,如下所示:

在某些情况下,我在字典中找到id和键,但我无法弄清楚这些是何时或为什么被创建的,除非它只发生在.keydu==v

我一直无法找到导致这种情况的最小示例。我觉得很奇怪,钥匙k会在 attr dict 中重复d

0 投票
1 回答
528 浏览

algorithm - 生成所有唯一的有向图,每个节点有 2 个输入

我正在尝试生成所有符合规范的独特有向图:

  • 每个节点必须恰好有 2 个输入
  • 并且允许任意多个输出到图中的其他节点

我目前的解决方案很慢。例如,对于 6 个节点,算法需要 1.5 天才能到达我认为完成的位置,但它可能还要再检查几天。

n我的节点图算法:

  1. 生成n的全长字符串0,其中一个符号是 a 1,例如,对于 n=3, [[0,0,1], [0,1,0], [1,0,0]]。这些可以被认为是来自单位矩阵的行。

  2. 生成所有可能的n * n矩阵,其中每一行是所有可能的组合step 1. + step 1.

这是连接矩阵,其中每个单元代表从column-index到的连接row-index

因此,对于 n=3,这些是可能的:

  • [0,1,0] + [1,0,0] = [1,1,0]
  • [1,0,0] + [1,0,0] = [2,0,0]

这些代表节点的输入,通过将步骤 1 添加到自身,结果将始终代表 2 个输入。

例如:

因此B,每个C连接A一次:B -> A', C -> A'

B连接到自身两次:B => B'

  1. 我只想要唯一的,所以对于生成的每个连接矩阵,我只能保留它,如果它不与已经看到的图同构。

这一步很昂贵。我需要通过遍历同构图的每个排列,对它们进行排序,并将第一个视为“规范形式”,将图转换为“规范形式”。

如果有人潜入测试其中任何一个,这里是n节点的唯一图的计数:

可能的优化:

  1. 既然我要生成要测试的图表,有没有办法在不测试的情况下将它们排除在外,因为它们与已经看到的图形同构?

  2. 有更快的图同构算法吗?我认为这与“Nauty”有关,我在论文中读过其他一些,但我还没有实现它们的专业知识(或带宽)。

这是一个可演示的连接矩阵,可以在 graphonline.ru 上绘制,以显示自连接和到同一节点的 2 个连接:


这是haskell中的代码,如果你想玩它,但我更关心的是让算法正确(例如修剪搜索空间),而不是实现:

0 投票
1 回答
2648 浏览

python - 是否可以更改 pydot 图的节点大小?

我写了一个代码将我的转换MultiDiGraph()pydot图表以显示自循环和箭头,但转换后,pydot图表A失去了所有属性G。如何更改图形的节点大小A并将它们设置为等于node_sizes[]列表中的相应值,就像我所做的那样G

代码:

0 投票
1 回答
130 浏览

vim - 如何在vim中删除有向图突出显示

使用vimnvim,当我打开一个新的 vim 终端时,有向图正确显示。见下文:

在此处输入图像描述

然而,每当我改变colorscheme (任何,它不是特定于特定的配色方案) - 然后有向图就会突出显示。即使切换回原始配色方案,突出显示仍然存在。任何有向图都会发生这种情况,而不仅仅是这个问题中显示的那个。见下文:

在此处输入图像描述

无法找到删除该突出显示的方法,或首先阻止它发生。尝试过类似的命令,:highlight nonascii none但没有运气。非常感谢任何帮助/建议。

0 投票
1 回答
89 浏览

matlab - 矩阵乘法 MATLAB

所以也许我想多了,把它弄得一团糟......

我在 MATLAB 中有一个有向图。我需要将其更改为无向图以使用最小生成树对其进行评估(对吗?它不适用于有向图)。我有一个表示重复的 nx1 二进制矩阵(1 是唯一的,0 是重复的),我的 node-node-edgeweight 矩阵的形式是 nx3. 似乎我的有向边在两个方向上都是相同的,因此将其更改为无向边应该不会有什么不同。

如何使用二进制的列向量将主矩阵中的所有三列重复归零,这样它只会显示无向边?

另外,如果我缺少另一种方法,我会喜欢的!