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

如何在gnuplot蜡烛图指定时间点添加标签并调整偏移?

Gnuplot蜡烛图添加指定标签的解决方案

1. 核心设置:时间轴处理

首先必须告诉gnuplot你的x轴是时间类型,否则无法识别日期字符串:

set xdata time
set timefmt "%Y-%m-%d"  # 匹配数据中的日期格式(和你输入的2020-01-01格式一致)
set format x "%Y-%m"    # x轴显示的日期格式,按需调整

之后指定标签的x坐标时,直接用带引号的日期字符串即可,比如"2020-01-01",gnuplot会自动解析为对应的x轴位置。

2. 添加指定标签及偏移调整

针对你需要的四个点,直接用set label命令添加,通过offset参数控制上下偏移,结合left/right控制水平对齐,避免和蜡烛图重叠:

# 首个开盘价标签:向上偏移,左对齐
set label 1 "首个开盘价: 74.06" at "2020-01-01", 74.06 offset 0, 1 left point pointtype 7 pointsize 1.5

# 最后收盘价标签:向下偏移,右对齐
set label 2 "最后收盘价: 192.53" at "2023-12-01", 192.53 offset 0, -1 right point pointtype 7 pointsize 1.5

# 最低价标签:向下偏移,左对齐
set label 3 "最低价: 53.15" at "2020-03-01", 53.15 offset 0, -1 left point pointtype 7 pointsize 1.5

# 最高价标签:向上偏移,右对齐
set label 4 "最高价: 201.73" at "2023-08-01", 201.73 offset 0, 1 right point pointtype 7 pointsize 1.5
  • offset 0,1:y轴方向向上偏移1个字符单位(正数向上,负数向下)
  • left/right:控制标签文本相对于数据点的水平对齐方向
  • point pointtype 7:给标签添加一个标记点,方便定位(可选,按需去掉)

3. 完整示例代码

假设你的数据文件monthly_kline.csv格式为:日期 开盘 最高 最低 收盘,完整代码如下:

# 基础配置
set xdata time
set timefmt "%Y-%m-%d"
set format x "%Y-%m"
set grid
set title "2020-2023年月度K线图"
set ylabel "价格"
set style fill solid 0.5 border

# 添加四个指定标签
set label 1 "首个开盘价: 74.06" at "2020-01-01", 74.06 offset 0, 1 left point pointtype 7 pointsize 1.5
set label 2 "最后收盘价: 192.53" at "2023-12-01", 192.53 offset 0, -1 right point pointtype 7 pointsize 1.5
set label 3 "最低价: 53.15" at "2020-03-01", 53.15 offset 0, -1 left point pointtype 7 pointsize 1.5
set label 4 "最高价: 201.73" at "2023-08-01", 201.73 offset 0, 1 right point pointtype 7 pointsize 1.5

# 绘制蜡烛图
plot 'monthly_kline.csv' using 1:2:3:4:5 with candlesticks title "月度K线"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 05:55:24