即使在编辑后端并使用pylab.show()

时间:2015-08-22 08:25:56

标签: python matplotlib plot

我有一个简单的脚本来测试matplotlib中的绘图,但没有显示该图的窗口。在阅读有关stackoverflow的其他问题时,我已完成以下操作来解决此问题:

  • 使用these说明安装PySide。
  • 使用以下两行编辑matplotlibrc文件:

     backend      : Qt4Agg
     #backend.qt4 : PySide        # PyQt4 | PySide
    

    以便命令python -c 'import matplotlib; import matplotlib.pyplot; print(matplotlib.backends.backend)'现在产生Qt4Agg,而在它给出agg之前

  • 包含pylab.show()命令。所以我现在在安装Pyside后在python解释器中尝试过的命令集,并编辑matplotlibrc文件如下所示:

      import pylab
      pylab.ion()
      import matplotlib.pyplot as plt
      import numpy as np
      x = np.arange(0,5,0.1)
      y = np.sin(x)
      plt.plot(x,y)
     [<matplotlib.lines.Line2D object at 0x7fcef627cdd0>]
     pylab.show()
    

    然而,该情节仍然没有显示出来。有人可以帮我这个吗?我在VirtualBox中使用Ubuntu 14.04和python2.7。

1 个答案:

答案 0 :(得分:2)

当我使用您的代码时,图表实际上会在屏幕上闪烁,但会立即关闭。在最后放置input()函数可能会帮助您进行调试:

import pylab
import matplotlib.pyplot as plt
import numpy as np


pylab.ion()
x = np.arange(0,5,0.1)
y = np.sin(x)
plt.plot(x,y)
pylab.show()
tin = input("Test Input: ")

删除pylab.ion()实际上会将图表保留在屏幕上。这给了你另一个提示。已经有一些很好的答案为什么会发生这种情况。 E.g: