Dify工作流中实现零代码数据可视化,需安装“ECharts图表生成工具”和“文档提取器”插件,按开始→文档提取器→LLM→参数提取器→条件分支→ECharts图表→回复顺序搭建Chatflow,配置表格结构识别与合规JSON输出,支持静态、动态及预览三种图表渲染方式。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

在Dify工作流中实现数据可视化图表生成,需让系统自动解析用户上传的Excel/CSV文件、理解自然语言查询意图、提取结构化参数,并最终渲染出可交互的ECharts图表——整个过程不写一行前端代码,也不手动调用JavaScript库。
安装必要插件并验证可用性
登录Dify控制台,进入目标项目编辑页,点击左侧「插件市场」→ 搜索“echarts图表生成工具”→ 点击安装官方认证插件;同时搜索“文档提取器”并安装。
安装完成后,返回项目画布,确认左侧组件面板中已出现“ECharts图表”和“文档提取器”两个分类。若未显示,请刷新页面或检查插件状态——【未安装文档提取器将导致LLM完全无法读取表格内容,后续所有分析均基于空字符串运行】。
搭建Chatflow工作流主干
点击「新建应用」→ 选择「Chatflow」模板→ 命名为“智能图表助手”。
在画布中按顺序拖入以下节点:开始节点 → 文档提取器 → LLM节点 → 参数提取器 → 条件分支节点 → ECharts图表节点 → 回复节点。
注意:文档提取器节点必须紧接在开始节点之后。因为Dify的文件上传功能默认挂载在开始节点上,跳过这一步会导致后续所有分析基于空数据运行。
配置文档提取器以保留表格语义
选中“文档提取器”节点,在右侧配置面板中勾选「启用表格结构识别」和「保留原始行列信息」。
这一步决定了LLM能否准确理解“第3列是销售额”“A1:E100是销售明细表”这类空间语义。不开启结构识别,模型只会看到混乱的纯文本拼接,分析结果将严重失真。
将文档提取器的输出字段「content」连接至下一个LLM节点的输入变量。
设置LLM节点输出合规JSON参数
在LLM节点中,系统提示词(System Prompt)设为:
“你是一个资深数据分析师,仅根据用户上传的表格内容和其自然语言请求进行分析。禁止编造数据、禁止猜测缺失字段含义、禁止输出代码或SQL。所有结论必须基于提取器提供的真实字段名和样例值。”
用户输入提示词(User Prompt)设为:
“请分析以下数据:{{content}}。用户需求是:{{query}}。请用中文分点说明关键发现,并以JSON格式输出图表所需参数,包含chart_type、title、xaxis、series三个必填字段。”
【chart_type必须限定为'line'、'bar'或'pie'三者之一,否则ECharts插件将无法渲染】。
配置ECharts图表节点并绑定数据源
方法一:静态数据对接
选中ECharts图表节点,在右侧配置面板中选择「数据来源」为“静态JSON”,然后将LLM节点输出的JSON直接粘贴进输入框。这一步适合调试阶段快速验证图表是否能正常渲染。
方法二:动态参数映射
切换「数据来源」为“变量映射”,依次将LLM输出中的chart_type、title、xaxis、series字段拖入对应配置项。注意xaxis需为字符串数组,series需为对象数组,格式错误会导致图表空白。
方法三:启用响应式预览
勾选「启用实时预览」后,每次保存配置都会触发一次模拟渲染。如果图表区域显示“数据格式错误”,说明LLM返回的JSON结构不符合ECharts标准,需回溯检查提示词约束是否生效。


















