问题标签 [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.

0 投票
1 回答
3389 浏览

python - 使用 NetworkX 绘制加权复杂网络

包 NetworkX 是否可以用于绘制具有分布给出的权重的复杂网络,例如幂律?那么我可以写一个代码来绘制权重分布或强度分布,甚至进一步绘制一个节点的加权平均最近邻度吗?然后为每类相似程度或相似强度等着色。

我有一个由大约 300 个节点组成的复杂网络的大量数据,以及有关各个 egdes 权重的数据。绘制这样一个网络的最佳方法是什么?

0 投票
1 回答
1015 浏览

amazon-s3 - 将使用 networkx/matplotlib 绘制的图像保存到 amazon s3?

我有一个问题:是否可以将使用 networkx 和 matplotlib 绘制的图像保存到 Amazon s3 中?

这是一个例子:

import networkx as nx import matplotlib.pyplot as plt

那么如何将图像'retweet.png'保存到亚马逊s3?

我不打算启动大型 EC2 实例并将文件保存在其中。

相反,我打算在 PiCloud 上运行此代码,而不是将文件保存到 amazon s3。

我该怎么做 ?

此致。

0 投票
2 回答
5538 浏览

algorithm - 如何使用networkx删除有向图中的所有相关节点?

我不确定我的问题的正确术语是什么,所以我将解释我想要做什么。我有一个有向图,在我删除一个节点后,我希望所有独立相关的节点也被删除。

这是一个例子:

在此处输入图像描述

说,我删除节点 '11',我希望节点 '2' 也被删除(在我自己的示例中,它们将是 2 以下的节点,现在也必须删除),因为它没有连接到主图了。请注意,不应删除节点“9”或“10”,因为节点“8”和“3”仍然连接到它们。

我正在使用python库networkx。我搜索了文档,但我不确定术语,所以我不确定这叫什么。如果可能的话,我想使用库提供的函数,而不是通过图形创建自己的递归(因为我的图形很大)。

关于如何做到这一点的任何帮助或建议都会很棒。

谢谢!

0 投票
3 回答
8728 浏览

python - 如何在 Python 中用括号拆分元组?

我有内置的元组,看起来像(u,v). 它们由 Networkx 生成,并在图表中显示链接。我从被调用的link_list.

我必须拆分元组,结果是:u , v

我试过divmod了,但它没有给出正确的答案。

0 投票
1 回答
1451 浏览

javascript - 如何将networkx图导出到javascript?

我有一个 networkx 图,其中包含节点,其在图中的位置是我想与谷歌地图一起使用的真实世界纬度和经度。

如何使用 python 导出此图,例如以 JSON 格式?

0 投票
3 回答
431 浏览

python - 区分同名节点的正确图形数据结构是什么?

我正在学习图表(它们看起来非常有用)并且想知道是否可以就构建图表的可能方式获得一些建议。

简而言之,假设我每天都获得采购订单数据,有些日子与前一天相同,而在其他日子则不同。例如,昨天我订购了铅笔和橡皮擦,我创建了两个节点来表示它们,然后今天我收到了橡皮擦和马克笔的订单,依此类推。每天之后,我的程序还会查看谁订购了什么,如果 Bob 昨天订购了铅笔,然后今天订购了橡皮擦,它会创建一个有向边。我的逻辑是我可以看到谁每天买了什么,我可以跟踪 Bob 的购买行为(也许用它来推断他自己或其他用户的模式)。

我的问题是,我正在使用 networkx(python) 并为昨天创建一个节点“铅笔”,然后为第 2 天创建另一个节点“铅笔”,我无法区分它们。

我认为(并且一直)将其命名为 day2-pencil,然后扫描整个图表并删除“day2-”以跟踪铅笔订单。这对我来说似乎是错误的(更不用说处理器上的昂贵了)。我认为关键是如果我能以某种方式将每一天标记为自己的子图,那么当我想研究特定的一天或几天时,我不必扫描整个图表。

随着我的测试数据变大,它变得越来越混乱,所以我想知道最佳实践是什么?任何生成建议都会很棒(因为 networkx 似乎功能齐全,所以他们可能有办法做到这一点)。

提前致谢!

更新:仍然没有运气,但这可能会有所帮助:

我输入以下命令的结果G.node是:

它显然用 1/2/12 覆盖了 1/1/12 的铅笔,不确定我是否可以制作一个不同的铅笔。

0 投票
2 回答
957 浏览

python - 具有随机幂律分布权重的网络

如何将权重从幂律分布随机分配给具有大量节点的网络。

我写

我知道我通过元组字典(node1,node2,weight)使用以下方法为边分配权重:

但是,当我只是对权重按幂律分布的加权网络感兴趣时,还有另一种更短的方法吗?

0 投票
1 回答
606 浏览

algorithm - 如何在 networkx 的 pagerank 算法中考虑权重?

我认为我现在这样做效率低下,并且想要一个关于如何更好地做到这一点的建议。目前我有一个有向图并且正在使用节点特定因素(即分析节点,然后将分数分配给两者之间的边)。我有很多因素并不断改变边缘的权重(在我的情况下,权重越高越好)。

但这些都是特定于节点的,我还想利用图的结构来进行推断(更多的边应该给节点一个更好的排名,等等)。

我的问题是这是两个正在发生的不同过程,我想看看我是否可以以某种方式将两者结合在一起进行推断。现在,我在我的节点上运行 pagerank(每组节点都是我的日子,所以我在整个数据集上运行 pagerank 然后只捕获当天的结果),然后获取当天的 pagerank 分数并将它们添加到从各个边到节点的所有权重的总和。它有点令人困惑,我想知道是否有另一种方法,或者我是否可以让 pagerank 考虑边缘权重(或其他东西......我可以轻松修改程序)?

我对当前方法的恐惧是,当我为每个节点添加更多因素来研究时,分数会增加(每个节点添加一个介于 0-1 之间的值)但 pagerank 分数保持很小,所以如果 aa 节点的分数为 25 和pagerank 为 0.034,那么相对而言,pagerank 分数在图上的推理中不会起到很大的作用。

任何帮助或建议都会很棒。我已经阅读了一些图表,但我仍然是一个 n00b,所以请纠正我所做的任何不正确的假设。另外,如果有帮助,我正在为我的图表使用 python 和 networkx 库。

0 投票
2 回答
4297 浏览

python - 如何从列表中排除一些数字

如果我希望这个序列的数字是除零以外的任何数字怎么办?或特定范围内的任何数字?使最小值为 1,例如。甚至在从序列中选择随机数时分配此条件。

powerlaw_sequence(100,exponent=2.0,range(1,20)) 和 powerlaw_sequence(100,exponent=2.0,xmin=1) 都不起作用。谢谢

0 投票
1 回答
16470 浏览

python - 加权边缘如何影响networkx中的PageRank?

我正在玩networkx(python中的图形库),我发现文档说PageRank算法在评分时会考虑边缘权重,但我想知道更大的边缘权重更好还是更低的权重更好?