Sq      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~None 9:;AT4]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 functionA 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.S  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR>   !"#$%&'()*+,-./0123456789:;<=S  !"  RQPONMLKJIHGFEDCBA@?>#$%&'()*+,-./0123456789:;<=B    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR!5"6%6)6None R_.Show a plot, blocks until the figure is closed`,Print the python code that would be executedaSave to a filebPlot the cross-correlation and autocorrelation of several variables. TODO Due to a limitation in the options mechanism this takes explicit options.c+Plot a histogram for the given values with binsd.Plot a 2D histogram for the given values with binse'Plot the given values as a scatter plotf(Create a bar at a position with a heightg Plot a linehLike } but takes an error bar value per point errorbar :: (ToJSON x, ToJSON y, ToJSON xs, ToJSON ys) => x -> y -> Maybe xs -> Maybe ys -> MatplotlibiPlot 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.j$Create a box plot for the given datak'Create a violin plot for the given dataleGiven a grid of x and y values and a number of steps call the given function and plot the 3D contourmhGiven a grid of x and y values and a number of steps call the given function and plot the 3D projectionn+Plot x against y interpolating with n stepsoWA handy function to plot a line between two points give a function and a number o stepspIPlot a line between 0 and the length of the array with the given y valuesq Plot a matrixr Plot an images Plot a matrixt Plot a matrixu'Create a non-uniform image from samplesvCreate a pie chartwOPlot a KDE of the given functions; a good bandwith will be chosen automaticallyxSet an rc parameterySet an rcParams key-valuezEnable 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 arrayBCreate a scatter plot accessing the given fields of the data array;Create a line accessing the given entires of the data arrayCreate a 3D contourCreate a 3D projectionBPlot 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 array8Draw 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 heightBCreate 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 hPlot cross-correlationPlot auto-correlation3A quiver plot; color is optional and can be nothing4A key of a given size with a label for a quiver plot!Plot text at a specified location3Add a text to a figure instead of a particular plotAdd 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 degreesSet the x labels to be vertical!Set the x scale to be logarithmic!Set the y scale to be logarithmicSet limits on the x axisSet limits on the y axis%Add a horizontal line across the axisInsert a legendcInsert a color bar TODO This refers to the plot and not an axis. Might cause trouble with subplots Add a titleShow/hide grid linesEnable 3D projectionfLabel 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 axisAdd a label to the y axisAdd a label to the z axis&Set the spacing of ticks on the x axisSet the labels on the x axis&Set the spacing of ticks on the y axisSet 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 variableAccess a subplotAdd axes to a plotAdd axes to a figure`Creates a new figure with the given id. If the Id is already in use it switches to that figure.c_`abcdefghijklmnopqrstuvwxyz{|}~u  !"%)*56789:;_`abcdefghijklmnopqrstuvwxyz{|}~u_`abcdefghijklmnopqrstuvwxyz{|}~ )!56%"* 789:;c_`abcdefghijklmnopqrstuvwxyz{|}~         !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~'matplotlib-0.4.5-EpkOVdCwxcq6jQS6IijchpGraphics.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 $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