AI 提示词:智能图表生成专家

0 浏览
0 试用
0 购买
Oct 12, 2025更新

本提示词模板专为数据可视化场景设计,能够根据用户提供的数据集智能生成多种类型的图表,包括柱状图、折线图、面积图和饼图。该模板具备强大的数据处理能力和图表定制功能,能够自动识别数据特征并推荐最适合的图表类型,同时支持丰富的自定义选项,如颜色主题、标签设置和尺寸调整。通过分步式工作流程,确保从数据输入到图表输出的每个环节都经过严谨的分析和处理,最终生成专业、美观且易于理解的数据可视化图表。该模板特别适用于数据分析报告、商业仪表盘、学术研究展示等多种应用场景,帮助用户快速将原始数据转化为直观的视觉呈现。

示例1

## 数据特征分析
- 数据结构概述
  - 维度:日期(MM-DD),指标:完成任务数(整数)
  - 记录数:4(10-01 至 10-04,连续四天)
- 数据类型识别
  - 日期:有序时间维度(同一月份内的顺序字符串)
  - 完成任务数:数值型(正整数)
- 数据质量评估
  - 完整性:无缺失值、无重复日期
  - 一致性:日期连续;末行原始文本含中文分号已清理
  - 异常值检测(基于IQR的数值级别):未检测到数值层面离群点;变动幅度层面存在较大日内变化(+7、-6)

## 图表类型推荐
- 推荐图表类型及理由
  - 折线图(单序列):最适合展示时间序列的连续变化与趋势
- 适用性分析
  - 数据点少但连续,折线能直观呈现每日日内涨跌
  - 可在点位上叠加标注,以满足“自动标注上升/下降趋势及异常点、峰值标签”的需求
- 预期展示效果
  - 一条主线显示每日任务完成数
  - 在每个相邻日期的点位上自动标注“↑/↓ +差值”
  - 对显著变动(绝对变化≥5)加圈标记为“异常变化”
  - 对关键峰值(最大值)显示醒目标注

## 图表设计方案
- 图表样式描述
  - 紧凑布局:小型画布、紧致边距、轻网格,仅Y轴网格线
  - 线条:中等粗细,圆形数据点
  - 趋势标注:在每个点位旁标注“↑/↓ 差值”,颜色区分上升/下降
  - 异常变化:对绝对变化≥5的点位加轮廓圈并文字“异常变化”
  - 峰值标签:对最大值点显示“峰值 x”
- 颜色方案说明
  - 主线与点:蓝色 #2F7CF6
  - 上升标注:绿色 #36B37E
  - 下降标注:红色 #FF5630
  - 辅助元素:浅灰标签背景 #EAEAEA、淡灰网格线
- 标签和标题设置
  - 标题:每日完成任务数(10月)
  - X轴:日期(10-01 至 10-04)
  - Y轴:任务数(从0起,以避免误导)
  - 高亮标签:10-03 峰值 15

## 生成图表
- 图表可视化展示
  - 说明:下述代码将生成紧凑型折线图,自动标注每日涨跌,圈出显著变化点(绝对变化≥5),并标注峰值15(10-03)。

- 技术实现说明
  - 趋势标注:对相邻两日计算差值 diff = y[i] - y[i-1],在第i个点位显示“↑ |↓ +abs(diff)”
  - 异常点定义(变化层面):|diff| ≥ 5 视为“异常变化”,以圈点+文字标记
  - 数值离群检测(整体水平):使用IQR法评估,当前数据无数值离群点(仅标注变化异常以避免误导)
  - 轴设计:Y轴从0开始,最大值上方留白以便标签不与图形重叠
  - 布局:紧凑尺寸、移除顶部/右侧边框、轻网格提升读数性

