gnuplot中无法修改X轴日期格式的技术求助
问题描述
加载CSV数据时无法调整gnuplot的X轴格式,脚本已设置时间格式,但X轴仍显示原始的%d-%m %H:%M:%S样式;即使扩展数据集(包含跨日期数据),数据能按时间正确排序,X轴格式依旧无法修改。
示例文件 min_example.csv
12-03 17:40:54,6 12-03 18:40:54,5 12-03 19:40:54,9
原gnuplot脚本
set datafile separator "," set xdata time set timefmt "%d-%m %H:%M:%S" set format x "%d %H" plot 'min_example.csv' using 1:2:xtic(1)
现象
运行脚本后,X轴仍显示完整的日期时间文本(如12-03 17:40:54),而非设置的%d %H格式。
解决方案
问题根源是plot命令中的:xtic(1)参数——该参数强制用第一列的原始文本作为X轴刻度标签,直接覆盖了set format x的格式设置。
修改后的脚本
删除:xtic(1),让gnuplot自动根据定义的时间格式生成刻度标签:
set datafile separator "," set xdata time set timefmt "%d-%m %H:%M:%S" set format x "%d %H" plot 'min_example.csv' using 1:2
可选优化:手动控制刻度间隔
若需要避免标签重叠,可添加set xtics指定刻度间隔(例如每小时显示一个刻度):
set datafile separator "," set xdata time set timefmt "%d-%m %H:%M:%S" set format x "%d %H" set xtics 3600 # 3600秒=1小时 plot 'min_example.csv' using 1:2
修改后,X轴会按%d %H格式显示(如12 17、12 18),同时保持数据的时间排序逻辑。
内容的提问来源于stack exchange,提问作者barbacoa
相关产品推荐
相关产品推荐

