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

矩阵对象没有属性节点networkX python

葛高澹
2023-03-14

我试图将一些数字表示为具有连通分支的图的边。为此,我一直在使用python的networkX模块。
我的图是G,节点和边初始化如下:

    G = nx.Graph()
    for (x,y) in my_set:
       G.add_edge(x,y)

    print G.nodes() #This prints all the nodes
    print G.edges() #Prints all the edges as tuples
    adj_matrix = nx.to_numpy_matrix(G)

一旦我添加以下行,

    pos = nx.spring_layout(adj_matrix)

我得到了上面提到的错误。如果可能有用的话,所有节点都以9-15位数字进行编号。共有412个节点和422条边。

详细错误:

      File "pyjson.py", line 89, in <module>
      mainevent()        
      File "pyjson.py", line 60, in mainevent
      pos = nx.spring_layout(adj_matrix)
      File "/usr/local/lib/python2.7/dist-packages/networkx/drawing/layout.py", line 244, in fruchterman_reingold_layout
      A=nx.to_numpy_matrix(G,weight=weight)
      File "/usr/local/lib/python2.7/dist-packages/networkx/convert_matrix.py", line 128, in to_numpy_matrix
      nodelist = G.nodes()
      AttributeError: 'matrix' object has no attribute 'nodes'

编辑:解决如下问题。有用信息:pos创建一个dict,其中包含每个节点的坐标。正在执行nx。draw(G,pos)创建pylab图形。但它不会显示它,因为pylab不会自动显示。

共有2个答案

水瀚漠
2023-03-14

spring_layout将网络图作为第一个参数,而不是numpy数组。它返回的是根据Fruchterman-Reingold力导向算法的节点位置。

因此,您需要将其传递给绘图示例:

import networkx as nx
%matplotlib inline
G=nx.lollipop_graph(14, 3)
nx.draw(G,nx.spring_layout(G))

产量:

杜凯
2023-03-14

(此答案中的一些内容涉及到您评论中的一些内容。您能否将这些内容添加到您的问题中,以便以后的用户获得更多的上下文)

pos创建一个dict,其中包含每个节点的坐标。正在执行nx。绘制(G,pos)创建pylab图形。但它不会显示它,因为pylab不会自动显示。

import networkx as nx
import pylab as py

G = nx.Graph()
for (x,y) in my_set:
   G.add_edge(x,y)

print G.nodes() #This prints all the nodes
print G.edges() #Prints all the edges as tuples
pos = nx.spring_layout(G)
nx.draw(G,pos)
py.show() # or py.savefig('graph.pdf') if you want to create a pdf, 
          # similarly for png or other file types

最后的py.show()将显示它。py.savefig('filename.extension')将根据您用于扩展的文件类型保存为任意文件类型。

 类似资料:
  • 我试图建立一个用户登录系统,我已经成功地建立了用户注册页面,但是当我试图登录时,我得到了下面的错误。我使用烧瓶,python3.6和pymongo。这是一个错误:请帮助。 Traceback(最近一次调用最后一次):文件"C:\用户\elvis\AppData\本地\程序\Python\Python36\lib\site-包\flask\app.py",第2309行,在调用返回self.wsgi_

  • 这是我的密码: 这条线给了我错误 "属性错误:'浮点'对象没有属性'exp'"。X,t是Numpy ndarray。

  • 问题内容: 我正在开发Django应用程序,并且出现以下错误 我的模型是这样构造的 我应该做什么? 问题答案: 首先,您必须非常小心地重写以具有非可选参数。记住,每次从一个查询集中获取一个对象时,它将被调用! 这是您想要的正确代码: 如果您只使用该对象的子类,我强烈建议在Animal上设置abstract选项。这样可以确保不为动物创建表,而仅为绵羊(等)创建表。如果未设置abstract,则将创建

  • 我创建了这个简单的GUI: 我让用户界面启动并运行。当我点击按钮时,我在控制台上得到以下错误: 为什么设置为?

  • 问题内容: 我将Selenium webdriver(chrome)与Python结合使用,试图从网页上的所有链接中获取 href 。当我尝试以下操作时: 它设法获取所有链接,但是在get_attribute上出现错误: “ WebElement”对象没有属性“ Get_Attribute” 尽管到处都看起来很正常。 问题答案: “ Get_Attribute”属性不存在,但是“ get_attr

  • 问题内容: 我创建了这个简单的GUI: 我启动并运行了UI。当我单击Grab按钮时,在控制台上出现以下错误: 为什么entryBox设置为None? 问题答案: 并且place在功能Entry对象和所有其他部件的回报None。在python中,执行此操作时.,表达式的结果为返回的值,因此。 你应该将其分成两行,如下所示: 这样,你就可以将参考存储在其中,并且可以按照你的期望进行布局。如果你以块的形