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

Mun*_*ong 3 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()
Run Code Online (Sandbox Code Playgroud)

它应该在文件0.png中绘制线AB并在文件1.png中绘制线AC.但是,在我运行之后.在0.png中,有一条线AB,但在1.png中,有两条线:AB和AC.似乎没有清理0.png的内存,虽然我有"G.clear()".

有人知道怎么解决吗?

Mun*_*ong 17

我有解决方案.

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