Chart-0.13: tests/Test4.hs
module Test4 where
import Graphics.Rendering.Chart
import Graphics.Rendering.Chart.Gtk
import Data.Colour
import Data.Colour.Names
import Data.Accessor
import System.Environment(getArgs)
chart :: Bool -> Bool -> Renderable ()
chart xrev yrev = toRenderable layout
where
points = plot_points_style ^= filledCircles 3 (opaque red)
$ plot_points_values ^= [ (x, 10**x) | x <- [0.5,1,1.5,2,2.5 :: Double] ]
$ plot_points_title ^= "values"
$ defaultPlotPoints
lines = plot_lines_values ^= [ [(x, 10**x) | x <- [0,3]] ]
$ plot_lines_title ^= "values"
$ defaultPlotLines
layout = layout1_title ^= "Log/Linear Example"
$ layout1_bottom_axis ^: laxis_title ^= "horizontal"
$ layout1_bottom_axis ^: laxis_reverse ^= xrev
$ layout1_left_axis ^: laxis_generate ^= autoScaledLogAxis defaultLogAxis
$ layout1_left_axis ^: laxis_title ^= "vertical"
$ layout1_left_axis ^: laxis_reverse ^= yrev
$ layout1_plots ^= [Left (toPlot points), Left (toPlot lines) ]
$ defaultLayout1
main1 :: [String] -> IO()
main1 ["small"] = renderableToPNGFile (chart False False) 320 240 "test4_small.png"
main1 ["big"] = renderableToPNGFile (chart False False) 800 600 "test4_big.png"
main1 _ = renderableToWindow (chart False False) 640 480
main = getArgs >>= main1