• pyqtgraph只使用image view进行热图的可视化展示 (一个脚本)创建一个窗口


    pyqtgraph只使用image view进行热图的可视化展示

    """
    
    import scipy.io as scio
    import numpy as np
    import pyqtgraph as pg
    
    
    from PyQt5 import QtCore, QtGui
    from PyQt5.QtWidgets import *
    from PyQt5 import uic
    
    if __name__ == '__main__':
        #
        import sys
        app = QApplication(sys.argv)
    
        print("对参与同步簇点火的神经元进行Sorting")
    
    
        data = np.array([[i for i in range(255)] for _ in range(255)])
        # 可视化
    
        winHeatmap = uic.loadUi(r'../GUI/Empty.ui')
        winHeatmap.setFixedSize(2000, 400)
    
        ivHeatmap = pg.ImageView()
        winHeatmap.verticalLayout_2.addWidget(ivHeatmap)
        ivHeatmap.setImage(data)
        colors = [(48, 18, 59), (62, 155, 254), (70, 247, 131), (225, 220, 55), (239, 90, 17), (122, 4, 3), ]
        cmap = pg.ColorMap(pos=np.linspace(0.0, 1.0, 6), color=colors)
        ivHeatmap.setColorMap(cmap)
        winHeatmap.setWindowTitle("The heatmap of neurons.\t{}".format("traceMatPath"))
        winHeatmap.show()
    
        if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
            QtGui.QApplication.instance().exec_()
    
    

     ---------

    和人家提供的exapmle类似

    # -*- coding: utf-8 -*-
    """
    This example demonstrates the use of ImageView, which is a high-level widget for 
    displaying and analyzing 2D and 3D data. ImageView provides:
    
      1. A zoomable region (ViewBox) for displaying the image
      2. A combination histogram and gradient editor (HistogramLUTItem) for
         controlling the visual appearance of the image
      3. A timeline for selecting the currently displayed frame (for 3D data only).
      4. Tools for very basic analysis of image data (see ROI and Norm buttons)
    
    """
    ## Add path to library (just for examples; you do not need this)
    import initExample
    
    import numpy as np
    from pyqtgraph.Qt import QtCore, QtGui
    import pyqtgraph as pg
    
    # Interpret image data as row-major instead of col-major
    pg.setConfigOptions(imageAxisOrder='row-major')
    
    app = QtGui.QApplication([])
    
    ## Create window with ImageView widget
    win = QtGui.QMainWindow()
    win.resize(800,800)
    imv = pg.ImageView()
    win.setCentralWidget(imv)
    win.show()
    win.setWindowTitle('pyqtgraph example: ImageView')
    
    ## Create random 3D data set with noisy signals
    img = pg.gaussianFilter(np.random.normal(size=(200, 200)), (5, 5)) * 20 + 100
    img = img[np.newaxis,:,:]
    decay = np.exp(-np.linspace(0,0.3,100))[:,np.newaxis,np.newaxis]
    data = np.random.normal(size=(100, 200, 200))
    data += img * decay
    data += 2
    
    ## Add time-varying signal
    sig = np.zeros(data.shape[0])
    sig[30:] += np.exp(-np.linspace(1,10, 70))
    sig[40:] += np.exp(-np.linspace(1,10, 60))
    sig[70:] += np.exp(-np.linspace(1,10, 30))
    
    sig = sig[:,np.newaxis,np.newaxis] * 3
    data[:,50:60,30:40] += sig
    
    
    ## Display the data and assign each frame a time value from 1.0 to 3.0
    imv.setImage(data, xvals=np.linspace(1., 3., data.shape[0]))
    
    ## Set a custom color map
    colors = [
        (0, 0, 0),
        (45, 5, 61),
        (84, 42, 55),
        (150, 87, 60),
        (208, 171, 141),
        (255, 255, 255)
    ]
    cmap = pg.ColorMap(pos=np.linspace(0.0, 1.0, 6), color=colors)
    imv.setColorMap(cmap)
    
    ## Start Qt event loop unless running in interactive mode.
    if __name__ == '__main__':
        import sys
        if (sys.flags.interactive != 1) or not hasattr(QtCore, 'PYQT_VERSION'):
            QtGui.QApplication.instance().exec_()
    

  • 相关阅读:
    sqli-labs/Less-46
    pandas学习资源
    Ansible 自动化运维企业实战 (二)
    【填坑】乐鑫ESP32C3 Bootloader开发(上)
    Feign实现文件上传下载
    【【STM32-29正点原子版本串口发送传输实验】
    【OS】I/O多路复用的一点理解
    [解题报告] CSDN竞赛第六期
    Android自定义View——实现字母导航栏
    HTML5期末考核大作业 基于HTML+CSS+JavaScript沪上美食(9页)
  • 原文地址:https://blog.csdn.net/Hodors/article/details/126451150