у5q      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ [ \ ] ^ _ ` a b c d e f g h i j k l m n o p [ Data type for a font $Abstract data type for a fill style 2The contained Cairo action sets the required fill % style in the Cairo rendering state. "Data type for the style of a line 4Abstract data type for the style of a plotted point 8The contained Cairo action draws a point in the desired , style, at the supplied device coordinates. ;The reader monad containing context information to control  the rendering process. .The environment present in the CRender Monad. !0A transform applied immediately prior to values ' being displayed in device coordinates 8When device coordinates correspond to pixels, a cleaner : image is created if this transform rounds to the nearest : pixel. With higher-resolution output, this transform can  just be the identity function. "#$%&'%A rectangle is defined by two points ()"a function mapping between points *+,-./0123A point in two dimensions 4567scale a vector by a constant 8add a point and a vector 9subtract a vector from a point :subtract two points ;:Create a rectangle based upon the coordinates of 4 points <&Test if a point is within a rectangle =>FqGI+stroke the lines between successive points Jmake a path from a rectable O:Return the bounding rectancgle for a text string rendered  in the current context. P6Function to draw a textual label anchored by one of it' s corners  or edges. Q<Execute a rendering action in a saved context (ie bracketed  between C.save and C.restore) Rradius of circle colour Sradius of circle thickness of line Tradius of circle thickness of line Number of vertices Is right-side-up? Uradius of circle Number of vertices Is right-side-up? Vradius of circle thickness of line Wradius of circle thickness of line Xradius of circle thickness of line Ywidth of line Zwidth of line 'the dash pattern in device coordinates [`abcdefghij  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghij'(3456/012 ;89:7<"&%$#)QHIFGJ^_?@ABCDE*+,-.NYZL\[M ]KUTRSVWXPO !=>`abcdefghiZ    ! !"&%$##$%&'(()*+,-.+,-./0120123456456789:;<=>FGIJOPQRSTUVWXYZ[`abcdefghi!rstuvwxyz{j7A type class abtracting the conversion of a value to a  Renderable. kl;A Renderable is a record of functions required to layout a  graphic element. mn,a Cairo action to calculate a minimum size, o2a Cairo action for drawing it within a rectangle. 6 The rectangle is from the origin to the given point. The resulting pick( function maps a point in the image to  a value. p3A function that maps a point in device coordinates  to some value. 0Perhaps it might be generalised from Maybe a to & (MonadPlus m ) => m a in the future. qs8Create a blank renderable with a specified minimum size t:Create a blank renderable with a minimum size the same as  some other renderable. u7Replace the pick function of a renderable with another v:Map a function over result of a renderables pickfunction. w/Add some spacing at the edges of a renderable. The spacing to be added The source renderable |x3Overlay a renderable over a solid background fill. y?Output the given renderable to a PNG file of the specifed size % (in pixels), to the specified file. z?Output the given renderable to a PDF file of the specifed size % (in points), to the specified file. {FOutput the given renderable to a postscript file of the specifed size % (in points), to the specified file. |@Output the given renderable to an SVG file of the specifed size % (in points), to the specified file. <Helper function for using a renderable, when we generate it  in the CRender monad. AConstruct a renderable from a text string, aligned with the axes JConstruct a renderable from a text string, rotated wrt to axes. The angle  of rotation is in degrees. }!Accessor for field rect_minsize_ #Accessor for field rect_fillStyle_ #Accessor for field rect_lineStyle_ %Accessor for field rect_cornerStyle_ jklmnopqrstuvwxyz{|}~lmnojkpyz{|~}xwrstuvqjkklmnomnopqstuvwxyz{|F~How to display a time >TimeSeq is a (potentially infinite) set of times. When passes E a reference time, the function returns a a pair of lists. The first ? contains all times in the set less than the reference time in D decreasing order. The second contains all times in the set greater ; than or equal to the reference time, in increasing order. *The function used to show the axes labels *The function used to show the axes labels (The target number of labels to be shown 'The target number of ticks to be shown 7Collect the information we need to render an axis. The 0 bool is true if the axis direction is reversed ;A function to generate the axis data given the data values  to be plotted against it. .Control values for how an axis gets displayed 2How far the labels are to be drawn from the axis. @The basic data associated with an axis showing values of type x 4The axis_viewport_ function maps values into device  cordinates. %The tick marks on the axis as pairs. / The first element is the position on the axis 3 (in viewport units) and the second element is the + length of the tick in output coordinates. < The tick starts on the axis, and positive number are drawn  towards the plot area. 3The labels on an axis as pairs. The first element 5 is the position on the axis (in viewport units) and & the second is the label text string. 4The positions on the axis (in viewport units) where  we want to show grid lines. 7Calculate the amount by which the labels extend beyond  the ends of the axis &Generate a linear axis automatically. K The supplied axis is used as a template, with the viewport, ticks, labels G and grid set appropriately for the data displayed against that axies. H The resulting axis will only show a grid if the template has some grid  values. #Generate a log axis automatically. K The supplied axis is used as a template, with the viewport, ticks, labels G and grid set appropriately for the data displayed against that axies. H The resulting axis will only show a grid if the template has some grid  values. *Map a LocalTime value to a plot cordinate $Map a plot cordinate to a LocalTime  Create an  to for a time axis. The first  sets the minor ticks, * and the ultimate range will aligned to it's elements. The second  sets  the labels and grid. The ~* is used to format LocalTimes for labels. @ The values to be plotted against this axis can be created with  A  for calendar days A  for calendar months A  for calendar years NAutomatically choose a suitable time axis, based upon the time range of data. @ The values to be plotted against this axis can be created with  3A linear mapping of points in one range to another 9958CWhen the error is symetric, we can simply pass in dx for the error ;Value defining a series of error intervals, and a style in  which to render them ;Value for holding a point with associated error bounds for  each axis. ?Value specifying a plot filling the area between two sets of Y * coordinates, given common X coordinates. 6Value defining a series of datapoints, and a style in  which to render them 8Value defining a series of (possibly disjointed) lines, % and a style in which to render them >a type class abstracting the conversion of a value to a Plot. ,Interface to control plotting on a 2D area. JGiven the mapping between model space coordinates and device coordinates,  render this plot into a chart. =Render a small sample of this plot into the given rectangle. 4 This is for used to generate a the legend a chart. <All of the model space coordinates to be plotted. These are - used to autoscale the axes where necessary. 00*          9 >A Layout1 value is a single plot area, with optional: axes on @ each of the 4 sides; title at the top; legend at the bottom. It's E parameterised by the types of values to be plotted on the horizonal  and vertical axes.   7True if the grid is to be rendered on top of the Plots CTrue if left to right (bottom to top) is to show descending values A MAxisFn1 is a function that generates an (optional) axis - given the points plotted against that axis.  !?Create an axis when there are points to be plotted against it. "Never create an axis #$%&'()*+,-./0123=Helper to update all axis styles on a Layout1 simultaneously 4BHelper to update data member of both horizontal axes in a Layout1 5@Helper to update data member of both vertical axes in a Layout1 69Helper to set the forground color uniformly on a Layout1 ,    !"#$%&'()*+,-./0123456,    !"3456./012#$%()'&*+,-,      !"#$%&'()*+,-./0123456 789:;<=>?@ABCDEFGHIMNOPQRSTUVWXY#789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY#CDEFGHI<=>?@AB789:;LJKMNOPQRSTUVWXY 789:;89:;<=>?@AB=>?@ABCDEFGHIDEFGHIMNOPQRSTUVWXY J  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXY ZZZZ 7[\5Type to define a few simple properties of each plot. ]^_`abcdefghijklEThe main plotting function. The idea behind PlotType is shamelessly I copied from Text.Printf (and is not exported). All you need to know is H that your arguments need to be in class PlotArg. And PlotArg consists  of functions and [Double]% and String and PlotKind or [PlotKind]. mDisplay a plot on the screen. nSave a plot as a PDF file. o"Save a plot as a postscript file. Save a plot as a png file p[\]^_`abcdefghijklmnopl\kjihgfedcba`_^]pmno[[\kjihgfedcba`_^]]^_`abcdefghijklmnop   !"#$$%&''()*+,-../0012344567789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoopqrstuvwxyz{|}~       !"#$%&'())*+,--./01233456789:;<=>?@ABCDEFGH I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _`aabcdefghijklmnopqrstuvwxyz{|}}~                                   Chart-0.9Graphics.Rendering.Chart.Types#Graphics.Rendering.Chart.RenderableGraphics.Rendering.Chart.AxisGraphics.Rendering.Chart.PlotGraphics.Rendering.Chart.GridGraphics.Rendering.Chart.LegendGraphics.Rendering.Chart.LayoutGraphics.Rendering.Chart.PieGraphics.Rendering.Chart.GtkGraphics.Rendering.Chart.SimpleGraphics.Rendering.Chart VTextAnchor VTA_BaseLine VTA_Bottom VTA_CentreVTA_Top HTextAnchor HTA_Right HTA_CentreHTA_LeftRectSizeRangeCairoFontStyle font_name_ font_size_ font_slant_ font_weight_ font_color_CairoFillStyleCairoLineStyle line_width_ line_color_ line_dashes_ line_cap_ line_join_CairoPointStyleCRenderDRCEnvcenv_point_alignfnRectEdgeE_RightE_LeftE_BottomE_TopRect PointMapFnColorc_rc_gc_bVectorv_xv_yPointp_xp_yvscalepvaddpvsubpsubmkrectwithin runCRendercblackgrey8whiteredgreenbluedefaultColorSeqmoveTolineTo setClipRegion strokeLinesrectPath setFontStyle setLineStyle setFillStylesetSourceColortextSizedrawTextpreserveCState filledCircles hollowCircles hollowPolygon filledPolygonplussesexesstars solidLine dashedLinesolidFillStyledefaultPointStyledefaultFontStyle isValidNumbermaybeM line_width line_color line_dashesline_cap line_join font_name font_size font_slant font_weight font_color ToRenderable toRenderable RenderableminsizerenderPickFn nullPickFnemptyRenderablespacerspacer1 setPickFn mapPickFn addMarginsfillBackgroundrenderableToPNGFilerenderableToPDFFilerenderableToPSFilerenderableToSVGFile bitmapEnv vectorEnvembedRenderablelabelrlabel rect_minsizerect_fillStylerect_lineStylerect_cornerStyleLogValue PlotValuetoValueautoAxis LogAxisParams loga_labelf_LinearAxisParams la_labelf_ la_nLabels_ la_nTicks_AxisTAxisFn AxisStyleaxis_line_style_axis_label_style_axis_grid_style_axis_label_gap_AxisDataaxis_viewport_ axis_ticks_ axis_labels_ axis_grid_axisToRenderable axisGridNoneaxisGridAtTicksaxisGridAtLabels axisOverhangrenderAxisGriddefaultLinearAxisautoScaledAxisautoScaledLogAxisdefaultLogAxisdefaultAxisLineStyledefaultAxisStyletimeAxisdaysmonthsyears autoTimeAxis axis_viewport axis_ticks axis_labels axis_gridaxis_line_styleaxis_label_styleaxis_grid_styleaxis_label_gap la_labelf la_nLabels la_nTicks loga_labelf PlotErrBarsplot_errbars_line_style_plot_errbars_tick_length_plot_errbars_overhang_plot_errbars_values_ErrPointep_xep_yPlotFillBetweenplot_fillbetween_style_plot_fillbetween_values_ PlotPointsplot_points_style_plot_points_values_ PlotLinesplot_lines_style_plot_lines_values_ToPlottoPlotPlot plot_render_plot_render_legend_plot_all_points_defaultPlotLineStyledefaultPlotLinesdefaultPlotPointsdefaultPlotFillBetween symErrPointdefaultPlotErrBars plot_renderplot_render_legendplot_all_pointsplot_lines_styleplot_lines_valuesplot_points_styleplot_points_valuesplot_fillbetween_styleplot_fillbetween_valuesplot_errbars_line_styleplot_errbars_tick_lengthplot_errbars_overhangplot_errbars_valuesGridwidthheighttvaltspanemptynulltabovebesideaboveNbesideNoverlay.|../.weightsgridToRenderableLegend LegendStylelegend_label_style_legend_margin_legend_plot_size_legendToRenderabledefaultLegendStylelegend_label_style legend_marginlegend_plot_sizeLayout1layout1_background_layout1_title_layout1_title_style_layout1_bottom_axis_layout1_top_axis_layout1_left_axis_layout1_right_axis_layout1_margin_layout1_plots_layout1_legend_layout1_grid_last_ LayoutAxislaxis_title_style_ laxis_title_ laxis_style_ laxis_data_laxis_reverse_MAxisFndefaultLayout1mAxisnoAxislayout1_background layout1_titlelayout1_title_stylelayout1_bottom_axislayout1_top_axislayout1_left_axislayout1_right_axislayout1_margin layout1_plotslayout1_legendlayout1_grid_lastlaxis_title_style laxis_title laxis_style laxis_data laxis_reverseupdateAllAxesStylesupdateXAxesDataupdateYAxesData setForegroundPieItem pitem_label_ pitem_offset_ pitem_value_PieChart pie_data_ pie_colors_pie_label_style_pie_label_line_style_pie_start_angle_ PieLayout pie_title_pie_title_style_ pie_plot_pie_background_ pie_margin_defaultPieChartdefaultPieItemdefaultPieLayout pie_titlepie_title_stylepie_plotpie_background pie_marginpie_data pie_colorspie_label_stylepie_label_line_stylepie_start_angle pitem_label pitem_offset pitem_valuerenderableToWindow plotLayoutPlotKindSolidDottedDashed LittleDotSymbolsStarExPlusDiamondSquare DownTriangleTriangle HollowCircle FilledCircleNameplot plotWindowplotPDFplotPSxcoordsalignp Rectangle rect_minsize_rect_fillStyle_rect_lineStyle_rect_cornerStyle_RectCornerStyleRCornerRounded RCornerBevel RCornerSquare transform$fToRenderableRectangle TimeLabelFnTimeSeqGridMode GridAtMinor GridAtMajorGridNone minsizeAxis renderAxis axisMappingsteps chooseStepmakeAxislog10logTicksdoubleFromLocalTimelocalTimeFromDoublevmapErrValueev_lowev_bestev_highrenderPlotLinesrenderPlotLegendLinesrenderPlotPointsrenderPlotLegendPointsrenderPlotFillBetweenrenderPlotLegendFillplotAllPointsFillBetweenrenderPlotErrBarsrenderPlotLegendErrBarsDArrayFlatElFlatGridNullEmptyOverlayBesideAboveValueCell SpaceWeightSizeSpanmapGridMflattenflatten2foldTjoin_nub Layout1Pick L1P_RightAxis L1P_LeftAxis L1P_TopAxisL1P_BottomAxis L1P_PlotArea L1P_Legendlayout1ToRenderableplotsToRenderable renderPlotsgetAxesallPlottedValuesdefaultLayoutAxis updateCanvasIsPlottoUPlot'PlotArgtoUPlotUPlotXUKind UFunctionUDoublesUString PlotPNGTypeplp PlotPSTypepls PlotPDFTypepldPlotWindowTypeplwPlotTypepl Layout1DDD InternalPlotIPXIPY styleColor styleSymboliplotnamestr2k str2khelperuplotplotPNG