Gnuplot 在我为y数据设置了TimeFinder之后,xtic()不会为每个条设置标签

Gnuplot 在我为y数据设置了TimeFinder之后,xtic()不会为每个条设置标签,gnuplot,Gnuplot,我的数据是这样的 1; 11.02.20; 6322; 00:12:38 2; 12.02.20; 6184; 00:10:57 3; 13.02.20; 6237; 00:11:17 4; 14.02.20; 5029; 00:08:16 我想为第四列中的每个条目绘制一个条形图,并将第二列中的条目作为标签。但当我将y轴设置为正确的时间格式时,下面的标签将消失 set boxwidth 0.7 set style fill solid set datafile separator ";" se

我的数据是这样的

1; 11.02.20; 6322; 00:12:38
2; 12.02.20; 6184; 00:10:57
3; 13.02.20; 6237; 00:11:17
4; 14.02.20; 5029; 00:08:16
我想为第四列中的每个条目绘制一个条形图,并将第二列中的条目作为标签。但当我将y轴设置为正确的时间格式时,下面的标签将消失

set boxwidth 0.7
set style fill solid
set datafile separator ";"
set timefmt "%H:%M:%S"
set format y "%M:%S" time
set ydata time
set yrange["00:00:00":"00:20:00"]
plot 'woche1.txt' using 4:xtic(2) with boxes

我怎样才能解决这个问题。另外,是否可以在每个条上方的第三列中显示值?

您正在运行哪个版本的gnuplot?使用gnuplot 5.2.x,我会这样做:

代码:

### time data on y-axis, with xtic() and labels
reset session

$Data <<EOD
1; 11.02.20; 6322; 00:12:38
2; 12.02.20; 6184; 00:10:57
3; 13.02.20; 6237; 00:11:17
4; 14.02.20; 5029; 00:08:16
EOD

set boxwidth 0.7
set style fill solid
set datafile separator ";"
myTimeFmt = "%H:%M:%S"
set format y "%M:%S" time
set yrange[strptime(myTimeFmt,"00:00:00"):strptime(myTimeFmt,"00:20:00")]

plot $Data u 0:(timecolumn(4,myTimeFmt)):xtic(2) with boxes notitle, \
     '' u 0:(timecolumn(4,myTimeFmt)):3 w labels offset 0,1 not

### end of code
### time data on x-axis and y-axis
reset session

# generate some test data
set print $Data
    today = time(0)
    do for [i=0:14] {
        day = strftime("%d.%m.%y", today + i*86400)    # dates from today on
        number = int(rand(0)*4000)+2000                # random integer between 2000 and 6000
        time = strftime("%H:%M:%S", int(rand(0)*3600)) # random time within 1 hour
        print sprintf("%d; %s; %d; %s",i,day,number,time)
    }
set print

set boxwidth 86400*0.7   # box width 0.7 of a day
set style fill solid
set datafile separator ";"
myTimeFmtX = "%d.%m.%y"
set format x "%d.%m." time
myTimeFmtY = "%H:%M:%S"
set format y "%tM:%S" time
set yrange[strptime(myTimeFmtY,"00:00:00"):strptime(myTimeFmtY,"01:00:00")]

plot $Data u (timecolumn(2,myTimeFmtX)):(timecolumn(4,myTimeFmtY)) with boxes notitle, \
     '' u (timecolumn(2,myTimeFmtX)):(timecolumn(4,myTimeFmtY)):3 w labels font ",8" offset 0,1 not
### end of code
结果:

### time data on y-axis, with xtic() and labels
reset session

$Data <<EOD
1; 11.02.20; 6322; 00:12:38
2; 12.02.20; 6184; 00:10:57
3; 13.02.20; 6237; 00:11:17
4; 14.02.20; 5029; 00:08:16
EOD

set boxwidth 0.7
set style fill solid
set datafile separator ";"
myTimeFmt = "%H:%M:%S"
set format y "%M:%S" time
set yrange[strptime(myTimeFmt,"00:00:00"):strptime(myTimeFmt,"00:20:00")]

plot $Data u 0:(timecolumn(4,myTimeFmt)):xtic(2) with boxes notitle, \
     '' u 0:(timecolumn(4,myTimeFmt)):3 w labels offset 0,1 not

### end of code
### time data on x-axis and y-axis
reset session

# generate some test data
set print $Data
    today = time(0)
    do for [i=0:14] {
        day = strftime("%d.%m.%y", today + i*86400)    # dates from today on
        number = int(rand(0)*4000)+2000                # random integer between 2000 and 6000
        time = strftime("%H:%M:%S", int(rand(0)*3600)) # random time within 1 hour
        print sprintf("%d; %s; %d; %s",i,day,number,time)
    }
set print

set boxwidth 86400*0.7   # box width 0.7 of a day
set style fill solid
set datafile separator ";"
myTimeFmtX = "%d.%m.%y"
set format x "%d.%m." time
myTimeFmtY = "%H:%M:%S"
set format y "%tM:%S" time
set yrange[strptime(myTimeFmtY,"00:00:00"):strptime(myTimeFmtY,"01:00:00")]

plot $Data u (timecolumn(2,myTimeFmtX)):(timecolumn(4,myTimeFmtY)) with boxes notitle, \
     '' u (timecolumn(2,myTimeFmtX)):(timecolumn(4,myTimeFmtY)):3 w labels font ",8" offset 0,1 not
### end of code

如果我有更多标签重叠的条目,使用set xtics font”,5“我可以使它们变小,如何删除年份条目。是否也可以使列上的条目变小?