- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在使用 pyqtgraph 时遇到错误。我正在尝试使用 OpenGL 绘制 3D 散点图。然而,当我运行我的代码时,我得到一个空白图和这个输出:
|==============================>>
| Traceback (most recent call last):
| File "C:\Users\T\anaconda3\lib\runpy.py", line 197, in _run_module_as_main
| return _run_code(code, main_globals, None,
| File "C:\Users\T\anaconda3\lib\runpy.py", line 87, in _run_code
| exec(code, run_globals)
| File "C:\Users\T\Anaconda3\Lib\site-packages\spyder_kernels\console\__main__.py", line 23, in <module>
| start.main()
| File "C:\Users\T\Anaconda3\Lib\site-packages\spyder_kernels\console\start.py", line 328, in main
| kernel.start()
| File "C:\Users\T\Anaconda3\Lib\site-packages\ipykernel\kernelapp.py", line 677, in start
| self.io_loop.start()
| File "C:\Users\T\Anaconda3\Lib\site-packages\tornado\platform\asyncio.py", line 199, in start
| self.asyncio_loop.run_forever()
| File "C:\Users\T\anaconda3\lib\asyncio\base_events.py", line 601, in run_forever
| self._run_once()
| File "C:\Users\T\anaconda3\lib\asyncio\base_events.py", line 1905, in _run_once
| handle._run()
| File "C:\Users\T\anaconda3\lib\asyncio\events.py", line 80, in _run
| self._context.run(self._callback, *self._args)
| File "C:\Users\T\Anaconda3\Lib\site-packages\ipykernel\kernelbase.py", line 471, in dispatch_queue
| await self.process_one()
| File "C:\Users\T\Anaconda3\Lib\site-packages\ipykernel\kernelbase.py", line 460, in process_one
| await dispatch(*args)
| File "C:\Users\T\Anaconda3\Lib\site-packages\ipykernel\kernelbase.py", line 367, in dispatch_shell
| await result
| File "C:\Users\T\Anaconda3\Lib\site-packages\ipykernel\kernelbase.py", line 662, in execute_request
| reply_content = await reply_content
| File "C:\Users\T\Anaconda3\Lib\site-packages\ipykernel\ipkernel.py", line 360, in do_execute
| res = shell.run_cell(code, store_history=store_history, silent=silent)
| File "C:\Users\T\Anaconda3\Lib\site-packages\ipykernel\zmqshell.py", line 532, in run_cell
| return super().run_cell(*args, **kwargs)
| File "C:\Users\T\Anaconda3\Lib\site-packages\IPython\core\interactiveshell.py", line 2863, in run_cell
| result = self._run_cell(
| File "C:\Users\T\Anaconda3\Lib\site-packages\IPython\core\interactiveshell.py", line 2909, in _run_cell
| return runner(coro)
| File "C:\Users\T\Anaconda3\Lib\site-packages\IPython\core\async_helpers.py", line 129, in _pseudo_sync_runner
| coro.send(None)
| File "C:\Users\T\Anaconda3\Lib\site-packages\IPython\core\interactiveshell.py", line 3106, in run_cell_async
| has_raised = await self.run_ast_nodes(code_ast.body, cell_name,
| File "C:\Users\T\Anaconda3\Lib\site-packages\IPython\core\interactiveshell.py", line 3309, in run_ast_nodes
| if await self.run_code(code, result, async_=asy):
| File "C:\Users\T\Anaconda3\Lib\site-packages\IPython\core\interactiveshell.py", line 3369, in run_code
| exec(code_obj, self.user_global_ns, self.user_ns)
| File "C:\Users\T\AppData\Local\Temp\ipykernel_23572\2140586109.py", line 1, in <cell line: 1>
| runfile('C:/Users/T/Downloads/pointPloter.py', wdir='C:/Users/T/Downloads')
| File "C:\Users\T\Anaconda3\Lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 577, in runfile
| exec_code(file_code, filename, ns_globals, ns_locals,
| File "C:\Users\T\Anaconda3\Lib\site-packages\spyder_kernels\customize\spydercustomize.py", line 465, in exec_code
| exec(compiled, ns_globals, ns_locals)
| File "C:\Users\T\Downloads\pointPloter.py", line 109, in <module>
| v.animation()
| File "C:\Users\T\Downloads\pointPloter.py", line 103, in animation
| self.start()
| File "C:\Users\T\Downloads\pointPloter.py", line 83, in start
| QtGui.QApplication.instance().exec_()
| File "C:\Users\T\Anaconda3\Lib\site-packages\pyqtgraph\opengl\GLViewWidget.py", line 193, in paintGL
| self.drawItemTree(useItemNames=useItemNames)
| File "C:\Users\T\Anaconda3\Lib\site-packages\pyqtgraph\opengl\GLViewWidget.py", line 233, in drawItemTree
| self.drawItemTree(i, useItemNames=useItemNames)
| File "C:\Users\T\Anaconda3\Lib\site-packages\pyqtgraph\opengl\GLViewWidget.py", line 214, in drawItemTree
| debug.printExc()
| --- exception caught here ---
| File "C:\Users\T\Anaconda3\Lib\site-packages\pyqtgraph\opengl\GLViewWidget.py", line 211, in drawItemTree
| i.paint()
| File "C:\Users\T\Anaconda3\Lib\site-packages\pyqtgraph\opengl\items\GLScatterPlotItem.py", line 152, in paint
| glDrawArrays(GL_POINTS, 0, int(pos.size / pos.shape[-1]))
| AttributeError: 'list' object has no attribute 'size'
|==============================<<
在 0x0000026EB461B4C0 处绘制项目
我看到它给我一个属性错误。每次使用 size 属性时,我都测试了代码。但是,我无法使代码正常工作。我的代码是:
# -*- coding: utf-8 -*-
from pyqtgraph.Qt import QtCore, QtGui
import pyqtgraph.opengl as gl
import pyqtgraph as pg
import numpy as np
import sys
import time
import random
class Visualizer(object):
def __init__(self):
self.traces = dict()
self.app = QtGui.QApplication(sys.argv)
self.w = gl.GLViewWidget()
self.w.opts['distance'] = 40
self.w.setWindowTitle('pyqtgraph example: GLLinePlotItem')
self.w.setGeometry(0, 110, 1920, 1080)
self.w.show()
self.listPoints = []
self.listPoints.append(self.PointsObj(0))
self.listPoints.append(self.PointsObj(0))
self.listPoints.append(self.PointsObj(0))
#for obj in self.listPoints:
#print(obj.y)
for idObj, obj in enumerate(self.listPoints):
pts = [obj.x, obj.y, obj.z]
print(pts)
self.traces[idObj] = gl.GLScatterPlotItem(
pos=pts,
color=pg.glColor((0, 6.5)),
size=3,
pxMode=True
)
self.w.addItem(self.traces[idObj])
class PointsObj:
def __init__(self, type):
self.type= type
self.x= random.randint(-10, 10)
self.y= random.randint(-10, 10)
self.z= random.randint(-10, 10)
self.dx= 0
self.dy= 0
self.dz= 0
def start(self):
if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
QtGui.QApplication.instance().exec_()
def set_plotdata(self, name, points, color, size):
self.traces[name].setData(pos=points, color=color, size=size)
def update(self):
stime = time.time()
for idObj, obj in enumerate(self.listPoints):
pts = [obj.x + obj.dx, obj.y + obj.dy, obj.z + obj.dz]
self.set_plotdata(
name=idObj, points=pts,
color=pg.glColor((0, 6.5)),
size=3
)
def animation(self):
timer = QtCore.QTimer()
timer.timeout.connect(self.update)
timer.start(10)
self.start()
# Start event loop.
if __name__ == '__main__':
v = Visualizer()
v.animation()
最佳答案
您应该将 np.array
传递给 GLScatterPlotItem
,如下面的代码片段:
self.traces[idObj] = gl.GLScatterPlotItem(
pos=np.array(pts), # <- Here
color=pg.glColor((0, 6.5)),
size=3,
pxMode=True
)
关于python - 绘制项目时出错 <pyqtgraph.opengl.items.GLScatterPlotItem.GLScatterPlotItem object at 0x0000026EB461B4C0>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73515969/
So I am making a GUI using Pyqt6 and want to add graphs inside the Gui with other data, SO when I tr
我可以使用 ArrayToQPath 在 pyqtgraph 中绘制具有不同颜色的多个 channel 吗? path = pg.arrayToQPath(xdata.flatten(), ydata
最近我下载了pyqtgraph模块。我在解压文件夹后运行了构建和安装,但是当我运行一个像下面这样的简单示例时 import pyqtgraph as pg import numpy as np x =
我正在使用 pyqtgraph,我想在散点图的图例中添加一个项目。 我改编了示例代码来演示: # -*- coding: utf-8 -*- """ Demonstrates basic use of
我有一个 PyQtGraph 图,可以缩放或平移。它改变了它的范围。当情节改变其范围时,我不能以某种方式被人知道吗? 最佳答案 将您选择的方法(槽)连接到 PlotItem.sigRangeChang
我正在使用 pyqtgraph 来实时查看相机采集程序。大多数时候,我的图像由大量背景噪声和仅具有较高强度的几个像素的信号组成。出于这个原因,HistogramLUTItem 的部分对应于实际信号看起
pyqtgraph 示例包括如何使用沿 x 轴的变量和沿 y 轴的计数进行直方图,如下所示。有没有办法让变量沿 y 轴运行,计数沿 x 轴运行,fillLevel 填充到 y 轴? import py
我正在尝试将一些代码从使用 matplotlib 转换为 pyqtgraph,因为它应该更高效,并且它提供了更多的交互功能。我的代码大部分都已转换,但我遇到了运行缓慢的问题。重现此内容的一些代码: i
我有一个 python 类,它生成一个大小为 10000 的 numpy 数组并对其执行一些计算。该类有两个绘图方法,都使用 pyqtgraph 绘制整个数据 一次绘制数据段(200 个样本) 我想知
该示例使用文件 'QtChart.ui'(这很重要)Pyqtgraph 的小部件嵌入其中(这也很重要)。 问题:显示图形,但显示自纪元开始以来的秒数,而不是日期时间轴。 我设置变量 axis = pg
我想同步几个 pyqtgraph 图的 X 轴。当用户通过鼠标交互(例如鼠标在 x 轴上时滚动滚轮)重新缩放 X 轴时,我想为所有其他图分配相同的更改。那么我该怎么做呢? 我从下面的一个基本示例中导出
我最近在将 pyqt 从 PyQt4 更新到 PyQt5 后开始使用 PyQt5,并注意到使用 pyqtgraph 生成的所有图的轴位置存在持续错误(见附图)。 x 轴不会延伸到窗口底部,并且 y 轴
我正在尝试在 pyqtgraph 的 Dock 中的 ImageView() (或类似的)中显示 RGB numpy 数组。 总体思路是这样的代码: import pyqtgraph as pg fr
我正在使用 pyqtchart 进行第一次测试,但由于有关动画图表的文档很差,我遇到了一些问题。我构建了一个图表,显示“sin”、“cos”和“tan”函数(近似于正切值),为了使其生效,我构建了一个
在我的 ubuntu (14.04) 操作系统上使用 python 处理原始鼠标数据的史诗般的斗争中,在这里的大量帮助下我再次陷入困境。我似乎很难理解 pyqtgraph 的“简单性”。我想做的就是将
我正在寻找一种方法使我的曲面图项目根据高度改变颜色。以下是我当前的方法: def __init__(self, s): self.traces = dict() self.app =
标题中的问题。在下面的导入中,QtCore 和 QtGui 应该从 pyqtgraph 还是 PyQt5 导入? 我的代码工作正常,但看着这个我有不好的代码感觉 - 我不确定 pyqtgraph 如何
我正在使用 PyQtGraph 0.10 和 Py3.6,但在使用以下代码时遇到问题。 我有两个问题: 1) 五个图上的 addLegend() 仅显示一个空的小框, 2) showLabel(sho
我有以下 PyQtGraph 程序,它在移动 slider 时使红色方 block “移动”: import sys from PyQt5 import QtCore, QtWidgets from
我正在尝试使用 pyqtgraph 绘制时间序列。我读过 this , this和 this .但我不确定如何正确使用它。 我的情节是一个情节小部件,我这样使用它: graph.plot(aeroso
我是一名优秀的程序员,十分优秀!