gnuplot问题-时间戳数据映射到xrange

时间:2018-12-21 11:52:30

标签: gnuplot scale unix-timestamp xrange

我有什么:

第一列带有时间戳的

csv数据,此后我想选择性地绘制列。 每个数据点大约相隔十分钟。数据持续24小时。其他所有设置都很好,下面的示例

我想要什么:

能够映射在x轴上格式化的时间数据(xrange?)。每隔xtics小时n,以给定格式(例如"%T, %A")。我想绘制的每列最佳可配置(考虑多图)。

数据:

1545389400,39,0,0,1,664,2493,31.7
1545390000,37,0,0,1,736,3093,32.5
1545391200,33,0,0,1,664,4293,32.6
1545392400,28,0,0,1,704,5493,31.3
1545393000,26,0,0,0,649,6093,30.8
1545393600,24,0,0,0,632,6693,30.5

代码:

set title "Battery Log"
set datafile separator ','
set key center bottom outside
set border lw 0.5 lc '#959595'
set terminal svg dynamic rounded mouse lw 1 background '#272822'
set grid ytics
set ytics nomirror in
set yrange [0:100]
set xtics nomirror
set xtics rotate
set xdata time
set timefmt "%s"
set format x "%T, %A"
plot 'stats.csv' \
    u 0:2 w l lc '#f92783' t columnheader, '' \
    u 0:8 w l lc '#a6e22a' t columnheader

screenshot

1 个答案:

答案 0 :(得分:0)

这是什么?

### set time xtics

N = 3  # every n-th hour

set samples 100
set xdata time 
set format x "%a, %H:%M"
set xtics rotate
set xtics N*3600

plot '+' u ($0*1200):(3*sin(x)+rand(0)) w lp pt 7 not
### end of code

应该提供类似这样的信息,每3个小时打一次。 根据要绘制的列设置N

enter image description here