标签: pyqtgraph

在 Python 中使用 pyqtgraph 进行多次更新图

我必须绘制 3 条从传感器读取的数据更新曲线。当我只使用一条曲线时,更新图非常快,但是当我尝试绘制它们时,它们中的每一个都非常慢。我使用的代码如下:

#!/usr/bin/python


from pyqtgraph.Qt import QtGui, QtCore
import pyqtgraph as pg

import time
import numpy as np


app = QtGui.QApplication([])



win = pg.GraphicsWindow()

p1 = win.addPlot()
p2 = win.addPlot()
p3 = win.addPlot()


curve1 = p1.plot()

curve2 = p2.plot()

curve3 = p3.plot()

readData = [0.0, 0.0, 0.0]
y1=[0.0]
y2=[0.0]
y3=[0.0]

temp = [0.0]

start = time.time()

def update():
    global curve1, curve2, curve3
    t = time.time()-start         # measure of time as x-coordinate
    readData= readfun()        #function that reads data from the …
Run Code Online (Sandbox Code Playgroud)

python plot pyqtgraph

4
推荐指数
1
解决办法
1万
查看次数

PyQtGraph图形布局小部件问题

我正在尝试在 PyQt 应用程序中使用 PyQtGraph 创建绘图布局。

我需要一行有两个图,前两列宽,第二个单列宽。

阅读文档我认为这样的事情会起作用:

# Create the PyQtGraph Plot area
self.view = pg.GraphicsLayoutWidget()
self.w1 = self.view.addPlot(row=1, col=1, colspan=2, title = 'Data1')
self.w2 = self.view.addPlot(row=1, col=3, colspan=1, title = 'Data2')
Run Code Online (Sandbox Code Playgroud)

但在本例中,我得到两个绘图区域,每个区域占窗口宽度的 50%。

我究竟做错了什么?

此致,

python pyqt pyqtgraph

4
推荐指数
1
解决办法
7168
查看次数

是否可以使用 FillBetweenItem 来填充 pyqtgraph 中的两个 PlotCurveItem 之间?

我试图在 pyqtgraph 中使用 PlotCurveItem 创建的两条曲线之间进行填充。

            phigh = self.p2.addItem(pg.PlotCurveItem(x, y, pen = 'k'))           
            plow = self.p2.addItem(pg.PlotCurveItem(x, yy, pen = 'k'))           
            pfill = pg.FillBetweenItem(phigh, plow, brush = br)
            self.p2.addItem(pfill)
Run Code Online (Sandbox Code Playgroud)

曲线项目绘制正确,但没有填充。

python python-2.7 pyqtgraph

4
推荐指数
1
解决办法
2213
查看次数

如何禁用pyqtgraph的默认上下文菜单?

任何人都可以帮助我禁用 pyqtgraph 的上下文菜单或从中删除一些选项吗?

python pyqtgraph

4
推荐指数
2
解决办法
4848
查看次数

将 Pyqtgraph 嵌入到 PySide2

我想将 PyQtGraph PlotWidget 实现到 PySide2 应用程序中。使用 PyQt5 一切正常。使用 PySide2 我得到底部显示的错误。我已经发现,有一些工作正在进行中,但似乎也有一些人设法使这项工作正常进行。但是,我还做不到。我使用的是 Pyqtgraph 0.10 而不是开发者分支。我要不要改变?我需要做什么?

from PySide2.QtWidgets import QApplication, QMainWindow, QGraphicsView, QVBoxLayout, QWidget
import sys
import pyqtgraph as pg


class WdgPlot(QWidget):
    def __init__(self, parent=None):
        super(WdgPlot, self).__init__(parent)
        self.layout = QVBoxLayout(self)

        self.pw = pg.PlotWidget(self)
        self.pw.plot([1,2,3,4])
        self.pw.show()
        self.layout.addWidget(self.pw)
        self.setLayout(self.layout)
if __name__ == '__main__':

    app = QApplication(sys.argv)
    w = WdgPlot()
    w.show()
    sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

错误:

 QtGui.QGraphicsView.__init__(self, parent)