- 代码示例(Python/Matplotlib)
```python
import matplotlib.pyplot as plt
import numpy as np

dates = ["10-01","10-02","10-03","10-04"]
values = [12, 8, 15, 9]

# 计算日内变化
diffs = [None] + [values[i] - values[i-1] for i in range(1, len(values))]

fig, ax = plt.subplots(figsize=(6, 3))
ax.plot(dates, values, color="#2F7CF6", linewidth=2, marker="o", markersize=4)

# 轴与网格
ax.set_ylim(0, max(values) + 3)
ax.set_ylabel("任务数", fontsize=9)
ax.set_xlabel("日期", fontsize=9)
ax.set_title("每日完成任务数(10月)", fontsize=11, pad=6)
ax.grid(True, axis='y', linestyle='--', alpha=0.25)
for spine in ["top", "right"]:
    ax.spines[spine].set_visible(False)

# 标注每日涨跌与异常变化
for i in range(1, len(values)):
    diff = diffs[i]
    up = diff > 0
    color = "#36B37E" if up else "#FF5630"
    # 趋势标注(箭头+差值)
    ax.annotate(f"{'↑' if up else '↓'} {abs(diff)}",
                xy=(i, values[i]),
                xytext=(0, -14 if up else 14),
                textcoords="offset points",
                color=color, fontsize=9, ha="center")
    # 异常变化标记(绝对变化≥5)
    if abs(diff) >= 5:
        ax.scatter(i, values[i], s=48, facecolors='none', edgecolors=color, linewidths=1.5)
        ax.annotate("异常变化",
                    xy=(i, values[i]), xytext=(0, 18),
                    textcoords="offset points", color=color, fontsize=8, ha="center")

# 峰值标签
peak_idx = int(np.argmax(values))
ax.annotate(f"峰值 {values[peak_idx]}",
            xy=(peak_idx, values[peak_idx]),
            xytext=(0, -24),
            textcoords="offset points",
            bbox=dict(boxstyle="round,pad=0.2", fc="#EAEAEA", ec="none"),
            fontsize=9, ha="center")

plt.tight_layout()
plt.savefig("tasks_line_compact.png", dpi=150, bbox_inches="tight")
plt.show()
```

- 代码示例(网页嵌入/ECharts)
```html
<div id="tasksChart" style="width:600px;height:260px;"></div>
<script src="https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js"></script>
<script>
const data = [
  {date:"10-01", val:12},
  {date:"10-02", val:8},
  {date:"10-03", val:15},
  {date:"10-04", val:9},
];
const diffs = data.map((d,i)=> i===0 ? null : d.val - data[i-1].val);

const chart = echarts.init(document.getElementById('tasksChart'));
const option = {
  title: { text: '每日完成任务数(10月)', left: 'center', textStyle:{fontSize:12} },
  grid: { left: 40, right: 20, top: 40, bottom: 30 },
  xAxis: { type: 'category', data: data.map(d=>d.date), axisLabel:{fontSize:10} },
  yAxis: { type: 'value', min: 0, axisLabel:{fontSize:10}, splitLine:{lineStyle:{type:'dashed', opacity:0.3}} },
  series: [{
    type: 'line',
    data: data.map(d=>d.val),
    smooth: false,
    symbolSize: 6,
    lineStyle: { width: 2, color: '#2F7CF6' },
    itemStyle: { color: '#2F7CF6' },
    label: {
      show: true,
      position: 'top',
      fontSize: 10,
      formatter: (params)=>{
        const i = params.dataIndex;
        if(i===0) return '';
        const diff = diffs[i];
        const arrow = diff>0 ? '↑' : '↓';
        return `${arrow} ${Math.abs(diff)}`;
      },
      color: (params)=>{
        const i = params.dataIndex;
        if(i===0) return '#666';
        return diffs[i]>0 ? '#36B37E' : '#FF5630';
      }
    },
    markPoint: {
      symbolSize: 46,
      label: { fontSize: 10 },
      data: [
        // 峰值
        { type: 'max', name: '峰值' },
        // 异常变化(绝对变化≥5)
        ...data.map((d,i)=>{
          if(i===0) return null;
          const diff = diffs[i];
          if(Math.abs(diff) >= 5) {
            return { name: '异常变化', coord: [data[i].date, data[i].val], value: d.val };
          }
          return null;
        }).filter(Boolean)
      ]
    }
  }]
};
chart.setOption(option);
</script>
```

