我正在使用 pyqtgraph 來可視化二維陣列。由于我必須重繪 可視化影像,因為我想評估一個實時應用程式,我正在使用 GraphicsView()。然后我創建一個 ImageItem 并且我想將該專案添加到創建的視窗中。不幸的是,影像僅在視窗的左上角可見。我知道我可以在沒有 GraphicsView 的情況下顯示完整影像,但正如我所說,稍后我將需要 GraphicsView 來實時可視化應用程式的更新值。
這是我當前的代碼:
import numpy as np
from pyqtgraph.Qt import QtGui, QtCore
import pyqtgraph as pg
import struct
import sounddevice as sd
from scipy.fftpack import fft
import sys
import time
class Fenster(pg.GraphicsLayoutWidget): #objektorientiert arbeiten!!
def __init__(self): #constructor
super().__init__() #ruft den constructor von QWidget auf
self.initMe()
class Fenster(pg.GraphicsLayoutWidget):
def __init__(self):
super().__init__()
self.initMe()
def initMe(self):
self.win = pg.GraphicsView()
self.win.show()
self.plot_data = np.fromfunction(lambda i, j: (1 0.3*np.sin(i)) * (i)**2 (j)**2, (100, 100))
self.img = pg.ImageItem(image=self.plot_data)
self.cm = pg.colormap.get('CET-L9')
self.bar = pg.ColorBarItem( values= (0, 20_000), colorMap=self.cm )
self.bar.setImageItem(self.img)
self.win.setCentralItem(self.img)
w = Fenster()
那是輸出影像:

如何設定影像填滿整個視窗?我怎樣才能將創建的 ColorBarItem 顯示在視窗中?(可選)
提前致謝。
uj5u.com熱心網友回復:
我找到了解決方案。您必須創建一個 PlotItem。然后將 ImageItem 添加到 PlotItem 并將 PlotItem 設定在 GraphicsView 的中心
self.win = pg.GraphicsView()
self.win.show()
self.p = pg.PlotItem()
self.win.setCentralItem(self.p)
self.plot_data = np.fromfunction(lambda i, j: (1 0.3*np.sin(i)) * (i)**2 (j)**2, (100, 100))
self.img = pg.ImageItem(image=self.plot_data)
self.cm = pg.colormap.get('CET-L9')
self.bar = pg.ColorBarItem( values= (0, 20_000), colorMap=self.cm )
self.bar.setImageItem(self.img)
self.p.addItem(self.img)
我還想出更新情節(現場情節)。如果我應該分享,請發表評論。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/472008.html
標籤:图片 动画片 pyqt pyqt5 pyqtgraph
下一篇:影片未播放。(羅布洛克斯)
