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

如何让gnuplot跳过X轴每隔一个的刻度标签?

解决gnuplot日期X轴标签重叠问题

修复"跳过每隔一个标签"的代码错误

你之前的代码报错是因为$0是浮点型变量,gnuplot的%运算符要求操作数为整数。修改后的正确写法如下:

# 保留原有配置,替换plot命令
plot "dates_basic.dat" using 2:xtic(int($0) % 2 == 0 ? $1 : "") with linespoints

这里通过int($0)将行号转换为整数,模2后只在偶数行显示日期标签,奇数行留空,避免标签重叠。

更优的日期轴处理方案

直接将X轴作为时间轴处理,gnuplot会自动优化刻度标签的显示,这是更专业的做法:

  1. 配置时间轴解析规则:
set xdata time
set timefmt "%Y-%m-%d"  # 匹配数据中的日期格式
set format x "%Y-%m-%d" # 设置X轴标签显示格式,可改为"%m/%d"简化显示
  1. 绘制图表:
plot "dates_basic.dat" using 1:2 with linespoints

gnuplot会根据图表宽度自动筛选要显示的日期标签,完全避免重叠。如果需要强制指定刻度间隔,比如每隔2天显示一个标签,可添加:

set xtics 2*24*3600  # 2天对应的秒数

额外优化建议

  • 调整标签角度:使用set xtics rotate by 45让日期标签旋转,减少横向占用空间
  • 调整边距:通过set bmargin适当增加底部边距,避免标签被截断

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 09:35:57