问题标签 [networkx]
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.
python - 如何绘制不同边缘颜色的相同节点对应两个不同的图?
希望我的问题以前没有问过。我有两个图,它们的节点相同,但边缘不同。我想在一个图中绘制两个图表。这意味着我有相同的节点,但有两种不同的边缘颜色。但它给了我两个不同的图表。我怎么能把它们放在一个图中但边缘颜色不同?
python - 需要有关 NetworkX 的帮助
目前我面临以下问题:
我有一个脚本可以搜索包含文档的特定目录。每个文档都在文件名中分配了一个编号。每个文档中的数字也代表另一个文档(文件名)。如何创建一个显示哪些文档导致什么的网络?
任何帮助将不胜感激,谢谢
python - 添加点头和属性列表和KeyError!
在我的情况下,我有一个节点,每个节点都有一个属性列表,称为“时间”。我做了一个这样的简单模型,我得到了 KeyError'times'。我需要我的图表将每个节点都保存为“时间”列表作为属性。我该如何解决?
python - 如何为我的 networkx 图指定精确的输出大小?
以上是我当前图表的输出。但是,我还没有管理我想要实现的目标。我需要以更大的尺寸输出我的图形,以便可以轻松查看每个节点/边。
我试过nx.draw(G, node_size=size)
了,但这只会增加节点的大小,而不是节点和边之间的距离。
python - 使用networkX查找节点前辈的最优雅方法
我正在使用NetworkX使用 python 进行图形模型项目。NetworkX 使用字典提供了简单而良好的功能:
我想使用有向图,因为我正在编码具有方向的依赖项(在上面的示例中,我有以 'a' 为条件的 'b' 的封闭形式,而不是相反)。
对于给定的节点,我想找到该节点的前任。对于上面的例子,par('b') 应该返回 ['a']。NetworkX 确实有一个后继函数,它可以找到任何节点的子节点。显然,通过遍历所有节点并找到那些将“b”作为子节点的节点将起作用,但节点数量将是 Ω(n)(这对我的应用程序来说太贵了)。
我无法想象这个制作精良的包装中会遗漏这么简单的东西,但找不到任何东西。
一种有效的选择是存储图的有向和无向版本;所有无向边本质上都是通过添加两个有向边来实现的,因此可以获取相邻节点和子节点(这将是前任)之间的集合差异。
问题是我不确定包装现有 networkx DiGraph 和 Graph 类来实现这一点的最 Pythonic 方式。真的,我只想得到一个 PGraph 类,它的行为与 networkx DiGraph 类完全一样,但predecessors(node)
除了函数之外还有一个successors(node)
函数。
PGraph是否应该继承DiGraph并封装Graph(用于前辈功能)?那么我应该如何强制将所有节点和边添加到它包含的有向图和无向图中?我是否应该重新实现在 PGraph 中添加和删除节点和边的函数(以便在有向和无向版本中添加和删除它们)?我担心如果我错过了一些不起眼的东西,我以后会头疼,这可能并不意味着好的设计。
或者(请顺其自然True
)是否有一种简单的方法可以在 networkx.DiGraph 中获取节点的前任,而我完全错过了它?
非常感谢你的帮助。
编辑:
我认为这可以完成工作。PGraph 继承自有向图并封装了另一个有向图(这个颠倒了)。我已经覆盖了添加和删除节点和边的方法。
您如何看待这个解决方案?它可能会使内存使用量翻倍,但我认为这是可以接受的。是不是太复杂了?这是好设计吗?
python - Networkx:如何绘制彩色边缘?
我使用以下代码构建了一个图表:
然后我使用以下方法显示:
它显示得很好,除了所有边缘都是黑色的,而不是我在上面的代码片段中尝试分配的颜色。有任何想法吗?
python - 如何通过指定规则改变边缘的权重?
我有一个加权图:
获取节点列表:
我想通过这条规则改变每条边的权重:
删除一个节点,比如节点5,很明显,边(4, 5)
,和(5, 6)
将被删除,每条边的权重变为:
这个算法怎么写?
path_graph
只是一个例子。我需要一个适合任何图形类型的程序。此外,程序需要是可迭代的,这意味着我每次都可以从原始图中删除一个节点。
attributes - NetworkX节点属性绘制
我使用networkx进行可视化。我看到当我使用函数 draw_networkx_edge_labels 时,我可以检索边缘的标签。
我想在节点上打印属性(而不是标签)..几乎尝试一切。仍然卡住。如果我每个节点有 5 个属性,是否可以在每个节点上打印特定属性?例如,如果汽车节点具有以下属性:尺寸、价格、公司、.. 我想在每个节点上打印汽车的尺寸?
不知道是否可以在图表上输出。
python - 在networkx(Python)中获取有向图的根(头)
我正在尝试networkx
在项目中进行一些图形表示,但我不确定如何做一些应该简单的事情。我创建了一个带有一堆节点和边的有向图,因此该图中只有一个根元素。现在,我想做的是从根开始,然后遍历每个元素的子元素并从中提取一些信息。如何获取此有向图的根元素?
所以它会是这样的:
我在文档中没有看到任何建议一种简单的方法来检索有向图的根的内容——我应该手动推断吗?:O 我试着iter(myDiGraph)
希望它会从根开始迭代,但顺序似乎是随机的...... :\
帮助将不胜感激,谢谢!
python - 递归搜索networkx图
关于递归的问题(以及切向的图形库networkx):我有一个带有节点的有向图,该节点的边具有可以为0或1的属性[“值”](实际上是边权重)。
我希望能够递归地检查节点的邻居,直到邻居的节点未达到某个阈值。例如:
我在递归方面失败了,基本上,我认为是因为“for”循环的完成方式。我能得到一些帮助吗?(我查看了另一个 SO 帖子,但似乎不是特别相关?)
谢谢!