gpt4 book ai didi

Gnuplot - 仅绘制上周捕获数据的变量 xrange

转载 作者:行者123 更新时间:2023-12-03 22:41:03 25 4
gpt4 key购买 nike

我正在从传感器捕获数据,并将其输出到 .dat 文件中。我想使用 gnuplot 将此信息导出到绘图中,并使其完全自主地仅显示最近 7 天收集的数据(没有对日期进行硬编码,应使用 time() 函数根据系统时间进行调整)

如果我硬编码日期范围,即 set xrange ["07-25-16":"08-25-16"] ,我没有收到任何错误,代码/情节运行顺利。但是,如果我尝试使用 time() 绘制过去 7 天的时间函数函数,我收到以下错误:

line 0: illegal month

这是我从传感器 (output.dat) 收集的数据:
07-21-2015 15:21 0 0 0
07-23-2016 15:21 0 0 0
07-29-2016 15:21 0 1 -1
07-29-2016 15:21 1 1 0
07-29-2016 15:21 2 1 1
07-29-2016 15:21 3 1 2
07-29-2016 15:21 3 2 1
07-29-2016 15:21 4 2 2
07-29-2016 15:21 5 2 3
07-29-2016 15:21 5 3 2
07-29-2016 15:21 5 4 1
07-29-2016 15:21 5 5 0
07-29-2016 15:22 6 5 1
07-29-2016 15:22 6 6 0
07-29-2016 15:23 1 0 1
07-29-2016 15:23 1 1 0

这是我正在运行的代码(注释掉有效的 xrange,替换为我正在尝试实现的代码):
set xdata time
set timefmt "%m-%d-%Y %H:%M"
xstart=strftime("%m-%d-%Y %H:%M", time(0) - 604800)
xend=strftime("%m-%d-%Y %H:%M", time(0))
#set xrange ["07-25-16":"08-25-16"]
set xrange ["xstart" : "xend"]
set format x "%m-%d\n%H:%M"
set title "Sensor Data"
set xlabel "Date\nTime"
set ylabel "Number of Sensor Trips"
plot "output.dat" using 1:4 skip 1 t "Exits" with linespoints, \
"output.dat" using 1:3 skip 1 t "Entrances" with linespoints
set term png
set output "output.png"
replot
set term x11

任何帮助将不胜感激。谢谢!

编辑 1 - Gnuplot 现在在字符串修复后无法正确绘图(从 xrange 中删除 "" 以仅显示: set xrange [xstart:xend] :

wrong image

关于如何修复的任何想法?

最佳答案

如果绘制时间数据,您可以使用与数据文件中相同的格式的时间字符串指定轴范围,但您不能这样做。您可以简单地使用整数:

reset
set xdata time
set timefmt "%m-%d-%Y %H:%M"
set xrange [time(0) - 7*24*60*60:]
set format x "%m-%d\n%H:%M"
set style data linespoints

plot "output.dat" using 1:4 skip 1 t "Exits", \
"" using 1:3 skip 1 t "Entrances"

enter image description here

关于Gnuplot - 仅绘制上周捕获数据的变量 xrange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38704617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com