【发布时间】:2012-06-04 21:25:23
【问题描述】:
以下是我的代码:
import networkx as nx
for i in range(2):
G = nx.DiGraph()
if i==0:
G.add_edge("A", "B")
elif i==1:
G.add_edge("A", "C")
import matplotlib.pyplot as plt
nx.draw(G)
plt.savefig(str(i)+".png")
G.clear()
它应该在文件 0.png 中画线 AB,在文件 1.png 中画线 AC。但是,在我运行它之后。在 0.png 中,有一条 AB 线,但在 1.png 中,有两条线:AB 和 AC。虽然我有“G.clear()”,但似乎没有清理 0.png 的内存。
有人知道怎么解决吗?
【问题讨论】:
-
我已经找到了解决方案。在“plt.savefig(str(i)+".png")”之后添加“plt.clf()”。它可以清理 pyplot 中的旧图。我希望它可以帮助任何人。
-
您能否将其发布为答案,以便清楚地作为答案并将其标记为将来可以接受的答案,干杯。
标签: networkx