You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Gnuplot在柱状图条形顶部添加数值标签失败求助

问题原因&修正方案

你的代码主要有三处错误导致标签不显示:

  • 绘图参数设置顺序错误:yrange、终端、输出路径这类配置必须放在plot命令之前执行,你之前先绘图再改范围,标签的偏移位置很容易超出初始绘图区域被裁切
  • 标签打印逻辑不全:你只写了打印第二列数据的标签,Case2、Case3对应的数值完全没有配置打印逻辑,而且簇状直方图的每个子条x坐标有固定偏移,不能直接用第一列作为x坐标
  • 绘图风格混用:已经配置了直方图风格,不需要再用with boxes绘制

修正后的可用代码

clear
reset
unset key

$Data <<EOD
Case Case1 Case2 Case3
Value1  33.22   71.62   76.11
Value2  29.82   34.08   28.41
EOD

# 提前配置所有绘图参数
set style data histogram
set style fill solid border
set style histogram clustered gap 1
set yrange [0:100]
set term png
set output "histogram_demo.png"

# 先画所有直方图条,再循环打印每一列的标签,偏移量匹配簇状直方图的默认间距
plot for [COL=2:4] $Data using COL with histogram fill pattern 1, \
     for [COL=2:4] '' using (column(0) + (COL-3)*0.3):(column(COL)+2):(sprintf("%.2f",column(COL))) with labels notitle

你可以调整标签偏移量(column(COL)+2)里的数值控制标签和条形顶部的距离,调整(COL-3)*0.3里的0.3匹配你设置的簇状直方图间距。

内容的提问来源于stack exchange,提问作者user157522

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 04:24:03