相关疑难解决方法(0)

如何使用matplotlib在while循环中实时绘图?

我试图使用OpenCV实时绘制来自摄像机的一些数据.但是,实时绘图(使用matplotlib)似乎不起作用.

我把这个问题分成了这个简单的例子:

fig = plt.figure()
plt.axis([0, 1000, 0, 1])

i = 0
x = list()
y = list()

while i < 1000:
    temp_y = np.random.random()
    x.append(i)
    y.append(temp_y)
    plt.scatter(i, temp_y)
    i += 1
    plt.show()
Run Code Online (Sandbox Code Playgroud)

我希望这个例子可以单独绘制1000个点.实际发生的是窗口弹出第一个点显示(确定),然后在填充图表的其余部分之前等待循环完成.

有什么想法,为什么我没有看到一次填充一个点?

python real-time matplotlib while-loop

211
推荐指数
11
解决办法
44万
查看次数

让PySide与matplotlib一起使用

我试过在SciPy网站上运行示例代码,但是我收到此错误:

Traceback (most recent call last):
  File ".\matplotlibPySide.py", line 24, in <module>
    win.setCentralWidget(canvas)
TypeError: 'PySide.QtGui.QMainWindow.setCentralWidget' called with wrong argument types:
  PySide.QtGui.QMainWindow.setCentralWidget(FigureCanvasQTAgg)
Supported signatures:
  PySide.QtGui.QMainWindow.setCentralWidget(PySide.QtGui.QWidget)
Run Code Online (Sandbox Code Playgroud)

我正在构建一个简单的科学数据记录器,最终将用于商业应用程序,所以我真的需要PySide的LGPL和绘图功能.有没有人有如何使这个工作或替代绘图包或想法的经验?

提前致谢.

python matplotlib pyside

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

如何使用 PySide2 在 matplotlib 中显示图形?

我正在尝试学习 matplotlib 并尝试测试以下代码。

import matplotlib
from matplotlib.figure import Figure  
import matplotlib
from matplotlib.figure import Figure
from matplotlib.backends.backend_qt4agg import FigureCanvasQTAgg as     FigureCanvas
import sys
from PySide2 import QtGui   

if __name__ == "__main__":

    app = QtGui.QApplication(sys.argv)
    wid = QtGui.QWidget()
    wid.resize(250, 150)
    grid = QtGui.QGridLayout()
    wid.setLayout(grid)
    fig = Figure(figsize=(7,5), dpi=65, facecolor=(1,1,1), edgecolor=(0,0,0))
    canvas = FigureCanvas(fig)
    grid.addWidget(canvas)
    wid.show()
Run Code Online (Sandbox Code Playgroud)

然而它似乎无法识别图的签名。

TypeError:使用错误的参数类型调用“PySide2.QtGui.QGridLayout.addWidget”:
PySide2.QtGui.QGridLayout.addWidget(FigureCanvasQTAgg) 支持的签名:
PySide2.QtGui.QGridLayout.addWidget(PySide2.QtGui.QWidget, int, int, PySide2. QtCore.Qt.Alignment = 0)
PySide2.QtGui.QGridLayout.addWidget(PySide2.QtGui.QWidget, int, int, int, int, PySide2.QtCore.Qt.Alignment = 0)

python matplotlib pyside2

3
推荐指数
1
解决办法
2523
查看次数

标签 统计

matplotlib ×3

python ×3

pyside ×1

pyside2 ×1

real-time ×1

while-loop ×1