游乐游手机版
首页/AI热点日报/热点详情

Hermes Agent结合代码解释器,零基础实现复杂数据可视化

类型:热点整理2026-06-16
HermesAgent支持零代码生成中文图表,用户无需编写Python即可自动读取CSV、计算统计指标并生成带中文标题和图例的折线图、散点图或柱状图。需确保代码解释器启用且允许子进程,配置终端工具并验证状态。自然语言指令可生成基础图表,特殊图形需手动注入含`savefig`的Python脚本。需设置中文字体并添加`matplotlib use( Agg )`

Hermes Agent 现已支持零代码生成中文图表——只要准备好数据文件,无需编写任何 Python 代码,即可自动读取 CSV、计算统计指标、生成带有中文标题和图例的折线图、散点图或柱状图,并最终保存为 PNG 格式。这项功能对数据分析初学者和不熟悉编程的用户非常友好,但需要先确保几个关键环节配置到位。

Hermes Agent 结合代码解释器,零基础也能做复杂数据可视化【数据分析】

具体操作流程如下,我们将一步步详细拆解。

确认代码解释器已启用并可执行绘图

这是所有后续操作的前提条件,如果遗漏这一步,后续指令再规范也无法触发图表生成。请首先打开 Hermes Agent 项目根目录下的 cli-config.yaml,检查 tools 配置节点是否包含以下内容:

terminal_tool:
 enabled: true
 allow_subprocess: true
 allowed_commands: ["python", "pip", "ls", "cat"]

其中 allow_subprocess: true 最为关键——若不开启,Matplotlib 等系统级操作(如 savefig)将无法执行,且失败时不会出现明确错误提示,容易消耗大量排查时间。

配置完成后,运行 hermes --status,观察输出中是否包含 terminal_tool: active。若未出现,请重启 Agent 服务:Linux 用户可直接执行 systemctl restart hermes-agent,Windows + WSL 用户则关闭 CLI 窗口后重新打开即可。

用自然语言一句话生成带中文的折线图

这是零代码能力的核心体验——您无需了解 plt.plot() 的具体语法,只需清晰描述需求,Agent 便会自动完成路径补齐、数据加载、字体设置、图片保存等一系列步骤。

首先准备一个标准 CSV 文件,例如 sales_q2.csv,首行列名为 month,revenue,profit,内容均为数值,并将其放置于 Hermes Agent 的工作目录下(例如 ~/hermes-agent/)。

然后在 CLI 中直接输入:
分析sales_q2.csv中的月度营收与利润变化趋势,生成带中文标题和图例的折线图,保存为trend.png

Agent 收到指令后,会自动生成并执行一个临时脚本,核心逻辑包括:
→ 使用 pandas 读取 CSV
→ 设置 plt.rcParams['font.sans-serif'] = ['SimHei', 'DejaVu Sans']
→ 调用 plt.plot(data['month'], data['revenue'], label='营收')plt.plot(data['month'], data['profit'], label='利润')
→ 执行 plt.legend()plt.title('2026年第二季度营收与利润趋势')plt.savefig('trend.png')

【注意:文件名必须包含 .csv 后缀,且不能包含空格或中文路径,否则 pandas 在第一步就会读取失败】

手动注入代码片段实现哑铃图(双年对比)

自然语言描述虽然方便,但遇到一些特殊图表(如哑铃图、小提琴图、分面子图),或者需要复用已有的数组变量时,直接提交 Python 代码反而更加可靠。

方法一:单行注入,适合简单图形
在 CLI 里直接粘贴并回车:
import pandas as pd; import matplotlib.pyplot as plt; df = pd.read_csv("sales_data.csv"); plt.scatter(df["2024"], df["2024"]); plt.xlabel("2024年销售额"); plt.ylabel("2024年销售额"); plt.title("各产品类别两年销售额对比"); plt.savefig("dumbbell.png")

方法二:多行脚本注入(推荐,可避免编码问题)
第一步:使用 hermes edit 打开内置编辑器(或直接新建一个 plot_dumbbell.py
第二步:写入完整脚本(但有一个硬性要求——必须包含 plt.savefig(),否则不会输出文件)
第三步:执行 hermes run plot_dumbbell.py

操作看似简单:只需将文件拖入即可。但需特别留意:脚本中绝对不能出现 plt.show(),否则会导致进程卡死;所有图形必须通过 savefig 落盘才能获取文件。

解决中文乱码与保存失败问题

有时生成的图片标题显示为方块,或者保存的 PNG 为空白——这通常是因为 Matplotlib 未能正确加载中文字体。

首先进入 Hermes Agent 所在的 Python 环境,执行:
python -c "import matplotlib; print(matplotlib.get_cachedir())"

然后找到输出路径下的 fonts/ttf/ 子目录,确认其中包含 simhei.ttfmsyh.ttc。如果缺失,请手动下载一个 SimHei.ttf 放入该目录,再执行 rm -rf ~/.matplotlib/fontlist-*.json 清除缓存。

最后一步同样关键:在任何绘图代码的开头添加两行:

import matplotlib
matplotlib.use('Agg')

【若不添加这两行,许多服务器环境会因缺少 GUI 后端而静默失败,导致问题难以排查】

来源:https://www.php.cn/faq/2653077.html?uid=1503042

相关热点

继续查看同栏目近期热点。

延伸阅读

补充最近整理过的热点入口。