首页 文章

Matplotlib没有交互式改变 - Canopy Ipython

提问于
浏览
0

我正在尝试使用matplotlib的冠层中的ipython来准备图形(后端设置为qt) . 我在终端上逐行写了下面的代码

import matplotlib.pyplot as plt
fig = plt.figure()
s = fig.add_subplot(1,1,1)

在第二行之后,我可以看到正在制作的数字 . 然而,在第三行之后,我没有看到正在创建子图 . 但是,如果我打印图形,则可以在内联和图形窗口中创建子图 . 如果我尝试缩放,这个子图也会神奇地出现 . 每次我在图上画一些东西时都会发生类似的事情 . 显示旧版本,直到我打印图形或者我尝试使用GUI工具修改视图 . 这真的很烦人 . 如果有人能告诉我问题出在哪里,那就太棒了 .

编辑:尝试使用fig.show()不起作用 . 当我直接使用plt.plot()时,似乎没有问题 . 只有当我使用无花果或其任何子图时才会出现问题

2 回答

  • 0

    键入: fig.show() 需要更新时 .

  • 0

    在交互式图中,你应该尝试使用 fig.canvas.draw() 而不是使用 fig.show() .

    import matplotlib.pyplot as plt
    fig = plt.figure()
    fig.show()
    ## should show an empty figure ##
    s = fig.add_subplot(1,1,1)
    fig.show()
    ## things stay unchanged ##
    fig.canvas.draw()
    ## things should be OK now ##
    

相关问题