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

CopyrightCopyright (c) 2012-2015, David Sorokin <>
MaintainerDavid Sorokin <>
Safe HaskellNone



Tested with: GHC 7.10.1

The module defines XYChartView that plots the XY charts.



data XYChartView Source

Defines the View that plots the XY charts.




xyChartTitle :: String

This is a title used in HTML.

xyChartDescription :: String

This is a description used in HTML.

xyChartWidth :: Int

The width of the chart.

xyChartHeight :: Int

The height of the chart.

xyChartFileName :: ExperimentFilePath

It defines the file name with optional extension for each image to be saved. It may include special variables $TITLE, $RUN_INDEX and $RUN_COUNT.

An example is

  xyChartFileName = UniqueFilePath "$TITLE - $RUN_INDEX"
xyChartPredicate :: Event Bool

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

xyChartTransform :: ResultTransform

The transform applied to the results before receiving series.

xyChartXSeries :: ResultTransform

This is the X series.

You must define it, because it is mempty by default. Also it must return exactly one ResultExtract item when calling function extractDoubleResults by the specified result set.

xyChartLeftYSeries :: ResultTransform

It defines the series plotted basing on the left Y axis.

xyChartRightYSeries :: ResultTransform

It defines the series plotted basing on the right Y axis.

xyChartPlotTitle :: String

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

An example is

  xyChartPlotTitle = "$TITLE"
xyChartRunPlotTitle :: 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

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

Probably, an infinite sequence of plot transformations based on which the plot is constructed for each Y series. Generally, it may not coincide with a sequence of Y 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.

xyChartBottomAxis :: LayoutAxis Double -> LayoutAxis Double

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

xyChartLayout :: LayoutLR Double Double Double -> LayoutLR Double Double Double

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

defaultXYChartView :: XYChartView Source

The default time series view.