如果你是零基础,又想快速做出专业的数据图表,这篇教程就是为你写的。
我会把每一步都拆到最细,你只需要照着做。
先看成品:这篇教程能带你做出什么
可交互 HTML 数据看板
全程耗时约 5 分钟 | 代码量 0 行 | 工具:AiPy
一、为什么用 AiPy 做数据可视化
先说说我踩过的坑:
| 方式 | 问题 |
|---|---|
| Excel 画图 | 样式丑,改一次要重做 |
| Matplotlib | 要写代码,中文还乱码 |
| 在线图表工具 | 要手动整理数据,费时 |
而我就想要你说人话,它写代码,最后把成品交给你。
当然还有成本的考虑,你们有自己用习惯的工具也可以用,不影响
| 对比项 | 传统方式 | AiPy 方式 |
|---|---|---|
| 数据准备 | 手动整理 | 自动抓取 + 清洗 |
| 图表选择 | 自己判断 | 自动匹配 |
| 样式调整 | 重做一遍 | 说一句话 |
| 输出格式 | 只能出图 | PNG + 交互式 HTML |
二、保姆级实操:三步做出数据可视化
3.1 第一步:抓数据
在对话框输入:
帮我抓取名古屋亚运会中国代表团的奖牌数据,包括: 1. 各项目(游泳、射击、体操、武术、田径等)的金牌数 2. 每日新增金牌数 3. 中日韩三国奖牌总数对比 整理成规范的表格,保存为 Excel 到桌面
执行过程:AiPy 会自动写爬虫代码 → 抓取数据 → 清洗 → 存成 Excel。
检查结果:打开桌面上的 Excel,确认数据完整。
⚠️ 注意:数据必须来自权威渠道(新华社、官方奖牌榜等)。如果发现数据不对,直接告诉 AiPy「数据来源换成官方奖牌榜,重新抓一次」。
3.2 第二步:出图
数据准备好后,继续输入:
根据刚才的表格,生成一套数据可视化作品,要求: 1. 主图:堆叠柱状图展示各项目金/银/铜,按金牌数降序排列 2. 副图1:双轴图,柱状展示每日金牌,折线展示累计趋势 3. 副图2:雷达图对比中日韩金/银/铜三个维度 4. 副图3:环形图展示中国队奖牌结构,中心显示总数 5. 配色:明亮活泼,带数据标签,中文字体正常显示(不能乱码) 6. 输出高清 PNG(dpi=300)保存到桌面 7. 同时生成一份 HTML 交互版本,可以在浏览器里查看
执行过程:会自动选择图表类型 → 配置配色 → 处理中文字体 → 输出 PNG 和 HTML。
检查结果:桌面上会出现 PNG 图片和 HTML 文件,双击 HTML 可以在浏览器里看到交互效果。
3.3 第三步:微调(可选)
如果对效果不满意,直接用大白话说:
- 「柱子太细了,加粗一点」
- 「标题改成'中国队亚运金牌全记录'」
- 「配色换成中国红 + 金色」
- 「再加一张中日韩对比的饼图」
它会重新生成,不用你动手改代码。
三、完整Prompt与代码节选
4.1 完整 Prompt(可直接复制)
你是资深数据可视化专家。请完成以下任务: 【数据准备】 抓取名古屋亚运会中国代表团奖牌数据,包含: - 各项目金牌分布(游泳/射击/体操/武术/田径等) - 每日金牌数(按比赛日) - 中日韩三国奖牌总数对比 - 数据必须来自权威渠道,并标注来源 【可视化要求】 1. 主图:堆叠柱状图展示各项目金/银/铜,降序排列 2. 副图1:双轴图(柱状=每日金牌,折线=累计金牌) 3. 副图2:雷达图对比中日韩金/银/铜三维度 4. 副图3:环形图展示奖牌结构,中心显示总数 5. 所有图表:中文字体正常显示、带数据标签、配色统一 6. 输出:高清 PNG(dpi=300)保存到桌面 7. 额外:生成一份 HTML 交互版本,支持鼠标悬停查看数值 【数据校验】 生成后请自行校验:各项目金牌合计 = 每日金牌合计 = 官方总数
4.2 提示词公式
角色设定 + 数据要求 + 图表类型 + 样式要求 + 输出格式 + 校验要求
4.3 自动生成的代码(节选)
AiPy 会自动生成类似下面的 Python 代码,你不需要自己写:
import matplotlib.pyplot as plt from matplotlib import font_manager import numpy as np # 中文字体配置(AiPy 自动下载并配置) font_manager.fontManager.addfont("NotoSansSC-Regular.ttf") plt.rcParams["font.sans-serif"] = ["Noto Sans SC"] plt.rcParams["axes.unicode_minus"] = False # 数据 projects = [("游泳", 21), ("射击", 9), ("体操", 4), ("武术", 4)] names = [p[0] for p in projects] vals = [p[1] for p in projects] # 绘制柱状图 fig, ax = plt.subplots(figsize=(12, 6)) bars = ax.bar(names, vals, color="#FFC312", edgecolor="#2C3E50", linewidth=2) # 添加数据标签 for b, v in zip(bars, vals): ax.text(b.get_x()+b.get_width()/2, v+0.5, str(v), ha="center", fontweight="bold") plt.savefig("chart.png", dpi=300)四、避坑指南(帮你省时间)
| 坑 | 表现 | 解法 |
|---|---|---|
| 中文乱码 | 图表里全是方块 | 提示词里明确写「中文字体正常显示」 |
| 数据不准 | 抓到的数据是旧的 | 指定时间范围和数据源,要求标注来源 |
| 图表太丑 | 默认配色辣眼睛 | 明确说配色方案(如「中国红+金色」) |
| 图片模糊 | 保存的图分辨率低 | 要求「高清 PNG」或指定 dpi=300 |
| 数据对不上 | 各项目合计 ≠ 总数 | 要求 AiPy 生成后自行校验求和 |
| 字体文件被占用 | 清理时删不掉 | 不影响使用,下次任务会自动清理 |
五、这套方法还能用在哪
- 工作汇报:销售数据、季度业绩,一句话出图
- 自媒体配图:热点事件数据可视化,蹭热点利器
- 学习资料:把知识点做成图表,理解更透彻
- 生活场景:记账数据、健身记录,可视化更有动力
核心逻辑:只要你有数据(或者能抓到数据),AiPy 就能帮你变成图。