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

| 功能类别 | 支持的方法 |
|---|---|
| 假设检验 | 单样本 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 服务
安装步骤
# 克隆项目git clone https://github.com/1776686596/mota.gitcd mota
# 创建虚拟环境python3 -m venv venvsource venv/bin/activate # Linux/Mac
# 安装依赖pip install -r requirements.txt
# 启动应用streamlit run app.py应用将在浏览器中自动打开,默认地址:http://localhost:8501
配置 API
在侧边栏的「⚙️ API 配置」中设置:
| 配置项 | 说明 | 示例 |
|---|---|---|
| API Base URL | LLM 服务地址 | https://api.openai.com/v1 |
| API Key | 你的 API 密钥 | sk-xxx... |
| 模型 | 使用的模型名称 | gpt-4、gpt-3.5-turbo |
支持所有 OpenAI 兼容的 API 服务,包括 OpenAI、Azure OpenAI、通义千问、智谱 AI 等。
内置数据集
项目内置了多个科研常用数据集供体验:
| 数据集 | 行数 | 列数 | 描述 | 适用场景 |
|---|---|---|---|---|
| iris.csv | 150 | 5 | 鸢尾花数据集 | 分类分析、散点图 |
| penguins.csv | 344 | 7 | 企鹅数据集 | 多变量分析、分组比较 |
| tips.csv | 244 | 7 | 餐厅小费数据 | 回归分析、分类比较 |
| diamonds.csv | 53940 | 10 | 钻石数据集 | 大数据可视化、价格预测 |
| 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/