You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyQtGraph是否有类似matplotlib.pyplot.streamplot的函数?

在PyQtGraph UI中叠加流线图的实现方案

不用纠结pyplot的兼容问题,PyQtGraph本身就内置了专门的StreamLinePlotItem组件,直接就能在现有UI的绘图组件上叠加流线图,完全适配PyQtGraph的生态。

核心实现步骤

  • 准备你的速度场数据(u、v分量,对应x、y方向的流速)
  • 在PyQtGraph的PlotWidget中先添加你的基础数据分析图层(比如热力图、散点图等)
  • 实例化StreamLinePlotItem,传入速度场数据,设置样式后添加到PlotWidget即可完成叠加

完整代码示例

import sys
import numpy as np
import pyqtgraph as pg
from PyQt5.QtWidgets import QApplication, QMainWindow, QVBoxLayout, QWidget

class DataAnalysisUI(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("PyQtGraph 流线图叠加")
        self.central_widget = QWidget()
        self.setCentralWidget(self.central_widget)
        self.layout = QVBoxLayout(self.central_widget)
        
        # 初始化绘图组件
        self.plot_widget = pg.PlotWidget()
        self.layout.addWidget(self.plot_widget)
        
        # ----------------------
        # 替换为你的实际数据
        # ----------------------
        # 生成模拟网格与速度场数据
        x, y = np.meshgrid(np.linspace(-5, 5, 100), np.linspace(-5, 5, 100))
        u = -1 - x**2 + y
        v = 1 + x - y**2
        # 生成背景分析图(比如速度幅值热力图)
        magnitude = np.sqrt(u**2 + v**2)
        
        # 添加背景图层
        image_item = pg.ImageItem(magnitude)
        self.plot_widget.addItem(image_item)
        # 匹配数据坐标范围
        self.plot_widget.setRange(xRange=[0, 100], yRange=[0, 100])
        
        # 添加流线图
        streamline_item = pg.StreamLinePlotItem()
        # 配置流线样式:白色线条、宽度1,密度1.5(值越大流线越密)
        streamline_item.setData(u=u, v=v, x=x, y=y, pen=pg.mkPen(color='white', width=1), density=1.5)
        self.plot_widget.addItem(streamline_item)

if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = DataAnalysisUI()
    window.show()
    sys.exit(app.exec_())

关键参数调整

  • density:控制流线的密度,数值越大,生成的流线越多
  • pen:自定义流线的颜色、宽度、样式(比如pg.mkPen(color='#FF0000', width=2, style=Qt.DashLine))
  • 数据维度:确保u、v的数组维度与x、y的网格维度完全匹配,否则会报错

内容的提问来源于stack exchange,提问作者ahermann

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 06:36:02