以下是我的代码:
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。似乎没有清理0.png的内存,虽然我有“G.clear()”。
有人知道如何解决它吗?
答案 0 :(得分:16)
我有解决方案。
在plt.clf()
之后添加plt.savefig(str(i) + ".png")
。它可以清理pyplot中的旧图。我希望它可以帮助别人。