我刚开始使用gnuplot,我将使用“time”作为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 AM)而不是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"
我得到的情节仅使用包含分钟和秒数的标签,但不包括小时数甚至日期。我做不到。有人可以看看它并告诉我我做错了吗?
谢谢!
答案 0 :(得分:2)
我得到的情节只使用包含分钟和分数的标签 秒,但不是几小时甚至是日期。
可以使用set format x '<format>'
更改xtic标签的格式,例如包括使用日期和时间:
set format x '%d/%m - %H:%M:%S'
这些会很长,也许你也想要更好的空间:
set xtics rotate by -45
有关详情,请参阅help time/date
。