Time 绘制从晚上11点到上午9点的时间数据,返回

Time 绘制从晚上11点到上午9点的时间数据,返回,time,gnuplot,Time,Gnuplot,我有一个文件如下所示: fmp@lila asc-47$ head -n 2 imp 23:22:37 23.3769 240.800 581.300 1.000 1.000 -2.839 -0.360 5.114 2.076 23:23:07 23.3853 240.700 580.300 1.000 1.000 -2.838 -0.358 5.114 2.079 fmp@lila

我有一个文件如下所示:

fmp@lila asc-47$ head -n 2 imp
23:22:37  23.3769   240.800   581.300     1.000     1.000    -2.839    -0.360     5.114     2.076 
23:23:07  23.3853   240.700   580.300     1.000     1.000    -2.838    -0.358     5.114     2.079 
fmp@lila asc-47$ tail -n 2 imp
09:22:23   9.3731   257.300   636.900     1.000     1.000    -2.867    -0.358     5.103     2.082 
09:22:53   9.3814   257.200   635.800     1.000     1.000    -2.867    -0.358     5.104     2.082 
我想画第3列和第1列

我的gnuplot文件如下所示:

#!/bin/gnuplot
#
set terminal svg size 1400,1048 enhanced fname 'Verdana' fsize 12 
set output 'curr-imp.svg'
unset key
set xlabel 'Tiempo (h)'
set ylabel 'Corriente (mA)'
set xdata time
set timefmt "%H:%M:%S"
set format x "%H"
set style line 1 lc rgb '#000000' pt 6 ps 1 lt 1 lw 2 # --- black with empty circles
set style line 11 lc rgb '#808080' lt 1
set border 3 back ls 11
set tics nomirror
set style line 12 lc rgb '#808080' lt 0 lw 1
set grid back ls 12
plot 'imp' u 1:3  ls 1 w lp
这给了我几乎想要的输出。


问题是线路会倒回去,因为时间是从晚上23点到早上9点。我在想也许我应该把日期和时间放在一起。还是有别的办法解决这个问题?非常感谢您抽出时间

为了清楚起见,我将在最后展示我是如何做的。(提供的链接不完全是我的情况,因为我在不同的文件中有不同日期的数据。) 首先,使用vim将日期1添加到文件1,将日期2添加到文件2(
:%s/^/27-06-14/g
:%s/^/28-06-14/g
,在墨西哥,我们写的是日-月-年)

然后,将文件1和文件2与cat合并。 之后,只需更改行:


设置时间“%d-%m-%y%H:%m:%S”
设置格式x“%H%p”
....
绘图“imp”u 1:4 ls 1 w lp

你完成了。:)

请参阅以获取相同的问题。我投票赞成复制。不过,我的建议是,如果您可以控制数据输出,请写一个时间戳:)好吧,当您写问题时,它是完全重复的,您没有提到您每天有一个数据文件。使用gnuplot,您还可以动态添加此信息,如
绘图“
fmp@lila asc-47$ head -n 1 imp-27
27-06-14    23:22:37  23.3769   240.800   581.300     1.000     1.000    -2.839  -0.360     5.114     2.076 
fmp@lila asc-47$ tail -n 1 imp-28
28-06-14    09:22:53   9.3814   257.200   635.800     1.000     1.000    -2.867    -0.358     5.104     2.082