An ambitious attempt to provide mathematica like dynamic plotting for free.
stack install plot-gtk-ui
The best way to try this is to use the calculator package.
Graphics.Rendering.Plot.Gtk.UI and follow the examples below.
import Graphics.UI.Gtk import Graphics.Rendering.Plot.Gtk.UI main = do initGUI plotStatic sin (-pi, pi) -- Plot sin(x) from -pi to pi mainGUI
Another simple example.
import Graphics.UI.Gtk import Graphics.Rendering.Plot.Gtk.UI main = do initGUI plotDynamic (\(x, a) -> sin(a * x)) ((-pi, pi), (0, 1)) -- Plot sin(a * x), where 'x' ranges from -pi to -- pi and 'a' ranges between 0 to 1 mainGUI
The error messages might not be completely correct, as there is not a good way to diagnose what caused the error.
Issues that cause errors:
- Invalid ranges, e.g. X-Range =
- Automatic-determination of ranges resulting in unplottable ranges, e.g.
If you land on the "Gray screen of no plots" or any other incorrect error message, please raise an issue here.
plotDynamic functions are implemented in a
type-safe manner using
It also allows one to write functions using appropriate tuples as in the above examples.
Plotting is done using the excellent plot package.