Gnuplot日期处理异常:X轴始终显示01-01-1970的问题排查
问题原因与解决方法
核心问题:未启用时间轴解析
你的脚本缺少关键命令 set xdata time,gnuplot 默认会把X轴数据当作普通数值处理,而非时间格式。日期字符串无法被正确解析为时间戳,最终被识别为0值,对应Unix时间起始点 01-01-1970。
次要问题:plot命令语法错误
原脚本的plot命令写法逻辑错误:
using 1表示以数据行的索引为X轴、第一列数据为Y轴绘制曲线using 2表示以数据行的索引为X轴、第二列数据为Y轴绘制曲线
这导致你实际绘制了两条无关曲线,完全没用到日期列作为X轴。
修正后的完整脚本
set autoscale unset log unset label set xtic auto rotate by -45 set ytic auto set grid xtics ytics set timefmt "%Y-%m-%d" set xdata time # 启用时间轴解析 set decimal locale set title "Everything" set xlabel "Date" set format x "%d-%m-%Y" timedate set format y "%'7.0f" set ylabel "Value" set yr [0:4500000] # 正确指定X轴为日期列,Y轴为数值列 plot "stocks.csv" using 1:2 with lines title ""
内容的提问来源于stack exchange,提问作者Stephen Davies
相关产品推荐
相关产品推荐

