我刚开始使用 gnuplot,但在使用“时间”作为 x 变量时遇到了问题。我已经尝试了很多事情,但我无法做到正确。我的数据看起来像
#
10-05-2013 1-52-56, 425,"lvl"
10-05-2013 1-52-57, 425,"lvl"
10-05-2013 1-52-58, 433,"lvl"
10-05-2013 1-52-59, 433,"lvl"
我想将值(425 等)绘制为 y 并将日期/时间绘制为 x(此日期/时间示例使用以 1 开头的日期(例如上午 1 点)而不是 01 但同样的问题发生在时间为例如 19小时)。所以 1-52-56 表示 1 小时 52 分 56 秒。
这是我使用的脚本的一部分(数据集是“即时”构建的):
# maak een lege plot zodat je verderop replot kunt gebruiken
load "gnuvars.txt"
set xrange [0:1]
set yrange [0:1]
set xtics rotate
set xtics font "0,9"
#set terminal wxt size 1000,700
#set terminal windows size 1150,830
set terminal windows size 1150,500
set terminal windows position 1,1
plot 1/0 notitle
# zet eerst een lege commentaarregel in ylsecout.txt
# in deze file komen de uiteindel te plotten waarden te staan
system ("echo # > d:\\curl\\ylsecout.txt")
# maak een loopje over een (nu nog van tevoren bepaald) aantal iteraties
do for [i=0:nr_its]{
#
#lees na een aantal seconden de youless 1x uit en zet dat in het bestand ylsec.txt
system ("timeout /T 1")
system ("d:\\curl\\curl -c d:\\curl\\cookie.txt 192.168.178.14/L?w=password")
system ("d:\\curl\\curl -b d:\\curl\\cookie.txt 192.168.178.14/a?f=j -s -S > d:\\curl\\ylsec.txt")
#system ("echo. \>\>d:\\curl\\ylsec.txt")
#lees datum, tijd uit en maak een plotbare datafile ylsecout.txt
system ("call d:\\curl\\maakplotdata")
# en maak een replot
set title 'Meetwaarden Youless versus tijd'
#set xlabel 'Time/s'
#set ylabel 'waarden'
set grid xtics
set autoscale
set xdata time
set timefmt "%d-%m-%Y %H-%M-%S"
set datafile separator ","
replot 'ylsecout.txt' using 1:2 notitle with lines lw 3 lt rgb "red"
}
我合并了整个代码,因为也许我事先写了一些东西弄乱了图表,但我认为问题出在:
set xdata time
set timefmt "%d-%m-%Y %H-%M-%S"
我得到的情节只使用包含分钟和秒的标签,而不是小时甚至日期。我做错了。有人可以看看它并告诉我我做错了吗?
谢谢!