module Graphics.Gnuplot.Plot.ThreeDimensional (
linearScale,
module Graphics.Gnuplot.Plot.ThreeDimensional,
) where
import qualified Graphics.Gnuplot.Private.Graph3D as Graph
import qualified Graphics.Gnuplot.Private.Plot as Plot
import Graphics.Gnuplot.Utility
(showTriplet, linearScale, )
import Data.List.HT (outerProduct, )
type T = Plot.T Graph.T
mesh ::
(Show a, Show b, Show c) =>
[[(a,b,c)]] -> T
mesh dat =
Plot.withUniqueFile
(unlines (map (unlines . map showTriplet) dat))
[Graph.deflt (Graph.Dim3 1 2 3)]
function ::
(Show a, Show b, Show c) =>
[b] -> [c] -> (b -> c -> a) -> T
function xArgs yArgs f =
mesh (outerProduct (\x y -> (x, y, f x y)) xArgs yArgs)