我正在上离散数学课。学生应该使用NetworkX
库来可视化图形。教练和助教正在使用Spyder和Anaconda。我也没有使用它们的计划。
我无法查看NetworkX库创建的图形。代码的其余部分工作得很好。
以下是一个示例:
import networkx as nx
G = nx.Graph()
for i in range(1, 6):
G.add_node(i)
G.add_edge(1, 2)
G.add_edge(2, 3)
G.add_edge(3, 4)
G.add_edge(4, 5)
G.add_edge(1, 6)
print(G.nodes())
print(G.edges())
nx.draw(G)
以下是输出:
[1, 2, 3, 4, 5, 6]
[(1, 2), (1, 6), (2, 3), (3, 4), (4, 5)]
------------------
(program exited with code: 0)
Press return to continue
所以最后一行不是打印。将其更改为print(nx.draw(G))
只会在输出的末尾添加一个None
。
我尝试过使用Geany、VS代码和终端(Bash),但看不到图形。我该怎么办
如果不使用Anaconda/Spyder,我如何查看图形
这可以通过将图形视为外部图像来解决。生成图形时,可以在其他窗口中将其视为图像,也可以将其保存到当前目录
需要从包
matplotlib
中导入名为pyplot
的子模块来执行此操作假设使用
nx.draw(graph-name)
绘制图形。在Spyder中,它将自动输出图形。但这种情况在航站楼是不会发生的我们可以使用命令
plt.show()
查看生成的图形。我们将matplotlib.pyplot
导入为plt
plt.show()
将在其他窗口中显示图形,但不会保存图形的副本如果要在当前目录中保存图形的副本,请使用
plt.savefig('file-with-extension')
。它将保存图形的副本下面是一个例子:
翻译会给你这个-
可以使用matplotlib,只需将nx.draw上的参数设置为matplotlib图形的轴,例如:
networkx文档建议使用更具体的专用工具进行图形可视化,但这适用于基础。见: https://networkx.github.io/documentation/stable/reference/drawing.html
相关问题 更多 >
编程相关推荐