-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
X/Y Plot working with single-value PVs #391
Comments
This is basically the same question as #243, with the same answer: The BOY XYPlot has been proven hard to understand by users because it tries to implement several fundamentally different types of behaviour:
For cases 1 & 2 users need to set the "buffer size" to match the expected maximum waveform size (why?). In the display builder, the waveform vs. scalar handling has been simplified: The Data Browser widget handles scalars, case 3. Since this is using an existing tool, it loads *.plt files. There is a "bufffer size" for each channel because if it kept adding live data to the sample buffer, you'd eventually exhaust the available memory. It can read archived data. Unfortunately, there is no way to automatically determine if an XYPlot in a legacy *.opi file was for a waveform or scalar, so we cannot automatically translate XYPlot widgets in *.opi files into data browser widgets. All XYPlots in *.opi files are therefore assumed to be for waveforms. I intend to keep the separation of XYPlots for waveforms vs. Data Browser for scalars. One could think about a tighter integration by somehow editing the data browser configuration right within the data browser widget. Right now, when you add a data browser widget, you edit all its settings in a separate *.plt file. Maybe as a first step allow opening the data browser right from the display builder editor's property panel. |
So, if I've understood correctly, is not possible to have a plot of Y over X if they are scalars. So how do we want to allow this? I'm fine to to do this kind of widget:
To solve mixed cases, maybe we can provide some loc/sim PVs to convert an array PV into a scalar one (read-only) and vice versa. Do you agree on that? |
Exactly. A scalar Y against a scalar X is fundamentally different from waveform (XYPlot) as well as scalar-over-time (data browser), so it needs to be a new type of plot, like a "Scalar Scatter Plot" that you plan to implement. It's tricky, though. How do you intent to prevent his? To handle that right now in a more dependably way, have the IOC that has the X and Y also produce X and Y waveforms based on the compress record. Sorry, but BOY's X/Y Graph had problems. People not understanding it and asking for the bugs back is not a good idea. |
I understand, and I think that the only way is using the timestamp and possibly (or, better, optionally) a linear interpolator to get intermediate values. It is something I've already done in the past. |
My integrators are asking a better compatibility of X/Y Plot with BOY's X/Y Graph.
Being that I've also request for a polar plot, I'm not sure if:
@kasemir
What do you think?
In case of 1., will you do the change, or point me in the right sources to do it myself?
The text was updated successfully, but these errors were encountered: