WO      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$% & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ `abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~! Safe-Inferred?Checks if the given value is and actual numeric value and not # a concept like NaN or infinity.  Version of  that returns a monadic value.  Safe-Inferred+,Copied from Graphics.Rendering.Cairo.Matrix The path type used by Charts. -A path can consist of several subpaths. Each  is started by a  operation. All subpaths 6 are open, except the last one, which may be closed  using the   operation. When filling a path ' all subpaths are closed implicitly. 2Closing a subpath means that a line is drawn from 4 the end point to the start point of the subpath. If a  (or  ) is drawn a implicit line 3 from the last end point of the subpath is drawn 6 to the beginning of the arc. Another implicit line 7 is drawn from the end of an arc to the beginning of  the next path segment. 2The beginning of a subpath is either (0,0) or set  by a . instruction. If the first subpath is started > with an arc the beginning of that subpath is the beginning  of the arc. Edge of a rectangle. &A rectangle is defined by two points. #A function mapping between points. A vector in two dimensions. #A point in two dimensions. ' Convert a # to a . (Scale a vector by a constant. )Add a point and a vector. * Subtract 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. .1Intersects the rectangles. If they intersect the ' intersection rectangle is returned.   is the empty rectangle / intersection and   is the infinite plane. /Make a path from a rectangle. 0.Move the paths pointer to the given location. 1Short-cut for 0 , if you don't want to create a #. 2BMove the paths pointer to the given location and draw a straight  line while doing so. 3Short-cut for 2 , if you don't want to create a #. 43Draw the arc of a circle. A straight line connects ? the end of the previous path with the beginning of the arc. > The zero angle points in direction of the positive x-axis. > Angles increase in clock-wise direction. If the stop angle C is smaller then the start angle it is increased by multiples of  2 * pi until is is greater or equal. 5Short-cut for 4 , if you don't want to create a #. 6Like 43, but draws from the stop angle to the start angle  instead of between them. 7Short-cut for 6 , if you don't want to create a #. 82A closed empty path. Closes a path when appended. 9+Fold the given path to a monoid structure. :<Enriches the path with explicit instructions to draw lines, ) that otherwise would be implicit. See   for details + about what lines in paths are implicit.  Utility for :. ;*Transform a point using the given matrix. <"Rotate a point around the origin. " The angle is given in radians. =Scale a point. >Translate a point. ,Copied from Graphics.Rendering.Cairo.Matrix ,Copied from Graphics.Rendering.Cairo.Matrix ?,Copied from Graphics.Rendering.Cairo.Matrix @8Copied and adopted from Graphics.Rendering.Cairo.Matrix A8Copied and adopted from Graphics.Rendering.Cairo.Matrix B,Copied from Graphics.Rendering.Cairo.Matrix ( Rotations angle is given in radians. C,Copied from Graphics.Rendering.Cairo.Matrix D,Copied from Graphics.Rendering.Cairo.Matrix E,Copied from Graphics.Rendering.Cairo.Matrix ,Copied from Graphics.Rendering.Cairo.Matrix =Paths are monoids. After a path is closed you can not append 4 anything to it anymore. The empty path is open.  Use 8 to close a path. I  !"#$%&'()*+,-./01234 Center point of the circle arc. Redius of the circle. 'Angle to start drawing at, in radians. &Angle to stop drawing at, in radians. 56789MoveTo LineTo Arc ArcNeg Close  Path to fold :;<=>?@ABCDED  !"#$%&'()*+,-./0123456789:;<=>?@ABCDED#$%& !"',/)*+(-.  2031456789:;=<> ?BA@CDE.   !"#$%&'()*+,-./0123456789:;<=>?@ABCDENone0F3Holds the point and coordinate alignment function. H2An adjustment applied immediately prior to points * 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. 1This is usually used to align prior to stroking. I6A adjustment applied immediately prior to coordinates  being transformed. 0This is usually used to align prior to filling. J;A function to align points for a certain rendering device. K%Abstract data type for a fill style. 2The contained Cairo action sets the required fill ' style in the Cairo rendering state. NText metrics returned by textSize. PThe total width of the text. Q(The ascent or space above the baseline. R(The decent or space below the baseline. SThe Y bearing. TThe total height of the text. U*Possible vertical anchor points for text. Z,Possible horizontal anchor points for text. ^Data type for a font. `%The font family or font face to use. a7The height of the rendered font in device coordinates. bThe slant to render with. cThe weight to render with. dThe color to render text with. e The possible weights of a font. f Bold font. g"Normal font style without weight. hThe possible slants of a font. iWith a greater slant. jWith a slight slant. k!Normal font style without slant. l#Data type for the style of a line. n)The thickness of a line in device units. oThe color of a line. pFThe dash pattern. Every value at a even index gives a dash width and A every value at a odd index gives a gap width in device units. qHow to end a line. rHow to connect two lines. s0The different supported ways to join line ends. t*Like miter, but cuts it off if a certain  threshold is exceeded. u+Draw a circle fragment to connet line end. v0Extends the outline until they meet each other. w#The different supported line ends. x"Make a square that ends the line. yMake a rounded line end. zJust cut the line straight. {The default font style. |3Alignment to render good on raster based graphics. }3Alignment to render good on vector based graphics. The default fill style. The default font style. The default font weight. The default font slant. The default line style. GFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~BFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Bwzyxsvutlmnopqrhkjiegf^_`abcd{Z]\[UYXWVNOPQRSTKLMJFGHI|}~FGHIJKLMNOPQRSTUYXWVZ]\[^_`abcdegfhkjilmnopqrsvutwzyx{|}~None6Alias so the old name for rendering code still works. A 6 provides the capability to render a chart somewhere. BThe coordinate system of the backend has its initial origin (0,0) C in the top left corner of the drawing plane. The x-axis points ? towards the top right corner and the y-axis points towards H the bottom left corner. The unit used by coordinates, the font size, C and lengths is the always the same, but depends on the backend. ' All angles are measured in radians. ?The line, fill and font style are set to their default values  initially. <Information about the semantics of the instructions can be ! found in the documentation of . 8The abstract drawing operation generated when using the  the chart drawing API. JSee the documentation of the different function for the correct semantics  of each instruction:  ,   ,   , , F  ,   , ,  0Stroke the outline of the given path using the  current l. This function does not perform ) alignment operations on the path. See   for the exact semantic  of paths. &Fill the given path using the current K. 3 The given path will be closed prior to filling.  This function does not perform % alignment operations on the path.  See  " for the exact semantic of paths.  Calculate a N# object with rendering information 9 about the given string without actually rendering it. FDraw a single-line textual label anchored by the baseline (vertical) - left (horizontal) point. Uses the current ^ for drawing. -Apply the given transformation in this local 7 environment when drawing. The given transformation 5 is applied after the current transformation. This  means both are combined. 'Use the given font style in this local " environment when drawing text. 1An implementing backend is expected to guarentee + to support the following font families: serif,  sans-serif and  monospace; 9If the backend is not able to find or load a given font : it is required to fall back to a custom fail-safe font  and use it instead. 'Use the given fill style in this local # environment when filling paths. 'Use the given line style in this local $ environment when stroking paths. .Use the given clipping rectangle when drawing 6 in this local environment. The new clipping region : is intersected with the given clip region. You cannot  escape the clip! !Get the point alignment function &Get the coordinate alignment function  NoneLFJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~LNOPQRSTwzyxsvutlmnopqr~KLMegfhkji^_`abcd{Z]\[UYXWVJF}|None25Abstract data type for the style of a plotted point. "The color to fill the point with. &The color to stroke the outline with. The width of the outline. <The radius of the tightest surrounding circle of the point.  The shape. 'The different shapes a point can have. #Combination of a cross and a plus.  A cross.  A plus sign. )Number of vertices and is right-side-up?  A circle. 7Apply a local rotation. The angle is given in radians. Apply a local translation. Apply a local scale. #Apply a local scale on the x-axis. #Apply a local scale on the y-axis.  Changes the l and K to comply with  the given . =Align the path by applying the given function on all points. $Align the path using the environment'!s alignment function for points. , This is generally useful when stroking.  See  and . $Align the path using the environment'&s alignment function for coordinates. + This is generally useful when filling.  See  and . "The points will be aligned by the  , so that C when drawing bitmaps, 1 pixel wide lines will be centred on the  pixels. "The points will be aligned by the  , so that C when drawing bitmaps, the edges of the region will fall between  pixels. %Align the point using the environment'!s alignment function for points.  See . %Align the point using the environment'&s alignment function for coordinates.  See . 4Create a path by connecting all points with a line.  The path is not closed. )Draw lines between the specified points. (Fill the region with the given corners. ADraw a line of text that is aligned at a different anchor point.  See . 4Draw a textual label anchored by one of its corners @ or edges, with rotation. Rotation angle is given in degrees, . rotation is performed around anchor point.  See . ?Draw a multi-line textual label anchored by one of its corners @ or edges, with rotation. Rotation angle is given in degrees, . rotation is performed around anchor point.  See .  7Calculate the correct offset to align the text anchor.  =Calculate the correct offset to align the horizontal anchor.  ;Calculate the correct offset to align the vertical anchor. ;Return the bounding rectangle for a text string positioned  where it would be drawn by .  See . 6Get the width and height of the string when rendered.  See . Default style for points. +Draw a single point at the given location. IThe default sequence of colours to use when plotings different data sets  in a graph. (Create a solid line style (not dashed). Create a dashed line style.  Style for filled circle points. !Style for stroked circle points. "Style for stroked polygon points. !Style for filled polygon points. Plus sign point style. Cross point style. +Combination of plus and cross point style. 7Fill style that fill everything this the given colour.  !Default style to use for points. 9   'Style to use when rendering the point. !Position of the point to render. Width of line. Colour of line. Width of line. (The dash pattern in device coordinates. Colour of line. Radius of circle.  Fill colour. Radius of circle. Thickness of line. Radius of circle. Thickness of line. Number of vertices. Is right-side-up? Colour of line. Radius of circle. Number of vertices. Is right-side-up?  Fill color. 'Radius of tightest surrounding circle. Thickness of line. Color of line. Radius of circle. Thickness of line. Color of line. Radius of circle. Thickness of line. Color of line.  FJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~4.    NoneCA type class abtracting the conversion of a value to a Renderable. ;A Renderable is a record of functions required to layout a  graphic element. ,A Cairo action to calculate a minimum size. 2A Cairo action for drawing it within a rectangle. 8 The rectangle is from the origin to the given point. The resulting pick1 function maps a point in the image to a value. BA 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. 9Create a blank renderable with a specified minimum size. :Create a blank renderable with a minimum size the same as  some other renderable. 8Replace the pick function of a renderable with another. .Map a function over the result of a renderable's pickfunction, keeping only   results. *Map a function over result of a renderable's pickfunction. /Add some spacing at the edges of a renderable. 3Overlay a renderable over a solid background fill. <Helper function for using a renderable, when we generate it  in the CRender monad. BConstruct 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. %The spacing to be added. The source renderable. None#7Collect the information we need to render an axis. The 3 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. l! to use for axis line and ticks. ^ to use for axis labels. l to use for axis grid. 2How far the labels are to be drawn from the axis. AThe basic data associated with an axis showing values of type x. ,Which parts of the axis shall be displayed. AThe _axis_viewport function maps values into device coordinates. DThe _axis_tropweiv function maps device coordinates back to values. %The tick marks on the axis as pairs. 1 The first element is the position on the axis 5 (in viewport units) and the second element is the - length of the tick in output coordinates. ? The tick starts on the axis, and positive numbers are drawn  towards the plot area. >The labels on an axis as pairs. The first element of the pair ; is the position on the axis (in viewport units) and the ? second is the label text string. Note that multiple sets of ? labels can be specified, and are shown successively further  away from the axis line. 4The positions on the axis (in viewport units) where  we want to show grid lines. <Configures whick visual elements of a axis are shown at the $ appropriate edge of a plot area. *Whether to display a line along the axis. #Whether to display the tick marks. Whether to display the labels. .A typeclass abstracting the functions we need . to be able to plot against an axis of type a 3Construct a renderable from an axis, in order that ; it can be composed with other renderables and drawn. This > does not include the drawing of the grid, which must be done  separately by the   function. +Modifier to remove grid lines from an axis :Modifier to position grid lines to line up with the ticks  EModifier to position grid lines to line up with only the major ticks  ;Modifier to position grid lines to line up with the labels  %Modifier to change labels on an axis  7Calculate the amount by which the labels extend beyond  the ends of the axis. BConstruct an axis given the positions for ticks, grid lines, and $ labels, and the labelling function BConstruct an axis given the positions for ticks, grid lines, and 5 labels, and the positioning and labelling functions  The default l of an axis.  The default l of a plot area grid. 4A linear mapping of points in one range to another. :The inverse mapping from device co-ordinate range back to  interesting values. 4A linear mapping of points in one range to another. ?An inverse linear mapping of points from one range to another. ,By default all parts of a axis are visible. D     !"#$% & !"#8      !"#8     #" !0     !"#$% & !"#None$'$$$' None%2Type for capturing values plotted by index number : (ie position in a list) rather than a numerical value. (:Augment a list of values with index numbers for plotting. )3Create an axis for values indexed by position. The . list of strings are the labels to be used. %&'()(%&'()%&')(%&'()( None ,+The function used to show the axes labels. /+The function used to show the axes labels. 0)The target number of labels to be shown. 1(The target number of ticks to be shown. 29A wrapper class for doubles used to indicate they are to  be plotted against a log axis. 49A wrapper class for doubles used to indicate they are to ' be plotted against a percentage axis. 81Generate a linear axis with the specified bounds 9CGenerate a linear axis automatically, scaled appropriately for the  input data. :=Given a target number of values, and a list of input points, H find evenly spaced values from the set {1*X, 2*X, 2.5*X, 5*X} (where ? X is some power of ten) that evenly cover the input points. <>Generate a log axis automatically, scaled appropriate for the  input data. $*+,-./0123456)789*+:;<,-./012345=>?@*+,-./0123456789:;<=>?@456-./0123*+,7;89<:=>?@*+,-./0123456)789*+:;<,-./012345=>?@ NoneABC678ABCACBABC678 None 9How to display a time :>TimeSeq is a (potentially infinite) set of times. When passed G a reference time, the function returns a a pair of lists. The first A contains all times in the set less than the reference time in F decreasing order. The second contains all times in the set greater = than or equal to the reference time, in increasing order. ;,Map a LocalTime value to a plot coordinate. <&Map a plot coordinate to a LocalTime. D Create an  to for a time axis. The first : sets the H minor ticks, and the ultimate range will be aligned to its elements.  The second :& sets the labels and grid. The third : ( sets the second line of labels. The 9 is C used to format LocalTimes for labels. The values to be plotted ) against this axis can be created with ;. =A : for hours. EA : for calendar days. FA : for calendar months. GA : for calendar years. >A : for no sequence at all. HEAutomatically choose a suitable time axis, based upon the time range G of data. The values to be plotted against this axis can be created  with ;. ?@A9:;<BCDDEFGHIJKLMNOP=EFG>HQDEFGHDHEFG?A@9:;<BCDDEFGHIJKLMNOP=EFG>HQNone]      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH NoneI'Abstract datatype representing a grid. RAn empty 0x0 grid cell. SAn empty 1x1 grid cell. TTwo grids positioned one over  the other. UOne grid horizontally beside  the other. VOne grid above the other. Size is % their cached total size (so it is  NOT specified manually). WA singleton grid item a spanning ' a given rectangle (measured in grid $ cells), with given space weight. XHWhen more space is available for an item than the total width of items, ( extra added space is proportional to ' space weight'. M4A 1x1 grid from a given value, with no extra space. NLA WxH (measured in cells) grid from a given value, with space weight (1,1). OA 1x1 empty grid. PA 0x0 empty grid. RDA value occupying 1 row with the same horizontal span as the grid. S=A value placed below the grid, occupying 1 row with the same  horizontal span as the grid. T@A value placed to the left of the grid, occupying 1 column with ' the same vertical span as the grid. UAA value placed to the right of the grid, occupying 1 column with ' the same vertical span as the grid. V=A value placed under a grid, with the same span as the grid. W<A value placed over a grid, with the same span as the grid. [LOne grid over the other. The first argument is shallow, the second is deep. \A synonym for X. ]A synonym for Q. ^BSets the space weight of *every* cell of the grid to given value. *YZ[IRSTUVW\X]JKLMNOPQRSTUVWXYZ[\]^^_`ab_cdIJKLMNOPQRSTUVWXYZ[\]^_IJMNOP\]QYXZ[KL_^SRTUVW$YZ[IWVUTSR\X]JKLMNOPQRSTUVWXYZ[\]^^_`ab_cdNone`>A type class abstracting the conversion of a value to a Plot. b,Interface to control plotting on a 2D area. d=Given the mapping between model space coordinates and device / coordinates, render this plot into a chart. e=Details for how to show this plot in a legend. For each item > the string is the text to show, and the function renders a ! graphical sample of the plot. f<All of the model space coordinates to be plotted. These are / used to autoscale the axes where necessary. g8Join any two plots together (they will share a legend). `abcdefghijk `abcdefghijk bcdefg`ahkji`abcdefghijkNonen8Legends can be constructed in two orientations: in rows : (where we specify the maximum number of columns), and in 7 columns (where we specify the maximum number of rows) lmnopqrstuvwefxghyz{|lmnopqrstuvwxyz{|lmqrstuvnpoxwyz|{ lmnpoqrstuvwefxghyz{|None}8Value defining a series of (possibly disjointed) lines, ( and a style in which to render them. The lines to be plotted 0Additional lines to be plotted, specified using 2 the Limit type to allow referencing the edges of  the plot area. 2Helper function to plot a single horizontal line. 0Helper function to plot a single vertical line. }~ijkl}~}~ }~ijklNone6Value defining a series of datapoints, and a style in  which to render them. mnop   mnopNone?Value specifying a plot filling the area between two sets of Y , coordinates, given common X coordinates. qrstuv   qrstuvNone;Value defining a series of error intervals, and a style in  which to render them. FValue for holding a point with associated error bounds for each axis. EWhen the error is symmetric, we can simply pass in dx for the error. wxyz{wxyz{None5A Value holding price intervals for a given x-coord. D An alternative view is that these are statistical intervals: the 1 0th, 25th, 50th, 75th, and 100th percentiles. FValue defining a financial interval: opening and closing prices, with ; maxima and minima; and a style in which to render them. G By convention, there are different fill styles depending on whether  the price rises (open < close) or falls (close < open). K (This plot type can also be re-purposed for statistical intervals, e.g. ? minimum, first quartile, median, third quartile, maximum.) "|}~ |}~None,Value describing how to plot a set of bars. + Note that the input data is typed [(x,[y])], ie for each x value : we plot several y values. Typically the size of each [y] list would  be the same. /This value specifies whether each value from [y] should be - shown beside or above the previous value. -The style in which to draw each element of [y]. A fill style > is required, and if a linestyle is given, each bar will be  outlined. The title of each element of [y]%. These will be shown in the legend. 3This value controls how the widths of the bars are B calculated. Either the widths of the bars, or the gaps between  them can be fixed. <This value controls how bars for a fixed x are aligned with 8 respect to the device coordinate corresponding to x. /The starting level for the chart (normally 0). !The actual points to be plotted. How bars for a given (x,[y]%) are aligned with respect to screen , coordinate corresponding to x (deviceX). %The right edge of bars is at deviceX !Bars are centered around deviceX $The left edge of bars is at deviceX .(BarsFixGap g mw) means make the gaps between 5 the bars equal to g, but with a minimum bar width  of mw (All bars have the same width in pixels. (Bars for a fixed x are put horizontally  beside each other. *Bars for a fixed x are stacked vertically  on top of each other. )!! None9Value defining some hidden x and y values. The values don't 1 get displayed, but still affect axis scaling. None2Value for describing a series of text annotations > to be placed at arbitrary points on the graph. Annotations B can be rotated and styled. Rotation angle is given in degrees, 3 rotation is performend around the anchor point.    None9A collection of unconnected spots, with x,y position, an B independent z value to be represented by the area of the spot, F and in addition, a fourth variable t to be represented by a colour H from a given palette. (A linear transfer function from t to palette  is assumed.)  the largest size of spot  =A collection of unconnected spots, with x,y position, and an B independent z value to be represented by the area of the spot. the largest size of spot /                        None/!"#$%&'()*+,-./0123456789:;<=>?@ABCDE%!"#$%&'()*+,-./0123456789:;<=>?@ABCDE%-./0123&'()*+,!"#$%64587<=;9:?>A@BCDE!"#$%&'()*+,-./0123456789:;<=>?@ABCDENone`abcdefghijk}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDENoneMF$A container for a set of vertically Js. 8 The x axis of the different layouts will be aligned. HGThe stacked layouts from top (first element) to bottom (last element). IHIf the different legends shall be combined in one legend at the bottom. J;A layout with its y type hidden, so that it can be stacked B with other layouts with differing y axis, but the same x axis.  See F. KA M to stack. LA ^ to stack. M;A LayoutLR value is a single plot area, with an x axis and ? independent left and right y axes, with a title at the top;  legend at the bottom. It'&s parametrized by the types of values * to be plotted on the x and two y axes. O*How to fill the background of everything. P)How to fill the background of the plot, - if different from the overall background. Q"Title to display above the chart. R!Font style to use for the title. SRules to generate the x axis. T%Visibility options for the top axis. U(Visibility options for the bottom axis. V#Rules to generate the left y axis. W&Visibility options for the left axis. X$Rules to generate the right y axis. Y'Visibility options for the right axis. Z$The data sets to plot in the chart. # The are ploted over each other. 0 The either type associates the plot with the  left or right y axis. [How to style the legend. \The margin distance to use. ]If the grid shall be rendered  beneath (False ) or over (True ) all plots. ^:A Layout value is a single plot area, with single x and y A axis. The title is at the top and the legend at the bottom. It's > parametrized by the types of values to be plotted on the x  and y axes. `*How to fill the background of everything. a)How to fill the background of the plot, - if different from the overall background. b"Title to display above the chart. c!Font style to use for the title. dRules to generate the x axis. e%Visibility options for the top axis. f(Visibility options for the bottom axis. gRules to generate the y axis. h&Visibility options for the left axis. i'Visibility options for the right axis. j$The data sets to plot in the chart. # The are ploted over each other. kHow to style the legend. lThe margin distance to use. mIf the grid shall be rendered  beneath (False ) or over (True ) all plots. n2Information on what is at a specifc location of a ^ or M.  This is delivered by the  of a . o/The right y axis at the given plot coordinate. p.The left y axis at the given plot coordinate. q0The bottom x axis at the given plot coordinate. r-The top x axis at the given plot coordinate. s-The plot area at the given plot coordinates. tThe title of the right y axis. uThe title of the left y axis. v The title of the bottom x axis. wThe title of the top x axis. x The title. yA legend entry. zType of axis that is used in ^ and M. "To generate the actual axis type ( and )  the ( function is called and custom settings  are applied with . Note that the   values in ^ and M override visibility related  settings of the axis. |&Font style to use for the axis title. }Title displayed for the axis. ~Axis style applied. 6Function that generates the axis data, based upon the ( points plotted. The default value is . ?Function that can be used to override the generated axis data.  The default value is . DTrue 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. Render the given ^.  Extract all s from the plots of a ^. Render the given s for a ^. Render the plot area of a ^. This consists of the ? actual plot area with all plots, the axis and their titles. Render the given M.  Extract all s from the plots of a M. 9 Left and right plot legend items are still separated. Render the given s for a M. <Render several layouts with the same x-axis type and range, F vertically stacked so that their origins and x-values are aligned. FThe legends from all the charts may be optionally combined, and shown ! once on the bottom chart. See F for further information. ARender the grids of the given axis to a plot area of given size. 5Swap the contents of the pair depending on the flag. FRender a single set of plot data onto a plot area of given size using  the given x and y axis. :Construct a axis for the given edge using the attributes  from a z the given values. =Override the visibility of a selected axis with the selected . Empty M7 without title and plots. The background is white and H the grid is drawn beneath all plots. There will be a legend. The top  axis will not be visible. A empty J with compressions applied. Empty ^7 without title and plots. The background is white and H the grid is drawn beneath all plots. There will be a legend. The top ' and right axis will not be visible. >Helper to update all axis styles on a Layout1 simultaneously. ?Helper to update all axis styles on a LayoutLR simultaneously. 9Helper to set the forground color uniformly on a Layout. ;Helper to set the forground color uniformly on a LayoutLR. FGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~kFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~k^_`abcdefghijklmMNOPQRSTUVWXYZ[\]z{|}~nyxwvutsrqpoFGHIJLKPFGHIJLKMNOPQRSTUVWXYZ[\]^_`abcdefghijklmn yxwvutsrqpoz{|}~None4Options to render the sparklines in different ways. smooth or bars  step size graph height (pixels) data point limits background color color of minimum datapoint color of maximum datapoint color of last datapoint display minimum marker display maximum marker display last marker FA sparkline is a single sequence of data values, treated as y-values. < The x-values are anonymous and implicit in the sequence. (Default options for a smooth sparkline. *Default options for a barchart sparkline. :Compute the width of a SparkLine, for rendering purposes. 5Render a SparkLine to a drawing surface using cairo.    None  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None5Type to define a few simple properties of each plot. EThe main plotting function. The idea behind PlotType is shamelessly K copied from Text.Printf (and is not exported). All you need to know is J that your arguments need to be in class PlotArg. And PlotArg consists  of functions and [Double]% and String and PlotKind or [PlotKind]. Save a plot as a PDF file. "Save a plot as a postscript file. Save a plot as a png file. F55(!None "#$$%&'()*+,-./01234567899:;<=>??@ABBCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcddefghijkklmnopqrstuvwxyzz{|}~       !"#$%&'()*+,-./012345678 9 9 : ; < = = > ? ? @ A B C C D D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m nopqqrstuvwxyzz{|}~~        !"#$$%&'()**+,-./0123456789:;<=>?@ABBCDEFEGGHIJKLMNOPQRSTUVWWXYZ[\]^_`abcdefghijklmnopqrrstuvwxyz{|}~          ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X YZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~ Chart-1.1Graphics.Rendering.Chart.Utils!Graphics.Rendering.Chart.Geometry&Graphics.Rendering.Chart.Backend.Types%Graphics.Rendering.Chart.Backend.Impl Graphics.Rendering.Chart.Drawing#Graphics.Rendering.Chart.Renderable#Graphics.Rendering.Chart.Axis.Types"Graphics.Rendering.Chart.Axis.Unit%Graphics.Rendering.Chart.Axis.Indexed&Graphics.Rendering.Chart.Axis.Floating!Graphics.Rendering.Chart.Axis.Int'Graphics.Rendering.Chart.Axis.LocalTimeGraphics.Rendering.Chart.Grid#Graphics.Rendering.Chart.Plot.TypesGraphics.Rendering.Chart.Legend#Graphics.Rendering.Chart.Plot.Lines$Graphics.Rendering.Chart.Plot.Points)Graphics.Rendering.Chart.Plot.FillBetween%Graphics.Rendering.Chart.Plot.ErrBars$Graphics.Rendering.Chart.Plot.Candle"Graphics.Rendering.Chart.Plot.Bars$Graphics.Rendering.Chart.Plot.Hidden(Graphics.Rendering.Chart.Plot.Annotation'Graphics.Rendering.Chart.Plot.AreaSpots!Graphics.Rendering.Chart.Plot.PieGraphics.Rendering.Chart.Layout"Graphics.Rendering.Chart.SparkLine(Graphics.Rendering.Chart.Simple.Internal Graphics.Rendering.Chart.BackendGraphics.Rendering.Chart.AxisGraphics.Rendering.Chart.PlotGraphics.Rendering.ChartGraphics.Rendering.Chart.Simple isValidNumbermaybeMMatrixxxyxxyyyx0y0PathCloseEndArcNegArcLineToMoveToRectSizeRangeRectEdgeE_RightE_LeftE_BottomE_TopRect PointMapFnLimitLMaxLValueLMinVectorv_xv_yPointp_xp_y pointToVecvscalepvaddpvsubpsubmkrectwithin intersectRectrectPathmoveTomoveTo'lineTolineTo'arcarc'arcNegarcNeg'closefoldPathmakeLinesExplicit transformProtatePscaleP translatePidentity translatescalerotatescalarMultiplyadjointinvert AlignmentFnsafPointAlignFnafCoordAlignFn AlignmentFn FillStyleFillStyleSolid _fill_colourTextSize textSizeWidthtextSizeAscenttextSizeDescenttextSizeYBearingtextSizeHeight VTextAnchor VTA_BaseLine VTA_Bottom VTA_CentreVTA_Top HTextAnchor HTA_Right HTA_CentreHTA_Left FontStyle _font_name _font_size _font_slant _font_weight _font_color FontWeightFontWeightBoldFontWeightNormal FontSlantFontSlantObliqueFontSlantItalicFontSlantNormal LineStyle _line_width _line_color _line_dashes _line_cap _line_joinLineJoin LineJoinBevel LineJoinRound LineJoinMiterLineCap LineCapSquare LineCapRound LineCapButtdefaultFontStylebitmapAlignmentFnsvectorAlignmentFnsline_cap line_color line_dashes line_join line_width font_color font_name font_size font_slant font_weightCRender ChartBackendChartBackendInstrWithClipRegion WithLineStyle WithFillStyle WithFontStyle WithTransform GetAlignmentsDrawText GetTextSizeFillPath StrokePath strokePathfillPathtextSizedrawText withTransform withFontStyle withFillStyle withLineStylewithClipRegiongetPointAlignFngetCoordAlignFn PointStyle _point_color_point_border_color_point_border_width _point_radius _point_shape PointShapePointShapeStarPointShapeCrossPointShapePlusPointShapePolygonPointShapeCircle withRotationwithTranslation withScale withScaleX withScaleYwithPointStylewithDefaultStyle alignPathalignStrokePath alignFillPathalignStrokePointsalignFillPointsalignStrokePointalignFillPointstrokePointPath fillPointPath drawTextA drawTextR drawTextsR textDrawRect textDimensiondefaultPointStyle drawPointdefaultColorSeq solidLine dashedLine filledCircles hollowCircles hollowPolygon filledPolygonplussesexesstarssolidFillStylepoint_border_colorpoint_border_width point_color point_radius point_shape ToRenderable toRenderable RenderableminsizerenderPickFn nullPickFnemptyRenderablespacerspacer1 setPickFnmapMaybePickFn mapPickFn addMarginsfillBackgroundembedRenderablelabelrlabelrectangleToRenderablerect_cornerStylerect_fillStylerect_lineStyle rect_minsizeAxisTAxisFn AxisStyle_axis_line_style_axis_label_style_axis_grid_style_axis_label_gapAxisData_axis_visibility_axis_viewport_axis_tropweiv _axis_ticks _axis_labels _axis_gridAxisVisibility_axis_show_line_axis_show_ticks_axis_show_labels PlotValuetoValue fromValueautoAxisaxisToRenderable axisGridHideaxisGridAtTicksaxisGridAtBigTicksaxisGridAtLabelsaxisLabelsOverride axisOverhangrenderAxisGridmakeAxis makeAxis'defaultAxisLineStyledefaultGridLineStyledefaultAxisStylevmapinvmaplinMap invLinMapaxis_show_labelsaxis_show_lineaxis_show_ticks axis_grid axis_labels axis_ticks axis_tropweiv axis_viewportaxis_visibilityaxis_grid_styleaxis_label_gapaxis_label_styleaxis_line_styleunitAxis PlotIndex plotindex_i addIndexes autoIndexAxis LogAxisParams _loga_labelfLinearAxisParams _la_labelf _la_nLabels _la_nTicksLogValuePercent unPercentdefaultLinearAxis scaledAxisautoScaledAxis autoStepsdefaultLogAxisautoScaledLogAxis la_labelf la_nLabels la_nTicks loga_labelfdefaultIntAxisautoScaledIntAxis scaledIntAxistimeAxisdaysmonthsyears autoTimeAxisGridSpanwidthheighttvaltspanemptynulltabove wideAbove aboveWide tallBeside besideTallfullOverlayUnderfullOverlayOverbesideaboveNbesideNoverlay.|../.weightsgridToRenderableToPlottoPlotPlot _plot_render _plot_legend_plot_all_pointsjoinPlotmapXYplot_all_points plot_legend plot_renderLegendLegendOrientationLOColsLORows LegendStyle_legend_label_style_legend_margin_legend_plot_size_legend_orientationlegendToRenderabledefaultLegendStylelegend_label_style legend_marginlegend_orientationlegend_plot_size PlotLines_plot_lines_title_plot_lines_style_plot_lines_values_plot_lines_limit_valuesdefaultPlotLineStyledefaultPlotLines hlinePlot vlinePlotplot_lines_limit_valuesplot_lines_styleplot_lines_titleplot_lines_values PlotPoints_plot_points_title_plot_points_style_plot_points_valuesdefaultPlotPointsplot_points_styleplot_points_titleplot_points_valuesPlotFillBetween_plot_fillbetween_title_plot_fillbetween_style_plot_fillbetween_valuesdefaultPlotFillBetweenplot_fillbetween_styleplot_fillbetween_titleplot_fillbetween_values PlotErrBars_plot_errbars_title_plot_errbars_line_style_plot_errbars_tick_length_plot_errbars_overhang_plot_errbars_valuesErrPointep_xep_yErrValueev_lowev_bestev_high symErrPointdefaultPlotErrBarsplot_errbars_line_styleplot_errbars_overhangplot_errbars_tick_lengthplot_errbars_titleplot_errbars_valuesCandlecandle_x candle_low candle_open candle_mid candle_close candle_high PlotCandle_plot_candle_title_plot_candle_line_style_plot_candle_fill_plot_candle_rise_fill_style_plot_candle_fall_fill_style_plot_candle_tick_length_plot_candle_width_plot_candle_centre_plot_candle_valuesdefaultPlotCandleplot_candle_centreplot_candle_fall_fill_styleplot_candle_fillplot_candle_line_styleplot_candle_rise_fill_styleplot_candle_tick_lengthplot_candle_titleplot_candle_valuesplot_candle_widthPlotBars_plot_bars_style_plot_bars_item_styles_plot_bars_titles_plot_bars_spacing_plot_bars_alignment_plot_bars_reference_plot_bars_singleton_width_plot_bars_valuesPlotBarsAlignment BarsRight BarsCenteredBarsLeftPlotBarsSpacing BarsFixGap BarsFixWidth PlotBarsStyle BarsClustered BarsStacked BarsPlotValue barsReferencebarsAdddefaultPlotBarsplotBarsplot_bars_alignmentplot_bars_item_stylesplot_bars_referenceplot_bars_singleton_widthplot_bars_spacingplot_bars_styleplot_bars_titlesplot_bars_values PlotHidden_plot_hidden_x_values_plot_hidden_y_valuesPlotAnnotation_plot_annotation_hanchor_plot_annotation_vanchor_plot_annotation_angle_plot_annotation_style_plot_annotation_valuesdefaultPlotAnnotationplot_annotation_angleplot_annotation_hanchorplot_annotation_styleplot_annotation_valuesplot_annotation_vanchor AreaSpots4D_area_spots_4d_title_area_spots_4d_linethick_area_spots_4d_palette_area_spots_4d_opacity_area_spots_4d_max_radius_area_spots_4d_values AreaSpots_area_spots_title_area_spots_linethick_area_spots_linecolour_area_spots_fillcolour_area_spots_opacity_area_spots_max_radius_area_spots_valuesdefaultAreaSpotsdefaultAreaSpots4Darea_spots_fillcolourarea_spots_linecolourarea_spots_linethickarea_spots_max_radiusarea_spots_titlearea_spots_valuesarea_spots_4d_linethickarea_spots_4d_max_radiusarea_spots_4d_palettearea_spots_4d_titlearea_spots_4d_valuesPieItem _pitem_label _pitem_offset _pitem_valuePieChart _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_margindefaultPieChartdefaultPieItemdefaultPieLayoutpieChartToRenderablepieToRenderablepie_background pie_marginpie_plot pie_titlepie_title_style pie_colorspie_datapie_label_line_stylepie_label_stylepie_start_angle pitem_label pitem_offset pitem_valueStackedLayouts_slayouts_layouts_slayouts_compress_legend StackedLayoutStackedLayoutLRLayoutLR_layoutlr_background_layoutlr_plot_background_layoutlr_title_layoutlr_title_style_layoutlr_x_axis_layoutlr_top_axis_visibility _layoutlr_bottom_axis_visibility_layoutlr_left_axis_layoutlr_left_axis_visibility_layoutlr_right_axis_layoutlr_right_axis_visibility_layoutlr_plots_layoutlr_legend_layoutlr_margin_layoutlr_grid_lastLayout_layout_background_layout_plot_background _layout_title_layout_title_style_layout_x_axis_layout_top_axis_visibility_layout_bottom_axis_visibility_layout_y_axis_layout_left_axis_visibility_layout_right_axis_visibility _layout_plots_layout_legend_layout_margin_layout_grid_last LayoutPickLayoutPick_YRightAxisLayoutPick_YLeftAxisLayoutPick_XBottomAxisLayoutPick_XTopAxisLayoutPick_PlotAreaLayoutPick_YRightAxisTitleLayoutPick_YLeftAxisTitleLayoutPick_XBottomAxisTitleLayoutPick_XTopAxisTitleLayoutPick_TitleLayoutPick_Legend LayoutAxis_laxis_title_style _laxis_title _laxis_style_laxis_generate_laxis_override_laxis_reverseMAxisFnlayoutToRenderablelayoutLRToRenderabledefaultStackedLayoutsrenderStackedLayoutsdefaultLayoutAxislayout_backgroundlayout_bottom_axis_visibilitylayout_grid_lastlayout_left_axis_visibility layout_legend layout_marginlayout_plot_background layout_plotslayout_right_axis_visibility layout_titlelayout_title_stylelayout_top_axis_visibility layout_x_axis layout_y_axislayoutlr_backgroundlayoutlr_bottom_axis_visibilitylayoutlr_grid_lastlayoutlr_left_axislayoutlr_left_axis_visibilitylayoutlr_legendlayoutlr_marginlayoutlr_plot_backgroundlayoutlr_plotslayoutlr_right_axislayoutlr_right_axis_visibilitylayoutlr_titlelayoutlr_title_stylelayoutlr_top_axis_visibilitylayoutlr_x_axislaxis_generatelaxis_override laxis_reverse laxis_style laxis_titlelaxis_title_styleslayouts_compress_legendslayouts_layoutsupdateAllAxesStylesupdateAllAxesStylesLRsetLayoutForegroundsetLayoutLRForeground SparkOptions so_smoothso_step so_height so_limits so_bgColor so_minColor so_maxColor so_lastColor so_minMarker so_maxMarker so_lastMarker SparkLine sl_optionssl_data smoothSparkbarSparksparkLineToRenderable sparkWidth sparkSizerenderSparkLineIsPlottoUPlot'PlotArgtoUPlotUPlotXUKind UFunctionUDoublesUString PlotPNGTypeplp PlotPSTypepls PlotPDFTypepldPlotTypepl LayoutDDD plotLayout InternalPlotIPXIPYPlotKindSolidDottedDashed LittleDotSymbolsStarExPlusDiamondSquare DownTriangleTriangle HollowCircle FilledCircleName styleColor styleSymboliplotnamestr2k str2khelperlayoutDddToRenderableuplotplotplotPDFplotPSplotPNGxcoordsbase Data.MaybemaybemakeLinesExplicit' pointwise pointwise2 $fNumMatrix $fMonoidPath$fDefaultFillStyle$fDefaultFontStyle$fDefaultFontWeight$fDefaultFontSlant$fDefaultLineStylestepPath adjustText adjustTextX adjustTextY$fDefaultPointStyleJust Rectangle _rect_minsize_rect_fillStyle_rect_lineStyle_rect_cornerStyleRectCornerStyleRCornerRounded RCornerBevel RCornerSquaredefaultRectangle$fToRenderableRectangle$fDefaultRectangle$fDefaultAxisVisibility minsizeAxis labelTextsmaximum0 renderAxis hBufferRect noOverlaps rectsOverlapeachNth withinRect axisMapping$fDefaultAxisStyle $fPlotValue()$fPlotValuePlotIndexshowDsteps chooseSteplogTickslog10frac$fDefaultLogAxisParams$fDefaultLinearAxisParams$fPlotValueLogValue$fShowLogValue$fPlotValuePercent $fShowPercent$fPlotValueDoublestepsInt$fPlotValueInteger$fPlotValueInt TimeLabelFnTimeSeqdoubleFromLocalTimelocalTimeFromDoublehoursnoTimeTimeLabelAlignment BetweenTicks UnderTickscoverTS enumerateTSelemTSnormalizeTimeOfDayaddTod truncateTo secondSeqmillis1millis10 millis100seconds fiveSeconds minuteSeqminutes fiveMinutes$fPlotValueLocalTimeNullEmptyOverlayBesideAboveValue SpaceWeightDArrayFlatElFlatGridCellSizemapGridMflattenflatten2foldTgetSizes$fToRenderableGrid $fFunctorGridgroupsjoin_nub$fDefaultLegendStyle$fToRenderableLegendrenderPlotLinesrenderPlotLegendLines$fDefaultPlotLines$fToPlotPlotLinesrenderPlotPointsrenderPlotLegendPoints$fDefaultPlotPoints$fToPlotPlotPointsrenderPlotFillBetweenrenderPlotFillBetween'renderPlotLegendFillplotAllPointsFillBetween$fDefaultPlotFillBetween$fToPlotPlotFillBetweenrenderPlotErrBars drawErrBar0renderPlotLegendErrBars$fDefaultPlotErrBars$fToPlotPlotErrBarsrenderPlotCandle drawCandlerenderPlotLegendCandle$fDefaultPlotCandle$fToPlotPlotCandlerenderPlotBarswhenJust allBarPointsstackrenderPlotLegendBars$fDefaultPlotBars$fBarsPlotValueInt$fBarsPlotValueDouble$fToPlotPlotHiddenplot_hidden_x_valuesplot_hidden_y_valuesrenderAnnotation$fDefaultPlotAnnotation$fToPlotPlotAnnotationfst3snd3thd3fst4snd4thd4fth4renderAreaSpotsrenderSpotLegendrenderAreaSpots4DrenderSpotLegend4D$fToPlotAreaSpots4D$fDefaultAreaSpots4D$fToPlotAreaSpots$fDefaultAreaSpotsarea_spots_opacityarea_spots_4d_opacity extraSpace minsizePie renderPie label_rgap label_rlength$fToRenderablePieChart$fToRenderablePieLayout$fDefaultPieLayout$fDefaultPieItem$fDefaultPieChartGHC.BaseidgetLegendItems LegendItem renderLegendlayoutPlotAreaToGridgetLegendItemsLRrenderLegendLR renderGridsoptPairReverserenderSinglePlotmkAxisoverrideAxisVisibility$fDefaultLayoutLR$fDefaultStackedLayouts$fDefaultLayoutLayoutGridElements lge_plots lge_taxis lge_baxis lge_laxis lge_raxis lge_margingetLayoutXValsgetLayoutLRXValslayoutLRPlotAreaToGridaddMarginsToGridtitleToRenderablemkLegend buildGrid axesSpacermfill$fDefaultLayoutAxis$fToRenderableLayoutLR$fToRenderableLayout$fToRenderableSparkLine $fIsPlot(,) $fIsPlot(,,) $fIsPlot[] $fIsPlotChar$fIsPlotDouble$fIsPlotPlotKind$fPlotArgPlotKind$fPlotArgUPlot $fIsPlot(->) $fPlotArg(->) $fPlotArg[]$fPlotPNGType(->)$fPlotPSType(->)$fPlotPDFType(->)$fPlotTypeLayoutDDD$fPlotType(->)$fToRenderableLayoutDDD