# DataPlot **Repository Path**: bistu_liuning_admin_admin/DataPlot ## Basic Information - **Project Name**: DataPlot - **Description**: Qt 数据可视化工具 - 支持2D/3D绑图、FFT分析、滤波和插值 - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-01 - **Last Updated**: 2026-03-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DataPlot 数据分析软件 **版本: 1.3.0** **高动态导航技术北京市重点实验室** --- ## 项目简介 DataPlot是一款专业的数据分析与可视化工具,专为科研人员和工程师设计。软件支持大容量数据的导入导出、多种可视化方式以及丰富的信号处理功能。 ## 主要功能 ### 数据管理 - **数据导入**:支持CSV、TXT等格式的大容量数据导入 - **数据导出**:支持CSV、TXT格式导出 - **自动编码检测**:UTF-8、GBK、GB2312等 ### 数据可视化 - **2D绘图**:专业级二维折线图,多曲线显示 - **3D绘图**:三维散点图绘制 ### 信号处理 - **数据滤波**: - 平滑滤波:3/5/7/9/11点滑动平均 - FIR滤波:低通、高通、带通、带阻 - 中值滤波:可配置窗口大小 - **FFT频谱分析**:快速傅里叶变换,幅值谱分析 - **STFT时频分析**:短时傅里叶变换,时频谱图显示 - **数据插值**: - 三次样条插值 - 埃尔米特插值 - **微分计算**:对列数据进行差分计算(后一行减前一行) - **包络曲线**:计算信号的上下包络线,用于分析信号幅度变化 - **Allan方差**:计算Allan方差,用于分析传感器噪声特性(随机游走、零偏不稳定性等) ## 软件架构 ``` DataPlot/ ├── src/ │ ├── main.cpp # 程序入口 │ ├── mainwindow/ # 主窗口模块 │ │ ├── MainWindow.h │ │ └── MainWindow.cpp │ ├── data/ # 数据处理模块 │ │ ├── DataColumn.h │ │ ├── DataTableModel.h │ │ ├── DataImporter.h │ │ └── DataExporter.h │ ├── dialogs/ # 对话框模块 │ │ ├── DataImportDialog.h │ │ ├── FFTDialog.h │ │ ├── FilterDialog.h │ │ ├── InterpolateDialog.h │ │ ├── Plot3DDialog.h │ │ └── ProgressDialog.h │ ├── plot/ # 绑图模块 │ │ ├── Plot2DWidget.h/cpp # 2D图表 │ │ ├── Plot2DWindow.h/cpp │ │ ├── Plot3DWidget.h/cpp # 3D图表 │ │ ├── Plot3DWindow.h/cpp │ │ ├── ColorMapWidget.h/cpp # 颜色映射(热力图) │ │ └── STFTWindow.h/cpp # STFT时频分析窗口 │ ├── processing/ # 信号处理模块 │ │ ├── FFTProcessor.h/cpp │ │ ├── FilterProcessor.h/cpp │ │ └── InterpolateProcessor.h/cpp │ └── widgets/ # 自定义控件 │ ├── DataTableView.h/cpp │ └── ChannelListWidget.h/cpp ├── docs/ # 文档目录 │ └── DataPlot使用说明.pdf ├── build/ # 构建目录 └── bin/ # 输出目录 ``` ## 开发环境 - **Qt版本**:Qt 6.8.1 - **编译器**:MinGW 13.1.0 (64-bit) - **构建系统**:qmake ## 编译说明 ### 环境设置 ```powershell $env:PATH = "C:\Qt\6.8.1\mingw_64\bin;C:\Qt\Tools\mingw1310_64\bin;$env:PATH" ``` ### 编译步骤 ```powershell cd build qmake ../DataPlot.pro mingw32-make -j4 ``` ### 编译前检查 编译前请检查源文件是否有UTF-8 BOM问题,如有BOM需要先去除: ## 快捷键 | 快捷键 | 功能 | |--------|------| | Ctrl+O | 导入数据 | | Ctrl+S | 导出数据 | | Ctrl+2 | 2D绘图 | | Ctrl+3 | 3D绘图 | | Ctrl+F | 滤波处理 | | Ctrl+T | FFT分析 | | Ctrl+I | 数据插值 | | Ctrl+D | 微分计算 | | F1 | 使用说明 | | Ctrl+Q | 退出程序 | ## 更新日志 ### v1.3.0 (2026-03-07) - 新增包络曲线功能:计算信号的上下包络线,用于分析信号幅度变化趋势 - 新增Allan方差分析功能:计算Allan方差曲线,用于分析传感器噪声特性 - 全新设计科技风格图标:统一色彩方案,增强功能辨识度 - 科技蓝(#00A8E8):主要功能 - 橙红色(#FF6B35):分析/强调 - 绿色(#00D26A):成功/确认 - 紫色(#6C5CE7):辅助功能 - 优化图标显示兼容性:采用Qt SVG支持的简单格式 ### v1.2.0 (2026-03-07) - 新增微分计算功能:对列数据进行差分计算(后一行减前一行),自动绘制微分曲线 - 优化窗口启动:默认以1240x768窗口启动,保留最大化按钮 - 程序只保存窗口位置,不再保存窗口大小和最大化状态 - 修复源文件BOM编码问题 ### v1.1.0 (2026-03-06) - 新增STFT短时傅里叶变换时频分析功能 - 新增时频谱图颜色调节(亮度、偏移)功能 - 新增STFT窗口保存图片功能 - 新增使用说明文档(PDF格式) - 帮助菜单删除Qt介绍,添加使用说明 - 3D绑图对话框通道显示改为"通道号"格式 - 滤波功能增加三种输出模式:显示对比图、新建列、替换列 - 数据导入改为清空之前数据 - 工具栏和右键菜单图标更新为Feather Icons(SVG格式) - 右键菜单顺序调整:2D绑图、FFT、滤波、插值置顶 - 修复滤波/FFT/插值/STFT只处理第一列数据的问题 - 修复插值显示问题:同时显示原始曲线(红色)和插值曲线(蓝色) - 修复插值功能横坐标尺度一致性问题 - 修复BOM编码导致的编译问题 - 代码优化和重构 - 修复多曲线显示问题 ### v1.0.0 - 初始版本 - 基本数据导入和显示 - 2D/3D 绑图功能 - FFT 分析 - 滤波和插值 ## 许可证 MIT License ## 作者 高动态导航技术北京市重点实验室