如何使用Networks(python)绘制方法?

时间:2014-09-06 01:14:24

标签: python draw

我的代码如下:

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

中应该没有任何内容

有什么问题?

1 个答案:

答案 0 :(得分:0)

“清算”有两个独立的概念。一个是从图中删除节点和边(graph.clear),另一个是删除图(plt.clf())。您正在删除节点和边但不清除图轴。所以你在p2.png中保存的只是原始的p1.png数字。尝试在第二个nx.draw()之前添加plt.clf()。