- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个多图,其中的边没有权重。我想增加一些权重
G=MultiDiGraph():
……
for u, v, data in G.edges_iter(data=True):
G.edge[u][v]['weight'] = None
我得到以下边缘:
('08B', '09B', {}),
('08B', '09B', {}),
('08B', '09B', {}),
('08B', '09B', 1),
('03P', '05T', {}),
('03P', '05T', 1)]
也就是说,它只在一个实例中增加权重。如何为所有边增加权重?
最佳答案
您遇到的问题是您在多图中使用附加字典访问边的属性。特别是,每条边都有一个副本的字典,因此您可以按如下方式访问给定边的属性:
G.edge[u][v][replicate][attr] = val
因此,如果您想更新一对 (u, v)
节点之间的 all 属性,您可以定义如下函数:
def set_multi_edge_attr(u, v, attr, val):
for repl in G.edge[u][v].keys():
G.edge[u][v][repl][attr] = val
其中 repl
表示单个边的副本。这是一个简单的例子:
>>> import networkx as nx
>>> G = nx.MultiDiGraph()
>>> G.add_edges_from([(0, 1), (0, 1), (0, 1)])
>>> G.edges(data=True)
[(0, 1, {}), (0, 1, {}), (0, 1, {})]
>>> set_multi_edge_attr(0, 1, 'weight', 1)
>>> G.edges(data=True)
[(0, 1, {'weight': 1}), (0, 1, {'weight': 1}), (0, 1, {'weight': 1})]
关于python - 向 MultiDiGraph 边添加权重,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24809887/
对于 networkx 中的 multiDiGraph,其边由列表边中的元组表示,请问我如何访问或打印出属性字典中的属性元素,例如我怎样才能打印出 multiDiGraph 的长度或类型或 chann
我有一个来自 networkx 包的 MultiDiGraph 类型的有向图 G。 下面两次通话的号码不同。它们不应该是一样的吗? G.number_of_edges() networkx.conve
如果我有一个非常简单的有向多重图 G = nx.MultiDiGraph() G.add_edge('A', 'B', key=1) G.add_edge('B', 'C', key=2) G.add
我有一个多图,其中的边没有权重。我想增加一些权重 G=MultiDiGraph(): …… for u, v, data in G.edges_iter(data=True): G.ed
我有一个包含自环的 NetworkX MultiDiGraph。根据documentation ,这是 MultiDiGraph 的有效属性。 A MultiDiGraph holds directe
我在 networkx MultiDigraph 中有多个等长且彼此平行的线图,我如何遍历这些图并将边添加到具有边的相对节点(注意,节点在嵌套列表中)即连接 2 & 2a、3 和 3a 等 nodes
我对NetworkX的阅读documentation建议这应该有效,但似乎不起作用? 考虑: import networkx as nx g = nx.MultiDiGraph() g.add_nod
MyNetwork 是 networkx.MultiDiGraph 的实例。我想知道是否保证多次运行以下代码会产生完全相同的列表,其中包含 MyNetwork 中的所有边(以及边属性): AllEdg
有没有一种快速方法可以将networkx MultiDiGraph对象转换为DiGraph?我正在创建一个 scale_free_graph使用此代码: import networkx as nx G
我刚刚开始学习 NetworkX 并尝试学习如何将它与 Shapefile 一起使用。 现在我有一个带有道路网络的 .shp 文件,我想用 NetworkX 在图表中表示它,这样我就可以找到 2 个
我正在使用 OSMnx 返回路线图,这些路线图在 networkx 中表示为 MultiDiGraph。 import osmnx as ox %matplotlib inline sg = ox.g
我正在使用 Python 的流行网络库 networkx。从以下代码中,我希望打印的语句是等效的。 import networkx as nx graph = nx.Graph() mgraph =
是否可以使用 connectionstyle 在具有不同曲率的相同节点处以某种方式绘制不同的边? ? 我写了下面的代码,但我得到了所有三个边重叠: import networkx as nx impo
如何在循环中遍历 G(networkx multidigraph)以导出为 OSM 或导出到某个数据库中?或者是否有任何内置函数可以将其导出为 json ? 最佳答案 您可以使用 OSMnx 的 sa
在我的多向图中,我想找到 2 个节点之间所有可能的(简单)路径。我设法获得了所有路径,但无法区分源节点到达目标节点所采用的边(假定它是多有向图)。 例如,我有 A->B->C,其中 (A,B) 和 (
我正在编写一个 QGIS 插件,它将使用 NetworkX 库来操作和分析流网络。我的数据来自代表流网络的形状文件。 (箭头代表水流方向) 在此流网络内有 braids这是我需要保留的重要特征。我将编
我是一名优秀的程序员,十分优秀!