úΘ\ŽSÅ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄNone 9:;AT5]The class of Haskell images or references to imagese which can be transferred to matplotlib.zValues which can be combined together to form a matplotlib command. These specify how values are rendered in Python code.$Render a value inline in Python code6Render a value as an optional parameter in Python codeuA string to be rendered in python as a raw literal/code. In other words it is inserted directly as is into the code.VA string to be rendered in python as a raw string. In other words it is rendered as r7. QA string to be rendered in python as a string. In other words it is rendered as 7. iThroughout the API we need to accept options in order to expose matplotlib's many configuration options. results in a=bJjust inserts the option verbatim as an argument at the end of the functionÅA maplotlib command, right now we have a very shallow embedding essentially dealing in strings containing python code as well as the ability to load data. The loaded data should be a json object..The wrapper type for a matplotlib computation.<Resolved computations that have been transformed to commands9A pending computation that is affected by applied options0Computations that follow the one that is pendingaA handy miscellaneous function to linearly map over a range of numbers in a given number of steps Convert an * to python code, doesn't do much right now5Resolve the pending command with no options provided.·The io action is given a list of python commands to execute (note that these are commands in the sense of lines of python code; each inidivudal line may not be parseable on its own)5Create a plot that executes the string as python codeCCreate an empty plot. This the beginning of most plotting commands.0Load the given data into the python "data" array /Load the given image into python "img" variable!Combine two matplotlib commands".Add Python code to the last matplotlib command#sAdd an option to the last matplotlib command. Commands can have only one option! optFn :: Matplotlib -> Matplotlib$'Merge two commands with options between%A combinator like " that also inserts an option&iAn internal helper to convert a list of options to the python code that applies those options in a call.'7An internal helper that modifies the options of a plot.(@Apply a list of options to a plot resolving any pending options.)A combinator for () that applies a list of options to a plot*ƒBind a list of default options to a plot. Positional options are kept in order and default that way as well. Keyword arguments are+Merge two sets of options,Run python given a code string..*The standard python includes of every plot/QThese will be Python strings and slashes would cause unwanted control characters.0FThe python command that reads external data into the python data array1<The python command that reads an image into the img variable2BDetach python so we don't block (TODO This isn't working reliably)3Python code to show a plot4Python code that saves a figure5Create a positional option6Create a keyword option78Create a string that will be rendered as a python string8<Create a string that will be rendered as a raw python string9ACreate a literal that will inserted into the python code directly:<Update axes. Should be called any time the state is changed.;OUpdate the figure and the axes. Should be called any time the state is changed.<#Smallest element of a list of lists="Largest element of a list of lists?)An image that is a string is a file path.U#Monoid instance for Matplotlib typeV  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU>   !"#$%&'()*+,-./0123456789:;<=VUTS  !"  RQPONMLKJIHGFEDCBA@?>#$%&'()*+,-./0123456789:;<=E    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTU!5"6%6)6None Rb.Show a plot, blocks until the figure is closedc,Print the python code that would be executeddSave to a filee”Plot the cross-correlation and autocorrelation of several variables. TODO Due to a limitation in the options mechanism this takes explicit options.f+Plot a histogram for the given values with binsg.Plot a 2D histogram for the given values with binsh'Plot the given values as a scatter ploti(Create a bar at a position with a heightj Plot a linekLike € but takes an error bar value per point errorbar :: (ToJSON x, ToJSON y, ToJSON xs, ToJSON ys) => x -> y -> Maybe xs -> Maybe ys -> MatplotliblŽPlot a line given a function that will be executed for each element of given list. The list provides the x values, the function the y values.m$Create a box plot for the given datan'Create a violin plot for the given dataoeGiven a grid of x and y values and a number of steps call the given function and plot the 3D contourphGiven a grid of x and y values and a number of steps call the given function and plot the 3D projectionq+Plot x against y interpolating with n stepsrWA handy function to plot a line between two points give a function and a number o stepssIPlot a line between 0 and the length of the array with the given y valuest Plot a matrixu Plot an imagev Plot a matrixw Plot a matrixx'Create a non-uniform image from samplesyCreate a pie chartzOPlot a KDE of the given functions; a good bandwith will be chosen automatically{Set an rc parameter|Set an rcParams key-value}Enable or disable TeX~Enable or disable unicode Plot the a and b entries of the data object€Plot the Haskell objects x and y as a line‚?Plot x against y where x is a date. xunit is something like weeksœ, yearStart, monthStart, dayStart are an offset to x. TODO This isn't general enough; it's missing some settings about the format. The call is also a mess.ƒCreate a histogram for the a entry of the data array„BCreate a scatter plot accessing the given fields of the data array…;Create a line accessing the given entires of the data array†Create a 3D contour‡Create a 3D projectionˆBPlot a 3D wireframe accessing the given elements of the data array‰@Plot a 3D surface accessing the given elements of the data arrayŠ=Plot a contour accessing the given elements of the data array‹8Draw a bag graph in a subplot TODO Why do we need this?ŒThe default bar with/Create a set of labelled bars of a given heightŽBCreate a subplot and a set of labelled bars TODO This is a mess..CUpdate the data array to linearly interpolate between array entriesNPlot a KDE of the given functions with an optional start/end and a bandwidth h‘Plot cross-correlation’Plot auto-correlation“3A quiver plot; color is optional and can be nothing”4A key of a given size with a label for a quiver plot•!Plot text at a specified location–3Add a text to a figure instead of a particular plot—Add an annotation˜%Square up the aspect ratio of a plot.™%Square up the aspect ratio of a plot.šKSet the rotation of the labels on the x axis to the given number of degrees›Set the x labels to be verticalœ!Set the x scale to be logarithmic!Set the y scale to be logarithmicžSet limits on the x axisŸSet limits on the y axis %Add a horizontal line across the axis¡Insert a legend¢cInsert a color bar TODO This refers to the plot and not an axis. Might cause trouble with subplots£ Add a title¤Show/hide grid lines¥Enable 3D projection¦fLabel and set limits of a set of 3D axis TODO This is a mess, does both more and less than it claims.§Add a label to the x axis¨Add a label to the y axis©Add a label to the z axis³&Set the spacing of ticks on the x axis´Set the labels on the x axisµ&Set the spacing of ticks on the y axis¶Set the labels on the y axis¾-Create a subplot with the coordinates (r,c,f)¿-Access a subplot with the coordinates (r,c,f)À8Creates subplots and stores them in an internal variableÁAccess a subplotÂAdd axes to a plotÃAdd axes to a figureÄ`Creates a new figure with the given id. If the Id is already in use it switches to that figure.cbcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄu  !"%)*56789:;bcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄubcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄ )!56%"* 789:;cbcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄÅ         !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ ¡¢£¤¥¦§¨©ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂÃÄ'matplotlib-0.6.0-6P5MPcijDXIFnjdeopeg4FGraphics.Matplotlib.InternalGraphics.Matplotlib MplotImagesaveHaskellImageloadPythonImage MplotValuetoPython toPythonOptLRSOptionKP MplotCommandLoadData LoadImageExeces Matplotlib mpCommandsmpPendingOptionmpRest mapLineartoPyresolvePending withMplot mplotStringmpreadData readImage%#optFnoptions## renderOptionsoptionFnoption@@defdefFnpython pyBackend pyIncludes escapeSlashes pyReadData pyReadImagepyDetach pyOnscreenpyFigureo1o2strrawlit updateAxes updateFigureminimum2maximum2$fMplotImage[]$fMplotImage[]0$fMplotValue[]$fMplotValueMaybe$fMplotValue[]0$fMplotValue(,)$fMplotValueBool$fMplotValue[]1$fMplotValue[]2$fMplotValue[]3$fMplotValue[]4$fMplotValueInt$fMplotValue[]5$fMplotValueInteger$fMplotValue[]6$fMplotValueDouble$fMplotValue[]7$fMplotValue[]8 $fMplotValueL $fMplotValueR $fMplotValueS$fNFDataMplotCommand$fNFDataMatplotlib$fMonoidMatplotlib $fShowOption $fEqOption $fOrdOption$fShowS$fEqS$fOrdS$fShowR$fEqR$fOrdR$fShowL$fEqL$fOrdLonscreencodefilexacorr histogram histogram2DscatterbarlineerrorbarlineFboxplot violinplotcontourF projectionsFplotInterpolated plotMapLinearline1matShowimshowpcolorpcolor3nonUniformImagepiedensityrc setParametersetTeX setUnicodedataPlotplot streamplotdateLine dataHistogram dataScatterdataLinecontour projections wireframesurface contourRawsubplotDataBarbarDefaultWidthsubplotBarsLabelled subplotBars interpolatedensityBandwidthxcorracorrquiver quiverKeytextfigTextannotate setAspect squareAxesroateAxesLabels verticalAxeslogXlogYxlimylimaxhlinelegendcolorbartitlegridaxis3DProjection axis3DLabelsxlabelylabelzlabel setSizeInches tightLayoutxkcdxticksytickszticks xtickLabels ytickLabels ztickLabelsaxisXTickSpacingaxisXTickLabelsaxisYTickSpacingaxisYTickLabelsaxisXTicksPositionaxisYTicksPositionspinespineSetBoundsspineSetVisiblespineSetPositionsetAx addSubplot getSubplotsubplots setSubplotaxesaddAxesfigure