## 数据分析见解
- 关键数据趋势
  - 峰值:10-03 达到 15(全周最高)
  - 最低:10-02 为 8
  - 日内变化:10-02 较 10-01 下降 4;10-03 较 10-02 上升 7;10-04 较 10-03 下降 6
- 重要发现说明
  - 变化层面异常(绝对变化≥5):10-03 的大幅上升(+7)与 10-04 的明显回落(-6)需关注潜在的任务分配或外部因素影响
  - 整体数值层面未检出离群点(按IQR),波动主要体现在相邻日的变化幅度
- 业务意义解读
  - 高峰(10-03)可能对应资源集中投入或任务批量完成的节点,可复盘成功因素
  - 大幅波动提示资源/排期的不稳定性,建议查看任务来源与团队排班,优化节奏与平衡负荷

- 可嵌入周报的简短说明文字
  - 本周每日完成任务数在 10-03 达到峰值 15(较前一日 +7),随后 10-04 回落至 9(-6)。整体波动较大,建议复盘 10-03 的有效做法并关注 10-04 的回落原因,以平衡后续任务节奏。

示例2

## 数据特征分析
- 数据结构概述
  - 维度字段:渠道(分类)
  - 指标字段:曝光(数量,整数)、点击(数量,整数)、转化率(比例,百分比)
  - 数据样本量:3 行 × 4 列(渠道A/B/C)
- 数据类型识别
  - 渠道:分类型
  - 曝光、点击:数值型(非负整数)
  - 转化率:百分比型(0–100%)
- 数据质量评估
  - 一致性:转化率与点击/曝光一致(A=120/1000=12%,B=96/800=12%,C=30/500=6%)
  - 缺失/异常:无缺失;发现“6%;”含全角分号,已规范化为“6%”
  - 取值范围:合理,均为非负,比例在0–100%内

## 图表类型推荐
- 推荐图表类型及理由
  - 柱状图 + 折线图(以柱状为主的混合图)
  - 理由:柱状图直观对比各渠道的曝光与点击规模;折线叠加转化率,更好地“突出占比与变化”,避免比例信息被数量级掩盖
- 适用性分析
  - 维度少、对比强、需要同时呈现规模与比例的业务场景,混合图优于单一柱状或单一折线
- 预期展示效果
  - 双Y轴:左轴显示数量(曝光/点击),右轴显示转化率(%),两轴均从0开始
  - 在每个渠道处并列两根柱(曝光、点击),折线上方显示“转化率”数据标签(百分比)

## 图表设计方案
- 图表样式描述
  - 结构:类别轴为渠道A/B/C;两组柱(曝光、点击)+ 一条折线(转化率)
  - 坐标轴:左轴“数量”0起点;右轴“转化率”0%起点并留有10–15%的头部空间
  - 参考线:转化率平均值虚线,辅助对比变化
- 颜色方案说明
  - 曝光:#4e79a7(蓝)——主规模指标
  - 点击:#59a14f(绿)——转化前关键行为
  - 转化率:#f28e2b(橙)折线与点标记,以对比突出比例变化
  - 网格与背景:白底、浅灰分隔线,保证可读性
- 标签和标题设置
  - 标题:各渠道曝光/点击与转化率对比
  - 副标题:Y轴从0开始;转化率显示数据标签
  - 轴标题:左轴=数量,右轴=转化率(%);X轴=渠道
  - 图例:曝光、点击、转化率
  - 数据标签:仅对“转化率”开启百分比标签,避免过多文字拥挤

## 生成图表
- 图表可视化展示
  - 说明:以下为 ECharts 5 配置,直接在支持 ECharts 的页面中使用即可渲染

- 技术实现说明
  - 双Y轴设置:yAxis[0](数量)与 yAxis[1](转化率)均从0开始;右轴设置到约15%以留白
  - 转化率数据以小数传入(0.12),通过 formatter 显示为百分比
  - 标注平均转化率(约10%)的虚线以强调差异

