alexhuntley / Plots

A graph plotting app for GNOME
GNU General Public License v3.0
197 stars 37 forks source link

Feature request: indicate missing value for parameter, allow defining different sets of parameters per function #142

Open vendillah opened 11 months ago

vendillah commented 11 months ago

Thanks for the application. Today, I finally found I needed it, but unfortunately I encountered a bug.

I tried to preview what a Gaussian would look like with certain parameters. Obviously, \mu and \sigma hadn't been set in the function (\frac{1}{σ\sqrt{2π}}e^{\frac{-(x-μ)^{2}}{2σ^{2}}}), so the application doesn't know what to do with them while plotting. I however didn't think about it, as I first wanted to see something and then modify the values (which I should have inlined). It however does not indicate this error at all.

The application should mark the function with undefined variables as being incorrect and perhaps draw the functions just fine. After I added x as a function after the error one, it didn't show me anything, leaving me to think a theme (gtk3-adw) or so makes the lines not plot, or the flatpak version is broken. By accident, I discovered this was not the case, but the application itself may or may not display plots, depending on user actions.

Here is a plot of 4 functions, of which the fourth isn't displayed anymore, while there is no error. The third is missing definitions for the parameters. The second image doesn't show plots at all; I only removed the brown, not used fifth function entry to get from the previous state with 2 plots shown to this one. A user may falsely believe the application isn't working if it takes too long for them to show something - as I almost did.

image image

Also, next to this request to indicate the error and show all functions afterwards, I'd also like to request to somehow allow using variables that the user can define himself. For example, allow the definition of the gaussian function that is still dependent on \mu and \sigma, but do not associate a color with it and use a list view nested under the gaussian function to allow the user to simply set each unknown value per parameter set. In this nested list, each element (a set of parameters) would represent a plot and is associated with a color, while the element itself allows modifying the variables through a popup or perhaps it's a horizontal list itself - whatever is usable. This actually prevents me from duplication the function multiple times to preview plots of different parameters.