假设您有一个dat文件,其中包含一些月份您想要绘制的数据...有没有办法告诉gnuplot只绘制最后几周的值,并忽略之前的所有内容?
答案 0 :(得分:1)
是。请参阅gnuplot手册第78页的every
关键字说明:
http://www.gnuplot.info/docs_4.6/gnuplot.pdf
E.g。
plot "data.txt" every ::a:A:b:B
应在数据块a
到b
中绘制数据点A
到B
。
答案 1 :(得分:1)
您可以使用time
函数获取系统时间,从中减去一周(以秒为单位),然后根据set xrange
的要求格式化时间:
sys_time = time(0)
set xdata time
set timefmt '%b %d %Y' # according to the comment
set xdata time
set xrange[strftime('%b %d %Y', sys_time - 7*24*60*60): strftime('%b %d %Y', sys_time)]
....