Portability | uses gnuplot and ImageMagick |
---|---|

Stability | provisional |

Maintainer | Alberto Ruiz (aruiz at um dot es) |

Safe Haskell | None |

This module is deprecated. It can be replaced by improved drawing tools available in the plot\plot-gtk packages by Vivian McPhail or Gnuplot by Henning Thielemann.

- mplot :: [Vector Double] -> IO ()
- plot :: [Vector Double -> Vector Double] -> (Double, Double) -> Int -> IO ()
- parametricPlot :: (Vector Double -> (Vector Double, Vector Double)) -> (Double, Double) -> Int -> IO ()
- splot :: (Matrix Double -> Matrix Double -> Matrix Double) -> (Double, Double) -> (Double, Double) -> Int -> IO ()
- mesh :: Matrix Double -> IO ()
- meshdom :: Vector Double -> Vector Double -> (Matrix Double, Matrix Double)
- matrixToPGM :: Matrix Double -> String
- imshow :: Matrix Double -> IO ()
- gnuplotX :: String -> IO ()
- gnuplotpdf :: String -> String -> [([[Double]], String)] -> IO ()
- gnuplotWin :: String -> String -> [([[Double]], String)] -> IO ()

# Documentation

mplot :: [Vector Double] -> IO ()Source

plots several vectors against the first one

> let t = linspace 100 (-3,3) in mplot [t, sin t, exp (-t^2)]

plot :: [Vector Double -> Vector Double] -> (Double, Double) -> Int -> IO ()Source

Draws a list of functions over a desired range and with a desired number of points

> plot [sin, cos, sin.(3*)] (0,2*pi) 1000

parametricPlot :: (Vector Double -> (Vector Double, Vector Double)) -> (Double, Double) -> Int -> IO ()Source

Draws a parametric curve. For instance, to draw a spiral we can do something like:

> parametricPlot (\t->(t * sin t, t * cos t)) (0,10*pi) 1000

splot :: (Matrix Double -> Matrix Double -> Matrix Double) -> (Double, Double) -> (Double, Double) -> Int -> IO ()Source

Draws the surface represented by the function f in the desired ranges and number of points, internally using `mesh`

.

> let f x y = cos (x + y) > splot f (0,pi) (0,2*pi) 50

mesh :: Matrix Double -> IO ()Source

Draws a 3D surface representation of a real matrix.

> mesh $ build (10,10) (\\i j -> i + (j-5)^2)

In certain versions you can interactively rotate the graphic using the mouse.

meshdom :: Vector Double -> Vector Double -> (Matrix Double, Matrix Double)Source

From vectors x and y, it generates a pair of matrices to be used as x and y arguments for matrix functions.

matrixToPGM :: Matrix Double -> StringSource

writes a matrix to pgm image file