The reason I have suggested a x-y chart and using an array of clusters of arrays is that you do not need all plots to be synchronous or even have the same number of points, for each CAN but read you simply append the time and value to the appropriate index (can be an update for any or all channels) and replot the new array of cluster of arrays. I have found this to be a great way of handling asynchronous time sampling as well as an easy method to add and remove channels on the fly. Plots and waveforms have the limitation of having a constant dt x value and adding NAN values can make post processing more difficult.
Paul