Skip to content

AlexisZ12/DataVizAiAssistant

Repository files navigation

DataVizAiAssistant

AI驱动的数据可视化助手 — 基于大语言模型的智能图表生成工具,让数据可视化变得触手可及。无需编程基础,只需用自然语言描述您的数据和分析需求,即可自动生成专业的 Matplotlib 可视化图表。支持线图、散点图、条形图等7种图表类型,并具备交互式修改、思考模式、多平台 API 兼容等高级功能,是数据分析、报告生成、学术研究的得力助手。同时提供 CLI Skill,可集成到 OpenClaw、QwenPaw、Claude Code 等 AI 编程助手中使用。

MIT License Python OpenAI Matplotlib PyWebIO

中文 | English


📖 项目简介

DataVizAiAssistant 是一个创新的开源工具,结合人工智能技术与数据可视化功能,帮助用户轻松从自然语言描述生成专业的数据可视化图表。项目使用GPT模型(通过OpenAI API或兼容接口)解析用户需求,自动生成Matplotlib可视化图表,并支持交互式修改。


🚀 在线体验

在线演示http://115.190.155.135:8080/
介绍视频https://www.bilibili.com/video/BV1tqYhzNEbx/


✨ 核心功能

📊 智能图表生成

从自然语言描述自动创建7种专业图表类型,支持线图、散点图、条形图等,自动处理数据提取、图表样式、坐标刻度和标签

🔄 交互式修改

图表实时预览功能,支持数据与样式的二次修改,无需重新生成即可迭代优化

🌐 多平台兼容

支持OpenAI标准API,兼容DeepSeek、Ollama、LmStudio等替代平台,配置文件管理接口切换

🧠 思考模式

强制思考模式(深度推理)与快速执行模式(简化流程)自由切换

☁️ 多种部署模式

本地部署(全功能)与联机部署(适合云端服务器)

🔒 安全可靠

API密钥本地存储,数据不上传第三方服务器,保护用户隐私


🛠️ 技术栈

类别 技术
后端 Python 3.10+
AI SDK OpenAI Python SDK
可视化 Matplotlib
交互界面 PyWebIO

📦 快速开始

安装依赖

pip install openai matplotlib pywebio python-dotenv

克隆项目

git clone https://github.com/AlexisZ12/DataVizAiAssistant.git
cd DataVizAiAssistant

运行方式

方式一:本地交互模式

python app.py

程序会自动打开浏览器,配置保存在本地。

方式二:云端部署模式

程序默认运行在 http://<本机IP>:8080/

交互模式:运行 web.py,启动后需在界面中输入 API Key 等配置,适合需要灵活切换配置的场景。

预配置模式:运行 web_preset.py,从 .env 文件读取预设配置,适合一键启动或企业内部部署。

  1. 创建配置文件:
cp .env.example .env
  1. 编辑 .env 文件:
API_KEY=your-api-key-here
BASE_URL=https://api.openai.com/v1
MODEL=gpt-4o
  1. 启动服务:
python web_preset.py

方式三:Skill / CLI 模式

将图表生成能力作为命令行工具或 AI 编程助手 Skill 使用,无 Web UI 依赖,输出为 PNG 文件。

cd dataviz_ai
pip install openai matplotlib numpy

export API_KEY="sk-your-api-key"
export BASE_URL="https://api.openai.com/v1"
export MODEL="gpt-4o"

python scripts/dataviz_ai.py "画出2024年各月销售额趋势,1月100,2月200,3月150"
# 输出: /tmp/dataviz_xxxxx.png

支持指定输出路径:-o ./chart.png,详见 dataviz_ai/README.md


🖼️ 支持的图表类型

图表类型 适用场景 预览
线图 时间序列、趋势分析
散点图 相关性分析、分布模式
条形图 分类数据比较
茎叶图 点值分布
填充图 范围可视化
堆叠图 比例构成分析
阶梯图 离散数值变化

🧭 使用示例

示例 1:全球太阳能发电数据

输入描述:

2025年,全球太阳能发电行业经历了快速增长。根据国际可再生能源署(IRENA)的报告,全球五大太阳能发电国的装机容量在过去一年内都有显著增长。以下是这些国家的新增装机容量和占全球市场的比例。
关键数据:
中国:新增装机容量 50 GW,占全球市场的 25%
美国:新增装机容量 30 GW,占全球市场的 15%
印度:新增装机容量 20 GW,占全球市场的 10%
德国:新增装机容量 12 GW,占全球市场的 6%
日本:新增装机容量 8 GW,占全球市场的 4%

生成结果:


示例 2:股票走势分析

输入描述:

From the 1st to the 7th of this month, the stock of TechGen Inc. (TGI) showed some fluctuations. On the 1st, the stock opened at $152.45 and closed at $158.72. The next day, it saw a slight dip, opening at $157.20 and finishing at $155.35. On the 3rd, it bounced back, opening at $156.10 and closing at $160.55. The 4th saw a more significant drop, starting at $159.00 and ending at $152.85. Afterward, the stock demonstrated a steady recovery with an opening price of $153.50 on the 5th, closing at $157.90. On the 6th, it slightly rose again, opening at $158.00 and closing at $161.25. Finally, on the 7th, TechGen Inc. saw its highest price of the week, opening at $162.00 and closing at $163.80, ending the week on a positive note.

生成结果:


🛑 注意事项

  • 需要有效的LLM API密钥(OpenAI或兼容服务)
  • 使用"强制思考"模式,API将消耗更多tokens
  • 图表质量取决于LLM对自然语言的理解准确性
  • 大数据集建议预处理后再输入

🤝 支持与联系

渠道 链接
📂 GitHub AlexisZ12/DataVizAiAssistant
🎁 爱发电 AlexisZ12
📧 邮箱 2242809239@qq.com
💬 微信 Alexis_12_Z

如果觉得这个项目有帮助,欢迎 ⭐ Star 支持一下!

About

AI-powered data visualization assistant - Automatically generate professional charts from natural language descriptions. Supports 7 chart types and OpenAI/DeepSeek/Ollama platforms.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages