小编San*_*ngi的帖子

matplotlib show()不能工作两次

我有一个奇怪的问题,matplotlib.如果我运行这个程序,我可以打开和关闭几个相同的数字.

import numpy
from pylab import figure, show


X = numpy.random.rand(100, 1000)
xs = numpy.mean(X, axis=1)
ys = numpy.std(X, axis=1)

fig = figure()
ax = fig.add_subplot(111)
ax.set_title('click on point to plot time series')
line, = ax.plot(xs, ys, 'o', picker=5)  # 5 points tolerance


def onpick(event):

    figi = figure()
    ax = figi.add_subplot(111)
    ax.plot([1,2,3,4])        
    figi.show()

fig.canvas.mpl_connect('pick_event', onpick)

show()
Run Code Online (Sandbox Code Playgroud)

相反,如果我在我的自定义小部件中使用相同的onpick函数代码,它只会在第一次打开图形,进入其他事件时会进入函数但不显示图形:

from PyQt4 import QtGui, QtCore
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as FigureCanvas
from matplotlib.figure import Figure
import numpy as np
import matplotlib.pyplot as plt …
Run Code Online (Sandbox Code Playgroud)

python numpy pyqt matplotlib

17
推荐指数
3
解决办法
2万
查看次数

标签 统计

matplotlib ×1

numpy ×1

pyqt ×1

python ×1