当前位置: 首页 > 知识库问答 >
问题:

networkx:显示边缘标签时出错

晏富
2023-03-14

H=nx。来自\u pandas\u edgelist(链接,source='source',target='target',edge\u attr='value')

这给了我边和边的列表

edge_labels=nx.get_edge_attributes(Q,'value')nx.draw_networkx_edge_labels(Q,pos=nx.draw(Q),标签=edge_labels,font_size=8)这给出了一个错误

    TypeError                                 Traceback (most recent call last) <ipython-input-99-1783423b22ae> in <module>
----> 1 nx.draw_networkx_edge_labels(Q, pos=nx.draw(Q),labels=edge_labels ,font_size=8)

~\Anaconda3\lib\site-packages\networkx\drawing\nx_pylab.py in draw_networkx_edge_labels(G, pos, edge_labels, label_pos, font_size, font_color, font_family, font_weight, alpha, bbox, ax, rotate, **kwds)
    939     text_items = {}
    940     for (n1, n2), label in labels.items():
--> 941         (x1, y1) = pos[n1]
    942         (x2, y2) = pos[n2]
    943         (x, y) = (x1 * label_pos + x2 * (1.0 - label_pos),

TypeError: 'NoneType' object is not subscriptable

我不明白为什么会发生这种情况,但是这确实返回了一个没有节点名称的图。我想要的输出图是具有名称和相应节点颜色的节点,并且在边缘显示“值”。到目前为止,除了边缘标签部分,我已经成功了

共有1个答案

马航
2023-03-14

这是我标记Networkx图的标准模式-示例是熊猫中的数据库模式中的FK引用列表-输出是一个列表,因此您不需要使用熊猫:

weightedGraphPairedLabelList = columnFKDataFrame[["TABLE_NAME", "REFERENCED_TABLE_NAME"]].values.tolist()
thisGraph = nx.DiGraph()
thisGraph.add_edges_from(weightedGraphPairedLabelList)
print(random.choice(weightedGraphPairedLabelList))

Out: ['CreatingEntityAliases', 'CheckTableCEAliasTypes']


fig = plt.figure(figsize=(20,20))
thisAx = plt.subplot(111)
pos = nx.shell_layout(thisGraph)     #this line is what is placing the nodes - in this case, using spring_layout
nx.draw(thisGraph, pos, node_size=50, edge_color='b', alpha=0.2, with_labels=True)
plt.title("Table Relationships")
plt.show()
 类似资料:
  • 问题内容: 我有一个表示网络拓扑结构的networkx弹簧布局。关键节点的颜色为红色,另一个为蓝色。到关键节点边缘的路线用短划线表示。如何在指定的时间间隔内为networkx边缘绘制动画? 问题答案: 尝试该模块。另请参阅这个很棒的教程,

  • 问题内容: 将matplotlib更新到当前版本后,在networkX中遇到节点标签问题:如果使用该命令,将得到一个图形,但未显示任何标签。但是,让我们用示例进行说明: 这将返回有效图,但没有节点标签。即使我像这样直接传递标签 仍然没有标签。我很确定它(尤其是上层)在更新之前已在昨天运行。那么matplotlib 1.3.x是否有变化(不记得我之前运行的确切版本)?当前版本是: 小小额外功能:如果

  • 我试图弄清楚如何动态设置数据点的edgecolor。可以使用c=[array of numeric labels]设置facecolor,但对于EdgeColor则不是这样。 我试图实现的是一个图,其中facecolor等于实例算法的预测标签,edgecolor等于该实例的真实标签。这样,我可以直观地比较结果(对于进一步的工作很重要)。 有什么建议吗?这是我目前的代码: 这给了我以下的情节 我感谢

  • 我试图使用Gremlin从一个起始节点向外遍历到连接X度内的所有连接节点。连接的方向无关紧要,所以我使用了函数。我还希望能够防止遍历与特定标签相交。这是一个示例图。 到目前为止,我进行的遍历如下所示: 然而,这并不是我所寻找的。我想要一些实际上可以防止遍历者在必须跨越指定边缘时触及顶点的东西。我当前的实现过滤具有传入边缘的顶点,但在某些情况下,如果遍历者跨越不同的边缘到达那里,我可能仍然希望该顶点

  • 问题内容: 我在玩networkx(Python中的图形库),发现文档说PageRank算法在评分时考虑了边缘权重,但是我想知道更大的边缘权重是更好还是更低的权重呢? 问题答案: 不久,较大的权重对于传入的节点更好。 PageRank在有向加权图上工作。如果页面A具有到页面B的链接,则页面B的得分会上升,即页面B(节点)输入的次数越多,其得分就越高。 有关更多详细信息,请参见PageRank上的W

  • 我有一个对象列表,它具有以下属性 公共类ViewTestCasesBean { } 现在我的行动代码是... 这里详细说明List是要在显示标签中显示的上述对象的List。 我尝试了以下方法 但是得到了以下错误... 编码有什么问题?