1756 字
9 分钟

SciPlot-Copilot - AI 驱动的科研可视化与逻辑梳理平台

项目简介#

SciPlot-Copilot 是一款 AI 驱动的下一代科研可视化与逻辑梳理平台。它融合了大语言模型的智慧,让科研工作者能够用自然语言描述需求,一键生成 Nature 级别的专业图表,同时智能梳理复杂的实验逻辑。

为什么开发这个项目?#

在科研工作中,数据可视化和实验逻辑梳理是两个耗时且需要专业技能的环节。传统方式需要:

  • 熟练掌握 Python/R 编程和 matplotlib/seaborn 等库
  • 手动调整图表样式以满足顶刊投稿要求
  • 用 Visio/PPT 等工具手绘流程图

SciPlot-Copilot 通过 AI 将这些复杂操作简化为自然语言描述,大幅降低了科研可视化的门槛。

核心功能#

📈 智能绘图工作室#

用自然语言描述你想要的图表,AI 自动生成专业级可视化代码:

智能绘图工作室

特性说明
自然语言绘图用中文描述需求,AI 自动生成 matplotlib/seaborn 代码
多种图表类型散点图、折线图、柱状图、箱线图、热力图、小提琴图、直方图等
Nature 级样式内置 Nature、Science、Cell、PNAS 等顶刊风格模板
AI 智能推荐根据数据特征自动推荐最适合的图表类型
实时预览即时查看效果,支持 PNG/PDF/SVG/JPG 导出
代码透明完整展示生成的 Python 代码,方便学习和二次修改

使用示例

请用 iris 数据集绘制一个散点图,x轴是花瓣长度,y轴是花瓣宽度,按物种着色

🧠 逻辑思维导图#

将实验流程文本智能转换为可视化的逻辑关系图:

逻辑思维导图

  • 智能逻辑梳理:AI 分析实验步骤,自动提取关键节点和关系
  • 交互式编辑:支持拖拽、添加、删除节点,自由调整布局
  • 多种布局算法:层次布局、环形布局、网格布局
  • 丰富导出格式:PNG/JPG/SVG、JSON、Mermaid、Python 代码、GraphML

使用示例

1. 首先将样品 A 与试剂 B 混合,在 50°C 下搅拌 2 小时
2. 冷却至室温后,进行离心分离
3. 上清液用于 HPLC 分析,沉淀物经洗涤干燥后进行 XRD 表征

💬 AI 对话助手#

与 AI 进行自然语言对话,获取数据分析建议和科研问题解答:

AI 对话助手

  • 上下文感知:AI 自动理解当前加载的数据特征
  • 多轮对话:支持连续对话,保持上下文记忆
  • 快捷问题:内置常用问题模板,一键获取分析建议
  • 专业知识:涵盖统计方法选择、图表设计、科研写作等

🔬 统计分析工具#

统计分析工具

功能类别支持的方法
假设检验单样本 t 检验、独立样本 t 检验、配对样本 t 检验、ANOVA、Mann-Whitney U、Shapiro-Wilk 正态性检验
回归分析线性回归、多元回归,自动计算 R²、RMSE 等指标
相关性分析Pearson、Spearman、Kendall 相关系数矩阵,热力图可视化
描述统计均值、中位数、标准差、偏度、峰度,分布直方图和箱线图

🔧 数据预处理#

强大的数据清洗和转换工具:

  • 缺失值处理:均值/中位数/众数填充、前值/后值填充、删除缺失行
  • 数据转换:类型转换、标准化、归一化、对数转换、独热编码
  • 数据筛选:按条件筛选行、选择保留列
  • 数据采样:随机采样、头部/尾部数据、等间隔采样、分层采样

💾 项目管理#

保存和恢复工作进度,生成专业分析报告:

  • 保存项目:保存数据集、绘图历史、对话记录、逻辑图、配置信息
  • 加载项目:随时恢复之前的工作进度
  • 导出报告:生成 Markdown 格式的分析报告

