Time() is a formatting function only, so time(END_TIME) = END_TIME, which includes the date. When you have only one date, it seems to recognize your display format for the axis, even if the underlying value is still very large. But when you have multiple dates, the times do not have the same underlying value, so it is unable to use your display format sensibly. You can use time(frac(END_TIME)) to remove the date, but it STILL seems to get confused when you have multiple dates, resorting to displaying the time as a fraction of a day. Interestingly, if you change it back to a linear scale instead of a log scale, it displays properly. So I guess it's some problem with the log scale axis recognizing the time as a time. If practical, using a linear scale axis combined with time(frac(END_TIME)) appears to solve the problem.