03-12-2024 09:53 AM
@Baji wrote:
I agree XY graph is the right control, if I am only plotting the points.
In my application, there is a predefined template that includes axis scales, notes, annotations, limit lines and images. I need to scale the canvas to the physical dimension based on the overlay, so the user can check the transparent overlay or Digital Overlay against the picture control on the monitor. In the below picture I am holding the overlay on top of the picture control to check the pass/fail. I can auto detect the pass/fail If I have digital overlay.
.
So this is a simple validation to check if points are within certain limits, so "lines" are dangerous anyway, for example there are ways to connect two points that are inside the valid region, but the connecting line is partially outside.
I assume that the precision does not need to be better than the linewidth of the printed lines on the transparency. Your current data looks like a hook. Are the two vertical lines in the same valid region (simple) or is there a disallowed area in-between (complicated)?
In any case, the 2D array in my example can be filled in a way that the elements in the valid region are ones and the invalid region is all zeroes, for example. Instead of mapping the values into the 2D array, you can just index out the element at the current xy (linearly mapped from the values to the indices) and go from there.
03-12-2024 01:26 PM
200 tags, 7 days, 1 Hz data just doesn't work in native graphs. And the user wants to see all data, and still be able to zoom in on a single minute.
Yes! The "FlexiGraph" (my made-up name for an article I read more than a decade ago, I think, about a very clever technique for having a "multi-scaled "Chart" display" that showed the most recent "minute", "hour", "day", and "week" of data at the click of a button). I was writing a routine to monitor the flow of coolant for an NMR/MRI machine (the magnets need to be kept "super-conducting", and Bad Things happen if the water coolant stops flowing because the pipes are clogged, causing the magnets to "quench" and stop super-conducting, E = IR). The user could choose to look at the last 5 hours, 15 hours, 45 hours, 135 hours, or 405 hours (just over 2 weeks), with data sampling at 10 Hz. I'll try to find the reference ...
Bob Schor
03-13-2024 01:18 PM
@Bob_Schor wrote:
200 tags, 7 days, 1 Hz data just doesn't work in native graphs. And the user wants to see all data, and still be able to zoom in on a single minute.Yes! The "FlexiGraph" (my made-up name for an article I read more than a decade ago, I think, about a very clever technique for having a "multi-scaled "Chart" display" that showed the most recent "minute", "hour", "day", and "week" of data at the click of a button). I was writing a routine to monitor the flow of coolant for an NMR/MRI machine (the magnets need to be kept "super-conducting", and Bad Things happen if the water coolant stops flowing because the pipes are clogged, causing the magnets to "quench" and stop super-conducting, E = IR). The user could choose to look at the last 5 hours, 15 hours, 45 hours, 135 hours, or 405 hours (just over 2 weeks), with data sampling at 10 Hz. I'll try to find the reference ...
Bob Schor
My users want to zoom in on any 5 minutes, the first 5 minutes, the last 5 minutes, any 5 minutes (5 minutes as an example)...
On top of that there are not one but 16 graphs that can be used to view data, where 8 x scales are paired with 8 other graphs..
So the only way to do that is to store that GB of data in memory, get the subset that is visible and decimate it appropriately .Obviously only for the selected tags.