Interesting challenge. You'd need to start by creating a calendar of all possible time points and use the intervalmatch function to connect it to your Fact table. Note that this results in a 7M row calendar table if you want to keep the granularity in seconds. I'm assuming that minutes is accurate enough though--this let me shrink the final calendar size to 115K rows. Also, if you're unfamiliar with intervalmatch, note that this is one of the few times in QV that synthetic keys are actually best practice.
For the UI piece, I kind of cheated and created a trellis chart. Let me know if that doesn't work for your purposes.
The solutions have both advantages and disadvantages, but in fact that the machine_data table is very large, i decided for the solution of Marco Wedel. I've got heavy performance issues with the first solution on a large amount of data.
The second solution don't looks so great but it works performant and its very easy to implement.