news 2026/9/2 22:27:32

将班上一系列同学的考试成绩一键转换成柱状图

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
将班上一系列同学的考试成绩一键转换成柱状图

成都地区的中考内卷程度是全国出了名的。孩子升上初中后,周考和月考增加,很多家长每次考完试后,都关注自己孩子在班上优生中的成绩排名。

老师把成绩单发布到群之后,假设家长拿到的是这样的文本数据:

title:英语单元过关单 郝宇:80 汪子熙:90 赵轩:80 王程:90 余星:93 张宇:89

家长希望根据上面的数据自动生成一张柱状图,X 轴是学生姓名,Y 轴是学生成绩。

在过去这个需求可以轻易在 Excel 里实现,不过需要若干次鼠标的点击。

AI 工具普及之后,我们当然也可以把上面的数据,发给大模型,然后编写一些提示词,让大模型生成柱状图。

这种方式理论上可行,但是存在两个弊端:

  • 每次使用都需要编写提示词,浪费时间
  • 更大的问题是,大语言模型完成这种柱状图生成任务时仍然存在幻觉,会出现生成的图表数据紊乱的情况

更高效准确的做法当然是使用扣子工作流。

笔者已经开发了一个这样的工作流,源代码下载链接:

使用方法也很简单,输入数据:

title:英语单元过关单 郝宇:80 汪子熙:90 赵轩:80 王程:90 余星:93 张宇:89

点击试运行按钮:

最后生成的柱状图图片链接如下:

下面是这个工作流详细的拆解。

首先是信息提取节点,这个节点的职责,是将用户输入的以换行符号分隔的每个学生的姓名和成绩做处理,让它们成为柱状图生成节点所能接收的数据输入格式。

这个节点不需要写代码实现这些格式处理,用大模型来处理就足够了。大模型类型还是选择豆包·1.5

系统提示词:

用户输入的内容为字符串,每一行都是形如A:B的字符串,通过换行符号区分行与行。 第一行的A固定为 title,B为 title 的值。 从第二行开始,每一行的A代表学生姓名,B代表学生成绩。 请你将第一行的 title 值提取出来,存储到输出变量 title 中。 从第二行开始的学生姓名,按照顺序插入到输出变量 names 中。 输出变量 names 的初始值是 "[]". 假设第一个插入的学生姓名是 A,插入之后,names 的值变成了 "["A"]", 再插入第二个值 B,names 的值就是 "["A", "B"]", 以此类推。 从第二行开始的学生成绩,按照顺序插入到输出变量 scores 中。 输出变量 scores 的初始值是 "[]". 假设第一个插入的学生成绩是 89,插入之后,scores 的值变成了 "[89]", 再插入第二个值 100,scores 的值就是 "[89, 100]", 以此类推。

用户提示词:

定义三个输出变量:

  • title:存放柱状图图片
  • names:字符串,存放所有的学生姓名,像这种格式:[“张三”,“李三”,“王二”]。为什么要这种格式?因为后面的柱状图生成节点需要这种格式。
  • scores:字符串,存放所有的学生成绩,像这种格式:[98,100,99]。

看一个输出的例子:

接下来我们选择添加节点->插件

搜索栏里输入关键字图表,然后搜索结果里看到图表大师这个插件:

单击,选择下面的子类bar_charts,再点击添加即可。

点击查看示例,可以看到这个插件接收的输入参数的格式

因为我们第一个信息提取的节点,只提取了全部的学生姓名和成绩,格式和这个柱状图生成节点需要的输入格式有差异,因此我们再使用一个代码节点,进行格式转换操作。

新建一个代码节点,定义namesscores两个输入参数,绑定到前一个名叫信息提取的大模型节点的同名输出参数上。

这个代码节点的输出参数定义,其实就是比照着柱状图生成节点需要的输入参数的格式来定的:

代码:

// 在这里,您可以通过 'params' 获取节点中的输入变量,并通过 'ret' 输出结果// 'params' 已经被正确地注入到环境中// 下面是一个示例,获取节点输入中参数名为'input'的值:// const input = params.input;// 下面是一个示例,输出一个包含多种数据类型的 'ret' 对象:// const ret = { "name": '小明', "hobbies": ["看书", "旅游"] };asyncfunctionmain({params}:Args):Promise<Output>{// 构建输出对象constret={"data":params.scores,"legend":1,"xAxis":{"data":params.names,"name":"姓名","type":"category"},"yAxis":{// 输出一个Object"name":"分数","type":"value"},};returnret;}

下面是这个代码节点的一个输出例子:

图表生成

最后使用刚刚添加的图表生成的节点,完成柱状图的生成。这个节点的输入参数我们不用手动定义,直接将它们逐一绑定到前一个代码节点的同名输出参数即可。

该节点的输出参数是生成柱状图的 url.

至此这个工作流就拆解完毕了,希望对大家有用。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/28 4:01:43

Llama Factory实战:如何微调一个聊天机器人

Llama Factory实战&#xff1a;如何微调一个聊天机器人 如果你是一名开发者&#xff0c;想为自己的应用添加智能对话功能&#xff0c;但又缺乏相关经验&#xff0c;这篇文章就是为你准备的。我将带你使用Llama Factory这个强大的工具&#xff0c;快速上手微调一个聊天机器人&am…

作者头像 李华
网站建设 2026/9/1 14:48:25

云端炼丹新姿势:Llama Factory+预置镜像的完美组合

云端炼丹新姿势&#xff1a;Llama Factory预置镜像的完美组合 作为一名AI研究员&#xff0c;你是否经常被这样的问题困扰&#xff1a;每次测试不同参数对模型效果的影响时&#xff0c;都要重新配置环境&#xff0c;浪费大量时间&#xff1f;今天我要分享的Llama Factory预置镜…

作者头像 李华
网站建设 2026/8/29 5:33:10

开发效率革命:用AI快速掌握数据库差异

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 请创建一个交互式学习模块&#xff0c;帮助开发者在30分钟内掌握PostgreSQL和MySQL的核心区别。要求包含&#xff1a;1) 关键差异速查表 2) 语法差异对照练习 3) 常见报错解决方案…

作者头像 李华
网站建设 2026/9/2 21:35:37

快速验证:使用Windows Server 2019构建测试环境的5种方法

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个快速环境搭建工具&#xff0c;支持&#xff1a;1)自动下载Windows Server 2019评估版&#xff1b;2)生成Hyper-V/VirtualBox/VMware虚拟机配置&#xff1b;3)创建Docker基…

作者头像 李华
网站建设 2026/9/2 20:00:05

ZETORA:AI如何革新你的编程工作流

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个基于ZETORA的AI辅助开发工具&#xff0c;能够根据自然语言描述自动生成代码片段&#xff0c;支持多种编程语言&#xff0c;包括Python、JavaScript和Java。工具应具备代码…

作者头像 李华
网站建设 2026/8/29 7:27:19

中文OCR识别秘籍:如何用CRNN提升90%准确率

中文OCR识别秘籍&#xff1a;如何用CRNN提升90%准确率 &#x1f4d6; 技术背景&#xff1a;OCR文字识别的挑战与突破 光学字符识别&#xff08;OCR&#xff09;作为连接图像与文本的关键技术&#xff0c;广泛应用于文档数字化、票据识别、车牌读取、手写体转录等场景。然而&a…

作者头像 李华