```js
const option = {
  backgroundColor: '#ffffff',
  title: {
    text: '各渠道曝光/点击与转化率对比',
    subtext: 'Y轴从0开始;转化率显示数据标签',
    left: 'center'
  },
  grid: { top: 80, right: 72, bottom: 48, left: 64 },
  legend: { top: 36, data: ['曝光', '点击', '转化率'] },
  tooltip: {
    trigger: 'axis',
    axisPointer: { type: 'shadow' },
    formatter: (params) => {
      const name = params[0].axisValue;
      const lines = [name];
      params.forEach(p => {
        if (p.seriesName === '转化率') {
          lines.push(`${p.marker}${p.seriesName}: ${(p.data * 100).toFixed(0)}%`);
        } else {
          lines.push(`${p.marker}${p.seriesName}: ${p.data}`);
        }
      });
      return lines.join('<br/>');
    }
  },
  xAxis: {
    type: 'category',
    data: ['渠道A', '渠道B', '渠道C'],
    axisTick: { alignWithLabel: true }
  },
  yAxis: [
    {
      type: 'value',
      name: '数量',
      min: 0,
      splitLine: { show: true }
    },
    {
      type: 'value',
      name: '转化率',
      min: 0,
      max: 0.15, // 留白到15%,确保从0开始且不拥挤
      axisLabel: {
        formatter: (value) => `${(value * 100).toFixed(0)}%`
      },
      splitLine: { show: true }
    }
  ],
  series: [
    {
      name: '曝光',
      type: 'bar',
      yAxisIndex: 0,
      data: [1000, 800, 500],
      barWidth: 28,
      itemStyle: { color: '#4e79a7' }
    },
    {
      name: '点击',
      type: 'bar',
      yAxisIndex: 0,
      data: [120, 96, 30],
      barWidth: 28,
      itemStyle: { color: '#59a14f' }
    },
    {
      name: '转化率',
      type: 'line',
      yAxisIndex: 1,
      data: [0.12, 0.12, 0.06],
      smooth: false,
      symbol: 'circle',
      symbolSize: 8,
      lineStyle: { width: 2, color: '#f28e2b' },
      itemStyle: { color: '#f28e2b' },
      label: {
        show: true,
        position: 'top',
        formatter: (p) => `${(p.value * 100).toFixed(0)}%`
      },
      markLine: {
        symbol: 'none',
        lineStyle: { type: 'dashed', color: '#f28e2b', opacity: 0.5 },
        label: { formatter: '平均: 10%' },
        data: [{ yAxis: 0.10 }]
      }
    }
  ]
};
```

使用方法:
- 将上述 option 赋给 echartsInstance.setOption(option)
- 若需导出图片,可用 chart.getDataURL({ type: 'png' }) 生成PNG

## 数据分析见解
- 关键数据趋势
  - 曝光与点击规模:A(1000/120) > B(800/96) > C(500/30)
  - 转化率:A=12%,B=12%,C=6%,C较A/B低一半
- 重要发现说明
  - A与B的转化水平相当且相对较优;C在同等漏斗环节下转化显著偏低
  - 平均转化率约10%,C低于均值4个百分点,A/B高于均值2个百分点
- 业务意义解读
  - 资源配置:在短期预算不变的情况下,优先加大A/B的曝光投放更可能带来确定性增量
  - 优化建议:针对C排查流量质量与落地页/路径(素材匹配度、加载速度、表单复杂度等),必要时降低C投放或进行A/B测试验证策略

团队对齐的简短结论:
- A/B渠道转化率均为12%表现稳定,C为6%偏低;建议资源优先投向A/B,同时对C进行定向优化或阶段性降投。

示例3

## 数据特征分析
- 数据结构概述
  - 维度:指标(分类); 指标值(数值)
  - 记录数:3(曝光、点击、转化)
  - 合计:13,920
- 数据类型识别
  - 指标:分类型
  - 数值:非负整数
- 数据质量评估
  - 清洗:原始数据末尾含全角分号“;”,已视作无效分隔符,不影响解析
  - 一致性:无缺失、无负值、无重复项
  - 语义提示:三项为漏斗阶段指标(非同一整体),使用饼图展示占比可能引发理解偏差,将在标题与说明中提示

## 图表类型推荐
- 推荐图表类型及理由
  - 按用户指定:饼图(优化为环形饼图),用于展示三项在合计中的占比
