Python networkx图:不要将旧图与新图一起绘制

时间:2012-03-21 21:16:16

标签: networkx

以下是我的代码:

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()”。

有人知道如何解决它吗?

1 个答案:

答案 0 :(得分:16)

我有解决方案。

plt.clf()之后添加plt.savefig(str(i) + ".png")。它可以清理pyplot中的旧图。我希望它可以帮助别人。