我的代码如下:
import ConfigParser
import sys
import time
import matplotlib.pyplot as plt
import networkx as nx
import json
from networkx.algorithms import bipartite
def create_graph(senators):
G= nx.Graph()
G.add_nodes_from(senators)
return G
senators=["ab","cd","ef"]
graph = create_graph(senators)
nx.draw(graph,with_labels=True)
plt.savefig("p1.png")
graph.clear()
graph = nx.DiGraph()
print graph.nodes()
nx.draw(graph,with_labels=True)
plt.savefig("p2.png")
在我的代码中,我尝试绘制两张图片:p1.png和p2.png。画完p1.png之后,我清楚了。但是,p2.png与p1.png具有相同的节点。
我不知道我的代码有什么问题。因为我有清晰的图表,所以p2.png
中应该没有任何内容有什么问题?
答案 0 :(得分:0)
“清算”有两个独立的概念。一个是从图中删除节点和边(graph.clear),另一个是删除图(plt.clf())。您正在删除节点和边但不清除图轴。所以你在p2.png中保存的只是原始的p1.png数字。尝试在第二个nx.draw()之前添加plt.clf()。