技术架构#

项目结构#

sciplot-copilot/
├── app.py # 主入口文件
├── core/ # 核心模块
│ ├── config_manager.py # 配置管理
│ ├── data_loader.py # 数据加载器
│ ├── llm_service.py # LLM 服务封装
│ ├── logic_graph.py # 逻辑图处理
│ └── sandbox.py # 代码沙箱执行
├── ui/ # UI 组件
│ ├── chat_tab.py # AI 对话标签页
│ ├── plot_tab.py # 绘图标签页
│ ├── logic_graph_tab.py # 逻辑图标签页
│ ├── statistics_tab.py # 统计分析标签页
│ └── ...
├── utils/ # 工具模块
├── data/ # 示例数据集
└── tests/ # 测试文件

技术栈#

类别技术
前端框架Streamlit
可视化库Matplotlib、Seaborn
AI 引擎OpenAI 兼容 API
数据处理Pandas、NumPy
统计分析SciPy、Scikit-learn、Statsmodels
流程图streamlit-flow-component、NetworkX

快速开始#

环境要求#

  • Python 3.8+
  • 支持 OpenAI 兼容 API 的 LLM 服务

安装步骤#

Terminal window
# 克隆项目
git clone https://github.com/1776686596/mota.git
cd mota
# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate # Linux/Mac
# 安装依赖
pip install -r requirements.txt
# 启动应用
streamlit run app.py

应用将在浏览器中自动打开,默认地址:http://localhost:8501

配置 API#

在侧边栏的「⚙️ API 配置」中设置:

配置项说明示例
API Base URLLLM 服务地址https://api.openai.com/v1
API Key你的 API 密钥sk-xxx...
模型使用的模型名称gpt-4gpt-3.5-turbo

支持所有 OpenAI 兼容的 API 服务,包括 OpenAI、Azure OpenAI、通义千问、智谱 AI 等。

内置数据集#

项目内置了多个科研常用数据集供体验:

数据集行数列数描述适用场景
iris.csv1505鸢尾花数据集分类分析、散点图
penguins.csv3447企鹅数据集多变量分析、分组比较
tips.csv2447餐厅小费数据回归分析、分类比较
diamonds.csv5394010钻石数据集大数据可视化、价格预测
cell_viability.csv--细胞活力测试科研场景测试
enzyme_activity.csv--酶活性分析科研场景测试

支持的图表类型#

图表类型描述适用场景
📊 散点图展示两变量关系相关性分析、聚类可视化
📈 折线图展示趋势变化时间序列、连续数据
📊 柱状图比较分类数据分组对比、频率统计
📦 箱线图展示数据分布统计分析、异常值检测
🔥 热力图展示矩阵数据相关性矩阵、混淆矩阵
🎻 小提琴图展示分布密度分布对比、密度估计
📊 直方图展示频率分布数据分布、正态性检验

隐私与安全#

  • ✅ 所有数据处理在本地完成
  • ✅ API 密钥仅用于调用 LLM 服务,不会存储到服务器
  • ✅ 不会上传或存储你的数据
  • ✅ 代码在安全沙箱中执行

写在最后#

SciPlot-Copilot 是我在探索 AI 与科研可视化结合过程中的实践产物。希望它能帮助更多科研工作者提升工作效率,让数据可视化变得更简单、更智能。

如果觉得有帮助,欢迎 Star 支持:GitHub

在线体验地址:ModelScope

有问题或建议欢迎提 Issue!


本项目采用 Apache License 2.0 开源协议

分享

如果这篇文章对你有帮助,欢迎分享给更多人!

SciPlot-Copilot - AI 驱动的科研可视化与逻辑梳理平台
https://blog.daisheng.xyz/posts/sciplot-copilot/
作者
园长
发布于
2025-12-28
许可协议
CC BY-NC-SA 4.0

目录