$__timeGroup gaps start again from 0 despite NULL in data

I’ve got a time series graph that is using the $__interval to group data to optimise the number of records returned for the time window specified.

There is some missing data, so I’ve used $__timeGroup with the NULL replacement value, and the graph settings is configured to show NULL values as NULL, as opposed to connected or zero.

The attached screen shot should show the graph, the query, the erroneous graph showing gaps and it picking up after the gap from zero, and the query inspector that shows that the data is populated with no value for the corresponding time (and notably not showing zero after the gap).

I’d prefer to be able to see where the gaps are, rather than using connected/previous data, and zero isn’t an option because that is a valid value for the data (temperatures).

Any ideas on how to resolve would be great.

The expanded query shows as:

SELECT
  UNIX_TIMESTAMP(time) DIV 1 * 1 as time,
  round(avg(if(temp1<128,temp1,null)),2) as s1,
  round(avg(if(temp2<128,temp2,null)),2) as s2,
  round(avg(if(temp3<128,temp3,null)),2) as s3
FROM debug
WHERE
  time BETWEEN FROM_UNIXTIME(1601902080) AND FROM_UNIXTIME(1601902141)
  and eui in (3)
GROUP BY 1
ORDER BY 1

Just realised that its the ‘staircase’ graph style that causes this. Turn it off and the gaps start from the first value as expected. However, staircase is actually the prefered graph style for this data.