TypeError: arguments did not match any overloaded call:
  QGraphicsView(parent: QWidget = None): argument 1 has unexpected type 'WdgPlot'
  QGraphicsView(QGraphicsScene, parent: QWidget …
Run Code Online (Sandbox Code Playgroud)

python pyqtgraph pyside2

4
推荐指数
1
解决办法
4172
查看次数

使用 ScatterPlotItem 和 PlotCurveItem 时是否有办法隐藏 x 轴和 y 轴

我正在使用 pyqtgraph 绘制二维 numpy 数组。我想绘制没有 x 或 y 轴的数据。目前我的情节是这样的

但我不需要 x 或 y 轴。我一直希望有这样的事情

我绘图的方式是创建一个 PlotWidget 对象并将其添加到我的主窗口中。用户加载该数据后,我创建一个 ScatterPlotItem 和 PlotCurveItem 并将其添加到 PlotWidget 中。

我尝试阅读 PlotWidget、ScatterPlotItem 和 PlotCurveItem 的文档,但我确实无法找到隐藏轴的方法。

我想知道是否有一种方法可以只绘制没有 x,y 轴的点和线?

python pyqtgraph

4
推荐指数
1
解决办法
5035
查看次数

如何格式化pyqtgraph中Y轴显示的数字?

我在 Y 轴上看到这样的数字:

1.935
1.9325
1.93
1.9275
1.925
Run Code Online (Sandbox Code Playgroud)

但我需要看到这个:

1.9350
1.9325
1.9300
1.9275
1.9250
Run Code Online (Sandbox Code Playgroud)

如何设置 AxisItem 以始终显示小数点后固定的位数?

python pyqt pyqtgraph

4
推荐指数
1
解决办法
884
查看次数

如何在PyQt5中设置PlotWidget刻度颜色?

我正在尝试设置 pyqtgraph.PlotWidget 绘图区域的轴样式。我在用着:

font = QFont()
font.setPointSize(14)
font.setBold(True)
font.setWeight(75)

myPlotWidget.getAxis('left').setPen('b')
myPlotWidget.getAxis('left').setFont(font)
Run Code Online (Sandbox Code Playgroud)

我不明白为什么刻度标签颜色不是蓝色,而轴、网格和轴标签是蓝色。

在此输入图像描述

python pyqtgraph pyqt5

4
推荐指数
1
解决办法
2804
查看次数

为实时数据绘图实现pyqtgraph

我正在尝试获取数据的实时情节,因为它是由仪器使用pyqtgraph收集的.

数据收集由主进程处理,然后通过连接传递给绘制它的子进程.我只是想传递新数据并在新数据传递时更新.

我试图通过在Qt Timer更新循环中读取连接来实现这一点,但是在连续更新周期之间我很难传递图形数据(我想附加).我从下面的代码中省略了,但基本上我想加入连续的大量connData,我认为使用全局会工作,但由于某种原因我不能在这里实现.

编辑1:我与pyqtgraph示例相比的问题似乎是将数据传递给Qtimer的更新过程,我得到:

NameError:未定义全局名称"CurveData"

我试图这样做而不是使用pyqtgraph的多处理模块的原因是我不想每次都通过连接传递整个数据集(我认为这是必要的).谢谢!

编辑2:有没有pyqtgraph.multiprocess的文档?

(这是提供的原始代码)

import multiprocessing
import numpy as np
from pyqtgraph.Qt import QtCore, QtGui
import pyqtgraph as pg
import pyqtgraph.opengl as gl
import sys
import os

def MakeGraph(conn):

    win = pg.GraphicsWindow(title = "test")
    win.resize(300,300)

    p1 = win.addPlot(title = "test")

    curve = p1.plot(pen = 'y')
    timer = QtCore.QTimer()

    def Update():
        try:
            ConnData = conn.recv()
            ConnData = [float(i) for i in ConnData]
            curve.setData(ConnData)
        except EOFError:
            print "Graph connection closed\n"
            timer.stop()
            QtGui.QApplication.quit()

    timer.timeout.connect(Update)
    timer.start(0)

    if (sys.flags.interactive != …
Run Code Online (Sandbox Code Playgroud)

python qt qtgui pyqtgraph

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

如何在PyQtGraph的单个绘图中绘制两个实时数据?

我愿意获得2个随机数据,并使用PyQtGraph实时地将其绘制在同一控件中。我希望它们显示为红色和蓝色的点。但是,经过一段时间后,我的脚本无法正常工作。

我想知道要怎么做才能在同一图中获得两个数据。

我知道这是一个愚蠢的问题。我是Python和编码的初学者。

这是我的代码:

#-*- coding: utf-8 -*-
import random
import time
from collections import deque
import pyqtgraph as pg
from pyqtgraph.Qt import QtCore, QtGui
import numpy as np
import os
import spidev

win = pg.GraphicsWindow()
win.setWindowTitle('DOTS')


p1 = win.addPlot()
p1.setRange(yRange=[0,25])
p1.setRange(xRange=[0,25])
curve1 = p1.plot()


nsamples=300 #Number of lines for the data

dataRed= np.zeros((nsamples,2),float) #Matrix for the Red dots
dataBlue=np.zeros((nsamples,2),float) #Matrix for the Blue dots

def getData():
    global dataRed, dataBlue

    t0= random.uniform(1.6,20.5) #Acquiring Data
    d0= random.uniform(1.6,20.5) #Acquiring Data
    vec=(t0, d0) …
Run Code Online (Sandbox Code Playgroud)

python real-time pyqtgraph

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

标签 统计

pyqtgraph ×10

python ×10

pyqt ×2

plot ×1

pyqt5 ×1

pyside2 ×1

python-2.7 ×1

qt ×1

qtgui ×1

real-time ×1