我是一个matplotlib新手,所以也许我正在做一些愚蠢的错误......
我正在创建一个pyplot图(图表,由networkx http://networkx.lanl.gov/)。 根据用户输入我想更新它,所以我检查模式变量:如果它是我第一次调用过程(模式 == 0),我设置了所有内容,标题注释和所有,将图形存储在全局变量ax中。如果模式!= 0,我跳过这部分:
def showConn(event, mode):
global fig,ax,zl,lay,sc
def keyswindow(event): # callback for matplotlib called on key presses
global zl,lay,sc
plt.clf() # clear figure but keep it open
if event.key=='u':
plt.clf() # clear figure but keep it open
showConn(None,1)
elif event.key=='escape':
plt.close()
if mode==0: # dont do it if you are updating, fig is already globally defined
fig = plt.figure()
ax = fig.add_subplot(111)
ax.set_title('select a node, to navigate there')
ax.annotate('press \'u\' to update it\n<esc> to close',
xy=(0.01,0.1),textcoords='figure fraction')
G=nx.MultiDiGraph() # directed graph
G.add_node('1',c='yellow')
G.add_node("spam")
G.add_edge(1,2)
nx.draw(G)
plt.show()
(我放弃了一些不相关的代码,因为事件绑定到 fig )
我的问题:使用模式调用!= 0工作,但标题和注释不再显示。更令人惊讶的是,即使将set_title和annotate调用一直执行也没有效果。
我错过了什么?