aivika-experiment-chart-0.4: Simulation experiments with charting for the Aivika library

MaintainerDavid Sorokin <>
Safe HaskellNone



Tested with: GHC 7.4.1

The module defines TimeSeriesView that saves the time series charts as the PNG files.



data TimeSeriesView Source

Defines the View that saves the time series charts in the PNG files.




timeSeriesTitle :: String

This is a title used in HTML.

timeSeriesDescription :: String

This is a description used in HTML.

timeSeriesWidth :: Int

The width of the chart.

timeSeriesHeight :: Int

The height of the chart.

timeSeriesFileName :: FileName

It defines the file name for each PNG file. It may include special variables $TITLE, $RUN_INDEX and $RUN_COUNT.

An example is

   timeSeriesFileName = UniqueFileName "$TITLE - $RUN_INDEX" ".png"
timeSeriesPredicate :: Event Bool

It specifies the predicate that defines when we plot data in the chart.

timeSeries :: [Either String String]

It contains the labels of data plotted on the chart.

timeSeriesPlotTitle :: String

This is a title used in the chart when simulating a single run. It may include special variable $TITLE.

An example is

   timeSeriesPlotTitle = "$TITLE"
timeSeriesRunPlotTitle :: String

The run title for the chart. It is used when simulating multiple runs and it may include special variables $RUN_INDEX, $RUN_COUNT and $PLOT_TITLE.

An example is

   timeSeriesRunPlotTitle = "$PLOT_TITLE / Run $RUN_INDEX of $RUN_COUNT"
timeSeriesPlotLines :: [PlotLines Double Double -> PlotLines Double Double]

Probably, an infinite sequence of plot transformations based on which the plot is constructed for each series. Generally, it must not coincide with a sequence of labels as one label may denote a whole list or an array of data providers.

Here you can define a colour or style of the plot lines.

timeSeriesBottomAxis :: LayoutAxis Double -> LayoutAxis Double

A transformation of the bottom axis, after title time is added.

timeSeriesLayout :: Layout1 Double Double -> Layout1 Double Double

A transformation of the plot layout, where you can redefine the axes, for example.


defaultTimeSeriesView :: TimeSeriesViewSource

The default time series view.