- 适用性分析
  - 优点:直观体现各指标在总量中的比例关系;便于演示与分享
  - 风险:漏斗型序列指标不严格构成“同一整体”,占比仅供对比参考
- 预期展示效果
  - 曝光占比最大,点击与转化占比依次递减;悬浮提示与标签同时显示数值与百分比;右侧图例便于阅读

## 图表设计方案
- 图表样式描述
  - 类型:环形饼图(起始角度90°,避免重叠,外部标签)
  - 布局:图例靠右垂直排列,饼图居左偏中以留出图例空间;中心展示总量
  - 可访问性:开启ARIA描述;启用导出按钮便于分享
- 颜色方案说明
  - 品牌主色(曝光):#1A73E8
  - 品牌辅色(点击):#FFB300
  - 补充色(转化,主色浅化):#AECBFA
  - 说明:蓝-橙高对比,第三色为主色浅化,保证风格统一与可读性
- 标签和标题设置
  - 标题:曝光-点击-转化占比(环形图)
  - 副标题:注意:指标为不同阶段,不构成同一整体
  - 标签格式:名称 数值(千分位)|占比%
  - 图例:靠右,图例项显示“名称 数值|占比%”
  - 中心文字:总量 13,920

## 生成图表
- 图表可视化展示
```html
<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width,initial-scale=1" />
  <title>曝光-点击-转化占比(环形图)</title>
  <style>
    html, body { margin: 0; padding: 0; background: #fff; }
    #chart { width: 100%; height: 420px; }
  </style>
</head>
<body>
  <div id="chart"></div>
  <script src="https://cdn.jsdelivr.net/npm/echarts@5/dist/echarts.min.js"></script>
  <script>
    const data = [
      { name: '曝光', value: 12000 },
      { name: '点击', value: 1800 },
      { name: '转化', value: 120 }
    ];
    const total = data.reduce((s, d) => s + d.value, 0);
    const chart = echarts.init(document.getElementById('chart'));
    const option = {
      backgroundColor: '#FFFFFF',
      aria: { enabled: true },
      title: {
        text: '曝光-点击-转化占比(环形图)',
        subtext: '注意:指标为不同阶段,不构成同一整体',
        left: 'center',
        top: 8,
        textStyle: { fontSize: 16, fontWeight: 600 },
        subtextStyle: { fontSize: 12, color: '#666' }
      },
      color: ['#1A73E8', '#FFB300', '#AECBFA'],
      tooltip: {
        trigger: 'item',
        borderWidth: 0,
        backgroundColor: 'rgba(50,50,50,0.9)',
        textStyle: { color: '#fff' },
        formatter: (p) => {
          const pct = ((p.value / total) * 100).toFixed(1);
          return `${p.name}<br/>数值:${p.value.toLocaleString('zh-CN')}<br/>占比:${pct}%`;
        }
      },
      legend: {
        orient: 'vertical',
        right: 10,
        top: 'middle',
        icon: 'circle',
        itemGap: 10,
        formatter: (name) => {
          const item = data.find(d => d.name === name) || { value: 0 };
          const pct = total ? ((item.value / total) * 100).toFixed(1) : '0.0';
          return `${name}  ${item.value.toLocaleString('zh-CN')}|${pct}%`;
        },
        textStyle: { color: '#333' }
      },
      toolbox: {
        right: 10,
        bottom: 10,
        feature: { saveAsImage: { title: '导出PNG', pixelRatio: 2 } }
      },
      series: [{
        name: '占比',
        type: 'pie',
        radius: ['55%', '75%'],
        center: ['45%', '55%'],
        startAngle: 90,
        avoidLabelOverlap: true,
        selectedMode: false,
        label: {
          show: true,
          color: '#333',
          fontSize: 12,
          formatter: (p) => {
            const pct = ((p.value / total) * 100).toFixed(1);
            return `${p.name} ${p.value.toLocaleString('zh-CN')}|${pct}%`;
          }
        },
        labelLine: { length: 12, length2: 8, smooth: false },
        emphasis: { scale: true, scaleSize: 6 },
        data
      }],
      graphic: [{
        type: 'text',
        left: '45%',
        top: '55%',
        style: {
          text: `总量\n${total.toLocaleString('zh-CN')}`,
          textAlign: 'center',
          fill: '#333',
          fontSize: 14,
          fontWeight: 'bold'
        }
      }]
    };
    chart.setOption(option);
    window.addEventListener('resize', () => chart.resize());
  </script>
</body>
</html>
```
- 技术实现说明
  - 使用 ECharts 5,HTML 容器自适应宽度以适配演示与分享场景
  - 右下角工具箱支持一键导出PNG(高分辨率)
  - 标签、图例与提示框均显示数值(千分位)与占比;中心文本显示总量
  - 可将导出的PNG直接插入PPT/文档;或将上述HTML嵌入网页/知识库进行在线分享

