问题标签 [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 - 将 networkx 与我自己的对象一起使用
我有自己的东西,比如意大利辣香肠。我有每个意大利辣香肠的边缘列表和意大利辣香肠列表。然后我使用networkx构建一个图表。我试图找到从一个意大利辣香肠到另一个意大利辣香肠的最短路径的重量。但是,我收到如下错误,它跟踪来自 networkx 的内部事物,如下所示:
关于错误是什么的任何想法,或者我必须在我的披萨类中添加什么才能不得到这个 KeyError?
编辑:我的边缘格式正确。我不知道这些对象是否可以作为节点处理。
python - 在 python 中,如何从字典中检索键?
我有一个可散列的标识符,用于将内容放入字典中:
我有一个节点类型,它封装标识符以实现散列和相等:
我将一些节点放入字典中:
一段时间后,我只有一个标识符:
有什么方法可以有效地查找在这个字典中存储了这个标识符的节点?
请注意,这比听起来要复杂一些;我知道我可以轻松地使用它d[my_id]
来检索关联的项目'Node 2'
,但我想有效地返回对n2
.
我知道我可以通过查看 中的每个元素来做到这一点d
,但我已经尝试过了,它太慢了(字典中有数千个项目,我这样做了很多次)。
我知道内部dict
正在使用该标识符的hash
andeq
运算符来存储节点n2
及其关联项,'Node 2'
. 其实使用my_id
to lookup'Node 2'
其实需要lookupn2
作为中间步骤,所以这应该是绝对可以的。
我正在使用它来将数据存储在图表中。节点有很多value
未在散列中使用的附加数据(我放的地方)。我没有创建我正在使用的图形包(networkX),但我可以看到存储我的节点的字典。我还可以在节点标识符周围保留一个额外的字典,但这会很痛苦(我需要包装图形类并重写所有添加节点、删除节点、从列表中添加节点、从列表中删除节点、添加边等键入函数以使该字典保持最新)。
这真是个谜。任何帮助将非常感激!
python - 生成具有一定度数分布的图?
我正在尝试生成一个具有小世界属性的随机图(表现出幂律分布)。我刚开始使用 networkx 包,发现它提供了多种随机图生成。有人可以告诉我是否可以生成一个图,其中给定节点的度数遵循伽马分布(在 R 中或使用 python 的 networkx 包)?
python - 如何从networkx获得边缘以不同的颜色
我已经建立了一个树图像,请参阅问题。
现在我有一些主要的群体。
一组具有绿色和棕色的节点,并具有“B”和“A”。第二组只有粉色节点和“T”,最后一组有黄色、橙色和蓝色,以及字母“L”、“X”和“H”。颜色是指节点的颜色,字母属于名称。所以我想为不同组的边缘着色。
所以我做了与上面类似的功能,而不是node,我改为get_edge。试试这个:
其中边缘是:
也许有一种方法可以说明 T 是否名副其实,然后给边缘上色。你怎么看?
有人知道该怎么做吗?
谢谢
python - Python NetworkX 增加圆形图的大小
是否可以增加使用 networkx 生成的图的大小?目前,它始终输出 800x600。
如何输出具有更大半径的图形。这取决于我的显示器尺寸吗?
python - 在有向图 networkx 的大型网络实例上最快的迭代是多少?
我正在编写一个从 Python 中的开源 networkx 包继承自 DiGraph.py 的类。
在我课堂上的某些方法中,我需要搜索具有一定度数的节点(有向图的出度或入度)并返回它们。
此类将与数据挖掘项目\自然语言处理一起使用,它将用于超大型网络。我需要的是快速实现所描述的方法(返回具有一定出度或一定度数的节点列表)。
超类中已经定义了一些东西: 1. 方法network.outdegree()
:返回一个带有节点键和出度值的字典。
- 一种方法是
network.out_degree_iter()
我不知道如何使用这种方法,如果有人可以解释如何使用,我将不胜感激。
3.我有一个属性network.nodes,它是我网络中所有节点的列表。
问题:我可以遍历所有节点并返回出度为 2 的节点,例如,通过对 network.nodes 进行列表推导,或者我可以遍历我的字典并返回值为 2 的节点列表,或者使用out_degree_iter()
我不知道它是如何使用的,或者它与在 for 循环中迭代字典项目有什么不同(for k,v in dict.iteritems())?对于非常大的节点和边缘网络,其中哪一个会更快,为什么?
谢谢
python - 我应该如何创建我的对象,以便它可以很好地与 networkx 一起使用?
我正在尝试设计一个获取全球定位数据的项目,例如城市和州名以及纬度和位置。我还将了解每对城市之间的距离。我想用所有这些信息制作一个图形,并操纵它来执行一些图形算法。我决定让城市对象包含每个位置的数据。现在我应该有一个散列函数来区分对象吗?我应该如何处理组合节点和删除边的图形算法?
它的状态真的很糟糕。我正在重写我的原始程序,但这是我从以前的版本中采用的方法。
algorithm - 最小化图中的交叉边
我正在为我的一个项目使用networkx(一个python图形绘图包)http://networkx.lanl.gov/index.html。虽然 networkx 很酷,但由于交叉边缘的数量,显示功能有点糟糕。有没有办法最小化图中的交叉边?我的意思是一种算法,它可以以最小化交叉边缘的方式对节点进行排序?
python - 是否可以在 networkx 图上显示工具提示?
我有一个包含很多点的简单图表,所以我不想为所有点显示标签。但我确实希望能够通过工具提示来分辨哪个是哪个。
是否可以使用 networkx 添加/显示工具提示?
这是我的代码:
我希望“描述性标签”显示为工具提示。有任何想法吗?
python - 将图中的所有节点重命名为数字序列
我正在为 Python 使用 NetworkX 图形库。在我的程序中的某个时刻,我想将我的 nodeID“合并”成一个数字序列。这是我天真的方法:
有没有比所有邻居的详尽副本更快的方法?例如,我试过g[i+start] = g[n]
了,但这是被禁止的。
谢谢!