• 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_()
    

  • 相关阅读:
    SpringBoot-Web开发-数据响应与内容协商
    java题目-----变量、常量和基本数据类型
    高德地图sdk设置marker并且将设置为地图中心
    C++ | 使用正则表达式匹配特定形式的字符串
    Go语学习笔记 - gorm使用 - 数据库配置、表新增 Web框架Gin(七)
    TiDB HTAP
    Prometheus+Grafana普罗米修斯搭建+监控MySQL
    玩转外贸LinkedIn必备的三大特质,以及突破六度人脉技巧
    AD9371 官方例程HDL详解(一)
    ionic android app打包和发布
  • 原文地址:https://blog.csdn.net/Hodors/article/details/126451150