Time 将时间长度转换为分钟格式

Time 将时间长度转换为分钟格式,time,format,gnuplot,rescale,Time,Format,Gnuplot,Rescale,我目前正在通过shell将参数传递给gnuplot 我提取的数据具有以毫秒为单位的时间刻度(仅为原始长度) x轴显示这些原始值(即6000、120000、18456…),我想通过脚本(shell)传递给gnuplot的参数将其转换为分或秒。我目前有以下论点: "set title 'temperature stress test results for " + $sn + " on " + $datetime + " set term png size 1450,

我目前正在通过shell将参数传递给gnuplot

我提取的数据具有以毫秒为单位的时间刻度(仅为原始长度) x轴显示这些原始值(即6000、120000、18456…),我想通过脚本(shell)传递给gnuplot的参数将其转换为分或秒。我目前有以下论点:

"set title 'temperature stress test results for " + $sn + " on " + $datetime + "
                set term png size 1450, 800
                set xlabel 'Time(ms)'
                set ylabel 'Temperature (C)'
                set key right top
                set autoscale
                set yrange [20:55]
                set format x '%.0f'
                set grid
                set datafile sep ','
                set output '" + $pngfile + "'
                plot  '" + $_ + "' using 1:3 with lines title 'heater', '" + $_ + "' using 1:9 with lines title 'cam0', '" + $_ + "' using 1:10 with lines title 'cam1', '" + $_ + "' using 1:11 with lines title 'cam2', '" + $_ + "' using 1:12 with lines title 'cam3'"

有没有办法重新缩放x轴?我期望(x=x/60000)这样的东西能在几分钟内得到它,例如,Gnuplot的时间数据的基本单位是1秒。数据以毫秒为单位,因此需要除以1000才能将其解释为时间。因为您的数据是绝对的[milli]秒数,而不是时钟时间,所以您应该使用相对时间格式tH tM tS。这些格式允许分数值,并且不会以时钟间隔换行。即,当分钟计数达到60时,它不会重置为0

要将以毫秒为单位的输入数据绘制在以分钟和秒为单位的x轴上,以毫秒为精度:

set xlabel 'Time (minutes:seconds)'
set xtics time format "%tM:%.3tS"
plot $DATA using ($1/1000.):3 title 'whatever'
例如:

plot sample [-1000:10000] '+' using ($1/1000.):1 

谢谢你的回答。您知道如何将其应用于代码中指定的其他列吗?在您的示例中,您可以在示例上绘制时间(表示第1列或第1列本身,但我有几个使用x轴作为参考,因此我不确定如何使用您的语法:($1/1000):1或我需要为所有列指定此格式吗?
set xtics
与列无关。它指定在绘制绘图时如何标记x轴。从您的示例中,我了解毫秒数据位于第1列,而其他列包含温度读数。您是否也在询问如何缩放温度?