Gnuplot--向xaxis添加太多数据

Gnuplot--向xaxis添加太多数据,gnuplot,Gnuplot,我有一个文件,是“日期,时间,温度”新行“日期,时间,温度”等 例如: 12/01/19,23:30:13,74.23 12/01/19,23:45:13,74.33 12/02/19,00:00:13,74.20 12/02/19,00:15:13,74.06 我希望用Gnuplot来绘制它 图形部分表现得很好,在大多数情况下,它看起来能满足我的需要 然而,XTIC正在添加我没有为他们设置的附加信息,也不知道这些信息来自何方 代码: 我希望在x轴上看到的只是“00:00,04:00,08

我有一个文件,是“日期,时间,温度”新行“日期,时间,温度”等

例如:

12/01/19,23:30:13,74.23
12/01/19,23:45:13,74.33


12/02/19,00:00:13,74.20
12/02/19,00:15:13,74.06
我希望用Gnuplot来绘制它

图形部分表现得很好,在大多数情况下,它看起来能满足我的需要

然而,XTIC正在添加我没有为他们设置的附加信息,也不知道这些信息来自何方

代码:

我希望在x轴上看到的只是“00:00,04:00,08:00,12:00,16:00,20:00,00:00”

我从今天收集的数据中确实看到了这一点。 但从前一天收集的任何数据如下所示:

“01/01 00:00,01/01/04:00,01/01 08:00,01/01 12:00”

之后的每一天都会对x轴重复,直到它得到今天的数据,然后它会显示“00:00,04:00,08:00…”

那么,我如何才能得到它,使它不显示我的“01/01”在所有前几天?

完全修改的代码。 我猜您尚未设置x轴的格式,例如
设置格式x“%H:%M”
。 我认为
set-xdata-time
有点“过时”,而是使用
set-format x“%H:%M”timedate
并且您可能知道,时间从1970年1月1日起以秒为单位处理

这里是进一步调整的可能起点

代码:

### animated time data
reset session
set term gif size 480,320 animate delay 100
set output "Animation.gif"
set datafile separator ","
myTimeFmt = '%m/%d/%y,%H:%M:%S'

# generate some test data
StartDateTime = strptime(myTimeFmt, "12/18/19,00:00:00")
set print $Data
    do for [day=0:7] {
        do for [i=0:24*4-1] {
             print strftime(myTimeFmt,StartDateTime+day*24*3600 + i*15*60). \
             ",".sprintf("%.1f",74+6*sin(i/12.)+rand(0)*3)
        }
        if (day<7) { print ""; print ""}   # 2 empty lines at the end of the day
    }
set print

set timefmt myTimeFmt
set format x "%H:%M" timedate
set xtics 4*3600
stats $Data u 0 nooutput
set key top center

do for [i=0:STATS_blocks-1] {
    plot $Data u (timecolumn(1,myTimeFmt)):3 index i w lp pt 7 ti strftime("%b %d", StartDateTime+i*24*3600)
}
set output
### end of code
###动画时间数据
重置会话
设置术语gif大小480320动画延迟100
设置输出“Animation.gif”
设置数据文件分隔符“,”
myTimeFmt='%m/%d/%y,%H:%m:%S'
#生成一些测试数据
StartDateTime=strTime(MyTimeTime,“12/18/19,00:00:00”)
设置打印$Data
为[日=0:7]做的事{
[i=0:24*4-1]的do{
打印strftime(mytimemt,StartDateTime+day*24*3600+i*15*60)\
“,”.sprintf(“%.1f”,74+6*sin(i/12.)+rand(0)*3)
}

if(day)因此,我不希望在x轴上显示日期戳。plot命令中的“title”Dec.(i+1)”部分负责在图形中放置一个键,以显示日期。因此,我只希望在x轴上显示时间戳。如前所述,对于(今天)它会给出这些,但对于以前的任何日子,它都会在我的xtics上给出01/01前缀。对不起,我读得不够仔细…这是一个动画图形,每帧显示一天。我会修改代码…谢谢你,这正是我要找的,谢谢你对“设置格式x”的介绍
### animated time data
reset session
set term gif size 480,320 animate delay 100
set output "Animation.gif"
set datafile separator ","
myTimeFmt = '%m/%d/%y,%H:%M:%S'

# generate some test data
StartDateTime = strptime(myTimeFmt, "12/18/19,00:00:00")
set print $Data
    do for [day=0:7] {
        do for [i=0:24*4-1] {
             print strftime(myTimeFmt,StartDateTime+day*24*3600 + i*15*60). \
             ",".sprintf("%.1f",74+6*sin(i/12.)+rand(0)*3)
        }
        if (day<7) { print ""; print ""}   # 2 empty lines at the end of the day
    }
set print

set timefmt myTimeFmt
set format x "%H:%M" timedate
set xtics 4*3600
stats $Data u 0 nooutput
set key top center

do for [i=0:STATS_blocks-1] {
    plot $Data u (timecolumn(1,myTimeFmt)):3 index i w lp pt 7 ti strftime("%b %d", StartDateTime+i*24*3600)
}
set output
### end of code