ʒߺ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~portable provisional+haskell.vivian.mcphail <at> gmail <dot> com  portable provisional+haskell.vivian.mcphail <at> gmail <dot> com3a chart has a title and contains one or more plots a plot        !"#$%'Either (number of ticks) (tick values) &'()*+,-./012 !"#$%&345'()*+,-./01234567867989:;<=>?@A:BCDEFGHI;<=>?@JKLMNOABCDEFGHIJKPLQRSTUVWXYZ[MN\]^_`aObcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./012 !"#$%&345'()*+,-./01234567867989:;<=>?@A:BCDEFGHI;<=>?@JKLMNOABCDEFGHIJKPLQRSTUVWXYZ[MN\]^_`aObcdefghijklmnopqrstuvwxyz{|}~             "!  !"#$%&')(()*,++,-/../02112 !!"#$%&#$%&35445'()()*+10/.-,,-./01287654334567867989:;:;<>==>?@@A:BCBCDGFEEFGHII;<=?>>?@JKJKLMMNOOA JIHGFEDCBBCDEFGHIJKPLQRQRSWVUTTUVWXYYZ[[MN\]^_`a]^_`aObcdefghijklmnopqrstuvwxyz{|}~portable provisional+haskell.vivian.mcphail <at> gmail <dot> com portable provisional+haskell.vivian.mcphail <at> gmail <dot> comPQclear the formatting of a line Rset the width of the bar Sset the colour of the bar T set the width of the bar border U!set the colour of the bar border 9PQRSTUPQRSTUportable provisional+haskell.vivian.mcphail <at> gmail <dot> com VWchange the glyph of a point Xchange the size of a point Ychange the colour of a point @KVWXYVWXY portable provisional+haskell.vivian.mcphail <at> gmail <dot> com Z[clear the formatting of a line \ change the dash style of a line ] change the line width of a line ^!change the line colour of a line :;<=>?Z[\]^Z[\]^ portable provisional+haskell.vivian.mcphail <at> gmail <dot> com&_`ab+set the series type of a given data series 'set the series type of all data series +format the plot elements of a given series 'format the plot elements of all series F | the operation to modify the formats is passed the series index D | this allows, for example, colours to be selected from a list ) | that gets indexed by the argument  | :setColour i = setLineColour $ [black,blue,red,green,yellow] !! i cdefghijklset the data set _`abcdefghijkl_`abcdefghijkl portable provisional+haskell.vivian.mcphail <at> gmail <dot> commclear the text entry n'set the text formatting to the default oset the value of a text entry p#set the font style of a text entry q#set the font style of a text entry r%set the font variant of a text entry s$set the font weight of a text entry t%set the font stretch of a text entry u"set the font size of a text entry vset the colour of a text entry LMNOmnopqrstuv mnopqrstuv portable provisional+haskell.vivian.mcphail <at> gmail <dot> com333 portable provisional+haskell.vivian.mcphail <at> gmail <dot> com5     woutput file type xyz{ !"#$%&'()*+,-./0123455     wxyz{ !"#$%&'()*+,-./0123455         w{zyxxyz{ !"#$%&'()*+,-./012345portable provisional+haskell.vivian.mcphail <at> gmail <dot> com6789:;79;79;portable provisional+haskell.vivian.mcphail <at> gmail <dot> com<=>?@ABCDEFGHIJKLMNOPQRSTUV??portable provisional+haskell.vivian.mcphail <at> gmail <dot> com WXYZ[|format the axis line \format the grid lines }format the axis ticks ~should gridlines be displayed? 6printf format that takes one argument, the tick value operate on the axis label $%&'()*+,-./012|\}~|\}~portable provisional+haskell.vivian.mcphail <at> gmail <dot> com ]^_`aclear annotations  add an arrow  add an oval add a rectangle add a rectangle  add text Eadd a cairo render that takes the bounding box (in user coordinates)  as an argument 'aaportable provisional+haskell.vivian.mcphail <at> gmail <dot> combcdefgbcdefgbcdefgportable provisional+haskell.vivian.mcphail <at> gmail <dot> comhijklmnohhportable provisional+haskell.vivian.mcphail <at> gmail <dot> compqppportable provisional+haskell.vivian.mcphail <at> gmail <dot> comrclear the legend s<set the legend location (required for there to be a legend) toperate on the axis label  !"#rstrstportable provisional+haskell.vivian.mcphail <at> gmail <dot> com0whether to draw a boundary around the plot area set the padding of the subplot set the heading of the subplot set the axis range /set the axis ranges to values based on dataset clear the axes of a subplot clear an axis of a subplot add an axis to the subplot operate on the given axis clear the legend (set the legend location and orientation format the legend text uoperate on the legend voperate on the data #set the data series of the subplot The data series are either  or plain data series. $ A plain data series must carry a  . JA dataset may or may not have an abscissa series, and if so, it is paired E with either a list of ordinate series or a single ordinate series. ,The abscissa series (if present) is of type ' Vector Double'. "An ordinate series be a function (Double -> Double) or a series of points,  a ' Vector Double'< with optional error series, y axis preference, and labels. YTo specify decoration options for an ordinate series, use the appropriate function, such  as  linespoints6, with the ordinate series and decoration formatting ( LineFormat,   PointFormat, and  BarFormat) as arguments.  ` setDataset (ts,[linespoints (xs,(le,ue),Upper,"data") (([Dash,Dash],3,blue),(Diamond,green))])  has abscissa tsI paired with a list of ordinate series, the single element of which is a  ,  linespoints where the ordinate is xs with error series le and ue, 5 to be graphed against the upper y-range with label "data"!. The line element is formatted U to be dashed, of width 3, and blue and the point element is to be a green diamond. )set the plot type of a given data series (change the plot type of all data series +format the plot elements of a given series 'format the plot elements of all series @the operation to modify the formats is passed the series index. C This allows, for example, colours to be selected from a list ( that gets indexed by the argument , setColour = withAllSeriesFormats (\i -> do \ setLineColour $ [black,blue,red,green,yellow] !! i ; setLineWidth 1.0) wxyzT !"#$%&'()*+,-./012345678_`abcdefghijkl|\}~portable provisional+haskell.vivian.mcphail <at> gmail <dot> com{|}~portable provisional+haskell.vivian.mcphail <at> gmail <dot> comportable provisional+haskell.vivian.mcphail <at> gmail <dot> com  render a  the figure to be rendered (width,height) a Cairo operation create  from a series of  actions  modify a  with some new actions  render a  the figure state (width,height) a Cairo operation  output the  output file type  file path (width,height) the  rendering operation  output the  output file type  file path (width,height) a FigureState  wxyz{ w{zyxportable provisional+haskell.vivian.mcphail <at> gmail <dot> com _perform some actions on the text defaults, must be run before other text element modifications _perform some actions on the line defaults, must be run before other line element modifications Yperform some actions on the point defaults, must be run before other point modifications Wperform some actions on the bar defaults, must be run before other point modifications create a new blank  set the padding of the figure operate on the title operate on the sub-title 5set the shape of the plots, losing all current plots rows columns .perform some actions on the specified subplot "perform some actions all subplots   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuv|}~  a`_  cdefghijkl876b354$021-/.*,+#"! ')(%&}~|:Z<=?>;[\]^@VAJIHGFEDCBKWXY9PQRSTULNMOmnopqrstuv portable provisional+haskell.vivian.mcphail <at> gmail <dot> com+create a figure with a single linear plot > with lower X and Y axes whose ranges are set from the data /create a figure with a single linear-log plot > with lower X and Y axes whose ranges are set from the data ,create a figure with a single log-log plot > with lower X and Y axes whose ranges are set from the data <create a figure with a single parametric plot over n points > with lower X and Y axes whose ranges are set from the data set the title set the subtitle set the gridlines set the x range set the y range set the x range from data set the y range from data set the x range from data set the y range from data set the x label set the y label portable provisional+haskell.vivian.mcphail <at> gmail <dot> com  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR)/STUUV.WXYZ[\]^_`abcdefghijklmno p q r s t u v w x y z { | } ~           0 !">#$%&'()*++,,--./0123456789:;<=>?bW@ABCDEFGGHIJKLMNOOPQRSTTUVWXYZ[\]]^^__`abcdefghijklmnopqrstuvwxyz{|}~                                                                                                                                 ! " # $ % & ' ( ) * + , - . / 0 123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~f plot-0.1.2.2Graphics.Rendering.Plot.FigureGraphics.Rendering.Plot.Render%Graphics.Rendering.Plot.Figure.SimpleControl.Monad.SupplyGraphics.Rendering.Plot.Types)Graphics.Rendering.Plot.Render.Plot.Glyph"Graphics.Rendering.Plot.Figure.Bar$Graphics.Rendering.Plot.Figure.Point#Graphics.Rendering.Plot.Figure.Line(Graphics.Rendering.Plot.Figure.Plot.Data#Graphics.Rendering.Plot.Figure.Text Graphics.Rendering.Plot.Defaults$Graphics.Rendering.Plot.Render.Types*Graphics.Rendering.Plot.Render.Plot.Format(Graphics.Rendering.Plot.Render.Plot.Data(Graphics.Rendering.Plot.Figure.Plot.Axis.Graphics.Rendering.Plot.Figure.Plot.Annotation#Graphics.Rendering.Plot.Render.Text*Graphics.Rendering.Plot.Render.Plot.Legend.Graphics.Rendering.Plot.Render.Plot.Annotation*Graphics.Rendering.Plot.Figure.Plot.Legend#Graphics.Rendering.Plot.Figure.Plot(Graphics.Rendering.Plot.Render.Plot.Axis#Graphics.Rendering.Plot.Render.PlotGraphics.Rendering.PlotFigure FigureStatePlotBorderFormattedSeries SeriesLabelFunction MinMaxSeries ErrorSeriesSurfaceSeries SeriesTypeWhiskerCandleHistBarAreaStepImpulse LinePointPointLineLegendLegendOrientationOutsideInsideLegendLocation NorthWestWest SouthWestSouth SouthEastEast NorthEastNorth LegendBorderAxis TickValues GridLinesTickMajorMinorAxisPosnValueSideAxisSideUpperLowerAxisTypeYAxisXAxisScaleLogLinearFillHeadLocation LineWidth DashStyleDashDotGlyphBotTopBulletCircleTriangleAsteriskDiamondCrossBox PointSizeTextFontSize FontFamilyColor BarFormatclearBarFormat setBarWidth setBarColoursetBarBorderWidthsetBarBorderColour PointFormatsetGlyph setPointSizesetPointColour LineFormatclearLineFormat setDashStyle setLineWidth setLineColourDatasetOrdinateAbscissa PlotFormatslinepoint linepointimpulsestepareabarhistcandlewhisker clearTextclearTextFormatsetText setFontFamily setFontStylesetFontVariant setFontWeightsetFontStretch setFontSize setFontColour OutputTypeSVGPDFPSPNG withAxisLinesetTicks setGridlinessetTickLabelFormat withAxisLabelarrowovalrectglyphtextcairo setBordersetPlotPadding withHeadingsetRangesetRangeFromDatawithAnnotations clearAxes clearAxisaddAxiswithAxis clearLegend setLegendwithLegendFormat setDataset setSeriesTypesetAllSeriesTypeswithSeriesFormatwithAllSeriesFormatsrendernewFigureStateupdateFigureStaterenderFigureState writeFigurewriteFigureStatewithTextDefaultswithLineDefaultswithPointDefaultswithBarDefaults newFiguresetFigurePadding withTitle withSubTitlesetPlotswithPlot withPlotsSimpleplotsemilogloglog parametrictitlesubtitlegridxrangeyrange xautorange yautorange xautorangeLog yautorangeLogxlabelylabelSupplyT runSupplyT MonadSupplysupplySupply nextSupplysupplyN evalSupplyT execSupplyT mapSupplyTFC runFigure _defaults _supplies_figure FigureData _fig_pads_title _subtitle_plotsFPrunPlotPlotsPlotData_border _plot_pads_heading_ranges_axes_data_legend_annote SupplyData_colours_glyphsDataFDrunData DataSeriesDS_SurfDS_1to1DS_1toNDS_YDecoratedSeries DecSeries DecorationDecWhiskDecCandDecHistDecBarDecAreaDecStep DecImpulseDecLinPtDecPointDecLine Ordinates OrdPoints OrdFunction Abscissae AbsPoints AbsFunctionMonotoneIncreasing OrdSeriesMinMaxErrorPlainOptions _lineoptions _pointoptions _baroptions _textoptionsPaddingFE runLegend LegendData_bounded _location_orient_leg_fmtFArunAxisAxisData _axis_type _position _line_type _minor_ticks _major_ticks _tick_format_label TickFormatTicksRangesRange _range_scale _range_min _range_maxAnnoteFN runAnnote Annotations AnnotationAnnCairoAnnTextAnnGlyphAnnRectAnnOvalAnnArrow AnnoteTypeCairo RectangleOvalArrow OrientationFBrunBarBarTypeTypeBar ColourBar BarOptionsWidthFLrunLineLineTypeTypeLine ColourLineNoLine LineOptionsFGrunPoint PointType FullPoint PointOptionsSolidFTrunText TextEntryFontTextSizeTextBareTextNoText TextOptions FontOptions BoundingBox_bbX_bbY_bbW_bbHexecText execPointexecLineexecBar execAnnote getRangessetTickGridlines setTickValuesexecAxis execLegend getOrdData getMinMaxData getOrdLabelisLowerisUpperisHistdecorationGetLineTypedecorationGetPointTypedecorationGetBarTypeexecDataexecPlot dataInPlot' dataInPlot legendInPlot' legendInPlot annoteInPlot' annoteInPlot execFigure getFigure getDefaults getSupplies putFigure putDefaults putSupplies modifyFiguremodifyDefaults glyphWidth renderGlyph differencerenderGlyphBoxrenderGlyphCrossrenderGlyphDiamondrenderGlyphAsteriskrenderGlyphTrianglerenderGlyphCirclerenderGlyphBulletrenderGlyphToprenderGlyphBottoBarchangeBarColourclearBarFormatting getBarColourchangeBarWidthchangeBarBorderWidthchangeBarBorderColourchangeBarOptionstoPointchangePointSizechangePointColourgetPointColourchangePointGlyphchangePointOptionstoLinechangeDashStylechangeLineWidthchangeLineColourclearLineFormatting clearLine getLineColourchangeLineOptions toDataSeries Decorations toDecoration toOrdinate toAbscissa modifyFormat SeriesTypessetSeriesType'' dataSeriesNumsetSeriesType' toAbscissae toOrdinates toDecorationsformatgetType getNTypes toDataSeries' setDataSeriesmonoStepisMonotoneIncreasingchangeFontFamilyFontchangeFontStyleFontchangeFontVariantFontchangeFontWeightFontchangeFontStretchFontchangeFontOptionsFontchangeFontFamilychangeFontStylechangeFontVariantchangeFontWeightchangeFontStretchchangeFontSize scaleFontSizechangeFontColourchangeFontTextSizechangeFontTextColour changeTextclearTextEntryFormatchangeFontOptionsdefaultXAxisSideLowerRangedefaultColourListdefaultGlyphListdefaultPointOptions defaultGlyphdefaultPointTypedefaultDashStyledefaultLineWidthdefaultLineOptionsdefaultLineTypedefaultGridLinedefaultBarWidthdefaultBarBorderWidthdefaultBarBorderColourdefaultBarOptionsdefaultBarTypedefaultFontFamilydefaultFontStyledefaultFontVariantdefaultFontWeightdefaultFontStretchdefaultFontOptionsdefaultFontSizedefaultFontColourdefaultTextOptionsdefaultBounding defaultRanges zeroPaddingdefaultPaddingdefaultFigurePaddingdefaultPlotPaddingsolidemptydefaultOptionsminorTickLengthmajorTickLengthtickLabelScaledefaultMinorTicksdefaultMajorTicksdefaultTickFormat defaultAxis defaultXAxis defaultYAxis defaultLegendlegendLabelScalelegendSampleWidth defaultSupply emptyPlot emptyPlots emptyFiguredefaultFigureState TextYAlignTTopMiddleTBottom TextXAlignTRightCentreTLeftRenderBoundedTBT runRender RenderEnv _pangocontext_renderoptions evalRenderpangobbXbbYbbWbbH bbLeftWidth bbCentreWidth bbRightWidthbbBottomHeightbbCentreHeight bbTopHeight bbShiftLeft bbShiftRight bbLowerTop bbRaiseBottom applyPads clipBoundary setColour setDashesgetDefaultTextOptionsgetTextOptionsFDsetTextOptionssetTextOptionsFDtextPadsetLineOptions setLineStylesetPointOptions setPointStyleflipVerticalMatrix flipVerticalformatLineSeries'formatLineSeriesformatPointSeries'formatPointSeriesformatBarSeries'formatBarSeries findMinIdx findMaxIdxgreySurfaceFromMatrix renderData renderSeries renderSamplesrenderMinMaxSamples renderSamplerenderMinMaxSamplerenderLineSample endLineSamplerenderPointSampleendPointSamplerenderImpulseSampleendImpulseSamplerenderStepSample endStepSamplerenderAreaSample endAreaSamplerenderBarSample endBarSamplerenderHistSample endHistSamplerenderCandleSampleendCandleSamplerenderWhiskerSampleendWhiskerSamplechangeLineTypechangeMinorTickschangeMajorTickschangeTickFormat changeLabel withGridLine lineInAnnote pointInAnnote barInAnnote textInAnnoteclearAnnotationstextSizetextSizeVerticalshowText formatText renderTextrenderTextVertical renderLegendrenderLegendOutside renderBorderrenderLegendInsiderenderLegendEntriesrenderLegendEntryrenderLegendSample getLabelsrenderAnnotationsrenderAnnotation withLegendwithData findMinMax abscMinMaxordDimcalculateRangesmoveTolineTo addPadding maxPadding isZeroPadding renderAxesshiftForAxisLabelrenderAxisLabel shiftForTicksshiftForTicks' renderAxis lowerRangerenderAxisLine tickPositionrenderAxisTicksminorTickLengthsrenderAxisTick formatTickbbPlot renderPlots renderPlotwithImageSurfacewriteSurfaceToPNG writeSurfacewriteSurfaceFS renderFiguresimple