## 数据分析见解
- 关键数据趋势
  - 占比分布:曝光 86.2%,点击 12.9%,转化 0.9%(合计 13,920)
  - CTR(点击/曝光):15.0%(1,800 / 12,000)
  - CVR(转化/点击):6.7%(120 / 1,800);整体转化率(转化/曝光):1.0%
- 重要发现说明
  - 曝光占绝对多数,转化占比很小,漏斗呈明显收缩趋势
- 业务意义解读(简要)
  - 若目标是优化转化,优先从点击到转化环节(6.7%)入手,如提升落地页相关性与加载速度;同时保持优质曝光以维持足够的漏斗上游流量
  - 说明:当前图表用于占比对比;若需呈现阶段转化关系,建议补充漏斗图/桑基图以避免误解

适用用户

数据分析师

把表格数据快速转成多种图表,自动标注趋势与异常,缩短周报制作时间,并生成可直接嵌入报告的说明文字。

运营经理

一键生成渠道对比、用户留存与转化曲线,直观看到占比与变化,用于优化投放与活动复盘,迅速对齐团队。

市场与品牌负责人

用品牌色模板生成活动成效图,清晰呈现曝光、点击与转化,支持演示现场展示与分享,提升沟通效率。

解决的问题

面向数据分析、业务汇报、运营复盘与学术展示,快速把原始数据转化为“好看、好懂、可信”的图表与洞察;自动识别数据特征并匹配最优图表类型,减少试错与返工;支持品牌化定制(颜色、标签、布局、尺寸),直接生成可投放到报告和仪表盘的成品;以洞察为核心,突出趋势、异常与关键指标,助力讲清业务故事与研究结论;通过规范化流程降低误读与视觉偏差,提升可信度与专业感;促使用户即刻试用,形成高频使用场景,并在需求升级时转为付费以解锁高级主题、批量生成与团队协作等能力。

特征总结

一键把原始数据生成柱、线、饼、面积图,快速得到可读可分享的可视化
自动识别数据特征并推荐更合适的图表类型,避免误选导致信息失真
内置专业配色与布局规则,自动优化标签与比例,让图表更清晰耐看
按需定制主题、尺寸与说明文案,适配报告、仪表盘与演示现场,多终端一致
分步式流程从解析到生成与解释,全程可追溯,结果可靠易于团队协作
自动提炼关键趋势与异常点,附带业务解读,让数据故事即刻可用落地
支持批量生成与模板复用,常见报表一键调用,周月度输出省时省心
遵循可视化伦理与呈现规范,避免误导视觉效果,保障数据可信合规可分享
支持多场景输出格式与分辨率,适配PPT、网页与打印,视觉一致

如何使用购买的提示词模板

1. 直接在外部 Chat 应用中使用

将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。

2. 发布为 API 接口调用

把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。

3. 在 MCP Client 中配置使用

在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。

¥20.00元
平台提供免费试用机制,
确保效果符合预期,再付费购买!

您购买后可以获得什么

获得完整提示词模板
- 共 819 tokens
- 3 个可调节参数
{ 数据集 } { 图表类型 } { 定制需求 }
自动加入"我的提示词库"
- 获得提示词优化器支持
- 版本化管理支持
获得社区共享的应用案例
限时免费

不要错过!

免费获取高级提示词-优惠即将到期

17
:
23
小时
:
59
分钟
:
59