图不断增长,即使在清除它之后

Graph Keeps Growing, Even After Clearing It

我正在尝试使用此 Python 程序绘制两个不同的图形:

K_5=nx.complete_graph(10)
print(K_5.number_of_nodes(), K_5.number_of_edges())
nx.draw(K_5)
plt.savefig('test1.png')
K_5.clear()
G = nx.Graph()
G.add_node(8)
nx.draw(G)
plt.savefig('test2.png')
print(G.number_of_nodes(), G.number_of_edges())

结果如下图:

[ [

我已经通过 Whosebug 和 matplotlib 文档进行了大量挖掘,但一直无法找到任何有用的东西。任何帮助将不胜感激!

使用 Graph.clear() 后,所有节点和边都已从图中删除。您可以在调用 Graph.clear() 后通过打印 K_5.number_of_nodes() 来检查它。但是,绘制第一个图形后,您没有清除它,因此,它绘制在第一个图形之上。

所以你需要清除matplotlib的当前图形。您可以使用 plt.clf().

import networkx as nx
import matplotlib.pyplot as plt

K_5=nx.complete_graph(10)
print(K_5.number_of_nodes(), K_5.number_of_edges())
nx.draw(K_5)
plt.savefig('test1.png')
K_5.clear()

plt.clf() # new line, to clear the old drawings

G = nx.Graph()
G.add_node(8)
nx.draw(G)
plt.savefig('test2.png')
print(G.number_of_nodes(), G.number_of_edges())

test1.png:

test2.png: