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

为时间序列自定义Gnuplot X2轴年龄标签

在Gnuplot中为X2轴设置对应年龄标签

研究对象出生于1988-04-20,需要在图表的X2轴上显示其整数年龄,具体对应关系如下:

X2轴标签对应X1轴日期
"18"2006-04-20
"19"2007-04-20
"20"2008-04-20
"21"2009-04-20

原Gnuplot脚本

reset session;

$Data <<EOD
2006-03-24 150
2007-01-12 147
2007-11-12 149
2007-11-15 142
2008-03-29 166
2008-12-16 173
2009-05-06 170
EOD

birth_date  = "1988-04-20";

set xdata   time;
set timefmt "%Y-%m-%d";
set xtics   format "%Y-\n%m";
set x2label "Age";
set ylabel  "Weight (lbs.)";

plot $Data using 1:2;

修改后的脚本(实现X2轴年龄标签)

reset session;

$Data <<EOD
2006-03-24 150
2007-01-12 147
2007-11-12 149
2007-11-15 142
2008-03-29 166
2008-12-16 173
2009-05-06 170
EOD

birth_date  = "1988-04-20";

set xdata   time;
set timefmt "%Y-%m-%d";
set xtics   format "%Y-\n%m";
set x2label "年龄";
set ylabel  "体重(磅)";

# 启用X2轴时间数据格式,手动绑定年龄标签与对应日期
set x2data time
set x2tics ("18" timefmt("%Y-%m-%d", "2006-04-20"), \
            "19" timefmt("%Y-%m-%d", "2007-04-20"), \
            "20" timefmt("%Y-%m-%d", "2008-04-20"), \
            "21" timefmt("%Y-%m-%d", "2009-04-20"))

plot $Data using 1:2;

关键说明

  • 通过set x2data time让X2轴沿用X1轴的时间解析规则,保证日期匹配一致
  • 用set x2tics直接指定每个年龄标签对应的日期位置,timefmt()函数负责将字符串日期转换为Gnuplot可识别的时间值
  • 同步将标签文本替换为中文,适配中文使用场景

内容的提问来源于stack exchange,提问作者William R. Greene -- 'Bill'

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 13:42:16