Haskell bindings to Python's Matplotlib. It's high time that Haskell had a fully-fledged plotting library!
Documentation is available on Hackage. For more examples see the tests.
{-# LANGUAGE ExtendedDefaultRules #-}
import Graphics.Matplotlib
degreesRadians a = a * pi / 180.0
main :: IO ()
main = do
Right _ <- onscreen $ contourF (\a b -> sin (degreesRadians a) + cos (degreesRadians b)) (-100) 100 (-200) 200 10
return ()
We need -XExtendedDefaultRules
to avoid having to manually having to specify certain types.
You will need several python libraries to run this code which can be installed on Ubuntu machines with the following command:
sudo apt-get install -y python3-pip python3-matplotlib python3-numpy python-mpltoolkits.basemap
If you have instructions for other machines or OSes let me know. We require
/usr/bin/python3
to be available; the path isn't configurable right now.
Once you have the prerequisites you can install using the standard incantation
cabal install matplotlib
Click on any of the examples below to go to the corresponding test that generates it. Depending on your matplotlib version default colors might be different.