!"#$%&'()*+,-./0123456789:;< = > ? @ 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 [ \ ] ^ _ ` a b c d e f g h i j k lmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~0Safe>Count numbers of gnuplot data columns for the respective type.RSomehow a writer monad with respect to Sum monoid without material monadic result.Cf. ColumnSet module.+For values that are also in Atom class,  must generate a singleton list. It must hold ,ColumnCount (length (text x)) == columnCount.  SafeSafeUse it this way: import Data.Time import Graphics.Gnuplot.Simple main = plotPath [XTime, XFormat "%m-%d"] $ prepXTime $ (UTCTime (fromGregorian 2008 01 01) 0, 1.0) : (UTCTime (fromGregorian 2008 01 05) 43200, 5.0) : (UTCTime (fromGregorian 2008 01 15) 0, 2.5) : []SafeSafeSafe  Safe!"#$%&'()*+,-. !"#$%&'()*+,- !"#$%&'()*+,-!"#$%&'()*+,-.Safe7yEmbed a font file in the generated PostScript output. Each call adds a new font file, there is no way to remove it again./012345678 /01234567 /01234567 /012345678Safe9:;9:9:9:; Safe <=>?@AB<=>?@A<=>?@A<=>?@AB Safe CDEFGHICDEFGHCDEFGHCDEFGHI Safe!SafeJsEvery option represents an internal state in gnuplot. It is altered with gnuplot's set command. The first field in JS is the name of the option and the name of the according internal state in gnuplot.{Sometimes the addressed state is not explicitly mentioned but is expressed by the syntax of the values. E.g. you can write set grid xtics and set grid noxticsV, but both commands refer to the same internal boolean variable, that we like to call xtics. It is important that the gnuplot Haskell bindings know that these two set commands refer to the same gnuplot state, since we want to simulate a stateless functional interface in front of a stateful imperative one.QIn case of a such a hidden state, we manage an identifier in the second field of J^. It is mainly used for distinguishing different hidden states, that are accessed by the same set variable. This second field may not contain valid gnuplot identifiers, however you might use the field for formatting boolean options using  ".KKConstructs a generic option from Strings for the first and second field of J.oThis is very flexible, but not very safe. Use it only as fall-back, if there is no specific setter function in  Graphics.Gnuplot.Frame.OptionSet.1JKLMNOPQRSTUVWXYZ[\]^_`abcde     1JKLMNOPQRSTUVWXYZ[\]^_`abcde     0JKLMNOPQRSTUVWXYZ[\]^_`abcde     #SafeThe default options contain what we expect as default value in gnuplot. We need an entry for every option that cannot be reset by unset.g4Add (set) an option with arguments as plain strings.oThis is very flexible, but not very safe. Use it only as fall-back, if there is no specific setter function in  Graphics.Gnuplot.Frame.OptionSet.hRemove (unset) an option.oThis is very flexible, but not very safe. Use it only as fall-back, if there is no specific setter function in  Graphics.Gnuplot.Frame.OptionSet.VConvert the difference between the first and the second option set into a sequence of set and unset commands.i#Set or unset option according to a 2. This is for switches that can be disabled using unset.oThis is very flexible, but not very safe. Use it only as fall-back, if there is no specific setter function in  Graphics.Gnuplot.Frame.OptionSet. See also: j, g, h.j8Add an option with boolean value that is formatted like set style fill border and set style fill noborder'. The name of the internal state (i.e. border3) must be stored in the second field of the option.oThis is very flexible, but not very safe. Use it only as fall-back, if there is no specific setter function in  Graphics.Gnuplot.Frame.OptionSet. See also i. f !ghij f !ghij f !ghij$Safe"#$k%&'"#$k%&'"#$k%&'%Safe()*()()*Safelmnopqr+stuvwxyz{|}~lmnopqrnopqrlmlmnopqr+stuvwxyz{|}~&Safe,The type parameter x" is for the values on the X axis, y of the Y axis and a+ is the type of the plotted data. The type ag is a pair in case of points in the plane, or a more complex tuple in case of error plots and the like.),-./),-./(,-./'Safe 0123 01230123Safe(Safe454545)Safe6789:;<6789:;<6789:;<*Safe=>?@ABCDE=D>?@ABCE =>?@ABCDE+Safe?You can alter the line specification of graphs in a plot using F.GHIJKLMNOPQRGHIJKLMNOPQ GHIJKLMNOPQR,SafeSTUVWXYZ[\] STUVWXYZ[\ STUVWXYZ[\]Safe Safe((Safe SafekkSafeSafe Safe/Set parameters of viewing a surface graph. See info:gnuplot/viewShow flat pixel map.(^_`arotateX rotateZ scale scaleZ b(fghij(fghij(^_`ab SafeJKLMNOPQRSTUVWXYZ[\]^_`abcdeJK]LMNOP^QRSTUVWXYZ[\cde_`abSafe-Safe cdefghijklmn cdefhgijklcdefghijklmn.SafePlots can be assembled using o or mconcat or several functions from  Data.Foldable.pIn contrast to the Display.toScript method instantiation this function leaves the options, and thus can be used to write the Display.toScript instance for Frame.qrstuvwxyzp{|}~qrstuvwxyzp{|}qrstuvwxyzp{|}~SafeSafePlots can be assembled using o or  or several functions from  Data.Foldable.SafePlots can be assembled using o or 4. You can alter attributes of embedded graphs using F. list Type.listLines (take 30 (let fibs = 0 : 1 : zipWith (+) fibs (tail fibs) in fibs)) list Type.lines (take 30 (let fibs0 = 0 : fibs1; fibs1 = 1 : zipWith (+) fibs0 fibs1 in zip fibs0 fibs1)) 2function Type.line (linearScale 1000 (-10,10)) sin :functions Type.line (linearScale 1000 (-10,10)) [sin, cos] RparameterFunction Type.line (linearScale 1000 (0,2*pi)) (\t -> (sin (2*t), cos t))  /SafeSafeSafe                    0Safe9The lines of the gnuplot script to be piped into gnuplot Options for gnuplot 1SafeSafe >Be careful with C- which can only be used as part of gnuplot's plot command but not as part of set . That is, >plotList [LineStyle 0 [LineTitle "foobar"]] [0,5..100::Double]6will leave you with an invalid gnuplot script, whereas `plotListStyle [] (defaultStyle {lineSpec = CustomStyle [LineTitle "foobar"]}) [0,5..100::Double]does what you want.The d types would be better enumerations but their interpretations depend on the gnuplot output type. :-(K)anything that is allowed after gnuplot's set commandNyou cannot use this, call d insteade OplotList [] (take 30 (let fibs = 0 : 1 : zipWith (+) fibs (tail fibs) in fibs))f plotListStyle [] (defaultStyle{plotType = CandleSticks}) (Plot2D.functionToGraph (linearScale 32 (0,2*pi::Double)) (\t -> (-sin t, -2*sin t, 2*sin t, sin t)))i +plotFunc [] (linearScale 1000 (-10,10)) sinj 3plotFuncs [] (linearScale 1000 (-10,10)) [sin, cos]o GplotParamFunc [] (linearScale 1000 (0,2*pi)) (\t -> (sin (2*t), cos t))p bplotParamFuncs [] (linearScale 1000 (0,2*pi)) [\t -> (sin (2*t), cos t), \t -> (cos t, sin (2*t))]r nlet xs = [-2,-1.8..2::Double] in plotMesh3d [] [] (do x <- xs; return (do y <- xs; return (x,y,cos(x*x+y*y)))) let phis = linearScale 30 (-pi, pi :: Double) in plotMesh3d [] [] (do phi <- phis; return (do psi <- phis; let r = 5 + sin psi in return (r * cos phi, r * sin phi, cos psi)))s Qlet xs = [-2,-1.8..2::Double] in plotFunc3d [] [] xs xs (\x y -> exp(-(x*x+y*y)))tdRedirects the output of a plotting function to an EPS file and additionally converts it to PDF. uCreates an EPS and a PDF graphics and returns a string that can be inserted into a LaTeX document to include this graphic.iDifferent from GHCi, Hugs doesn't output a return value from an IO monad. So you must wrap it with a o. Nevertheless this implementation which returns the LaTeX command as string is the most flexible one. x !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrst7Drawing function that expects some gnuplot attributes. u7Drawing function that expects some gnuplot attributes. g! "#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJTPUNMLKOQRSVWXYZ[\]^_`abcdefghijklmnopqrstugJKLMNOPQRSTUVWXYZ[\]^_`abGHIDEF>?@ABC;<="#$%&'()*+,-./0123456789: !cdefghijklmnopqrstu/ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuSafeSafev<Color components for Red, Green, Blue, must be in the range [0,1].ySpecify a color by name. You are responsible for choosing an existing name in gnuplot. If your color is available as Haskell variable in this module, then prefer this one.Yvwxyz{|}~Xvwxyz{|}~Xvwyxz{|}~Yvwxyz{|}~SafeThe plot function returns m, which is nice for programming but ugly for interactive GHCi sessions. For interactive sessions, better use Graphics.Gnuplot.Simple. gfx must be one of the types Plot, Frame,  MultiPlot.This function runs gnuplot asynchronously for interactive terminals (X11, WX) and synchronously for file terminals (PostScript, PNG, etc.). This emulates the behaviour of gnuplot --persist=. However, when running asynchronous we cannot obtain a real +. Thus, in this case we will always return  ExitSuccess.Return the gnuplot script and the curve files corresponding to your plot data. The first parameter is the directory where the curve files are located. This directory is baked into the gnuplot script and the paths of the curve files.Don't make any assumptions about the structure of the files. Feeding the files to gnuplot, archiving them or study them are the intended uses of them.(Plot using the default gnuplot terminal.223456789:;<=>?@ABCDEFGHIJKLM3NOPNOQRSTUVWXYZ[PNO\]^_`abPNOP N O c d e f P N O c d e f P!N!g!h!i!j!k!l!m!n!o!p!q!r!s!t!u!v!w!x!c!y!z!{!|!}!~!!#N####"$339:;<=>?@ABCDEFG&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''lN)N*N********c++N+,,N, i c j p q r z { | y v w x h NP-3.NNN/NONcP      !"#$%&'()*+,-."/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~N'       !!!!!!!!!!!!!!!!!!!!!######$$$$$$%N%%P&N&&&'N'''(3())))p)v)|)*********++++++++++++P,,,,,,,,l,,,P     --------- -- -  .. . ............P...////P0 01!1"#$%&'()*+,-./0123456789:;<=>&gnuplot-0.5.4.2-JemV5GXcm2s7vpblMzgGeaGraphics.Gnuplot.Value.Tuple&Graphics.Gnuplot.Plot.ThreeDimensionalGraphics.Gnuplot.TimeGraphics.Gnuplot.Terminal!Graphics.Gnuplot.Terminal.DefaultGraphics.Gnuplot.Terminal.PNG$Graphics.Gnuplot.Terminal.PostScriptGraphics.Gnuplot.Terminal.SVGGraphics.Gnuplot.Terminal.WXTGraphics.Gnuplot.Terminal.X11Graphics.Gnuplot.Frame.Option Graphics.Gnuplot.Frame.OptionSetGraphics.Gnuplot.GraphGraphics.Gnuplot.Value.Atom%Graphics.Gnuplot.Graph.TwoDimensional'Graphics.Gnuplot.Graph.ThreeDimensional Graphics.Gnuplot.Value.ColumnSet#Graphics.Gnuplot.ColorSpecification"Graphics.Gnuplot.LineSpecification&Graphics.Gnuplot.Frame.OptionSet.Style*Graphics.Gnuplot.Frame.OptionSet.HistogramGraphics.Gnuplot.FileGraphics.Gnuplot.DisplayGraphics.Gnuplot.Plot$Graphics.Gnuplot.Plot.TwoDimensionalGraphics.Gnuplot.FrameGraphics.Gnuplot.MultiPlotGraphics.Gnuplot.SimpleGraphics.Gnuplot.AdvancedGraphics.Gnuplot.Utility!Graphics.Gnuplot.Private.TerminalGraphics.Gnuplot.Private.OS$Graphics.Gnuplot.Private.FrameOptionaddBool'Graphics.Gnuplot.Private.FrameOptionSetGraphics.Gnuplot.Private.Graph#Graphics.Gnuplot.Private.GraphEmpty$Graphics.Gnuplot.Private.Graph2DType$Graphics.Gnuplot.Private.Graph3DTypeGraphics.Gnuplot.Private.File+Graphics.Gnuplot.Private.ColorSpecification*Graphics.Gnuplot.Private.LineSpecification Graphics.Gnuplot.Private.Graph2D Graphics.Gnuplot.Private.Graph3D Graphics.Gnuplot.Private.DisplayGraphics.Gnuplot.Private.PlotGraphics.Gnuplot.Private.FrameGraphics.Gnuplot.Execute Graphics.Gnuplot.Private.Command ColumnCountCtext columnCount$fC(,,,)$fC(,,)$fC(,) $fCUTCTime$fCDay $fCWord64 $fCWord32 $fCWord16$fCWord8$fCInt64$fCInt32$fCInt16$fCInt8$fCRatio $fCInteger$fCInt $fCDouble$fCFloat$fEqColumnCount$fOrdColumnCount$fShowColumnCountfunctionToGraph linearScale prepXTimeTcons$fCT transparent noTransparent interlace noInterlace trueColor noTrueColorfontTiny fontSmall fontMedium fontLarge fontGiant landscapeportraitepscolor monochromefont embedFonttitlenoTitlepersist noPersistcustomgridsizekeyborderpm3dxRangeyRangezRangexLabelyLabelzLabelxTicksyTickszTicks xLogScale yLogScale zLogScaleviewxFormatyFormatzFormattimeFmtxDatayDatazDataaddremovebooleanoptions OptionSetoptData optFormat optOthers listLines listPointslistLinesPoints listImpulseslistDots histogramsxErrorBarsRelativeyErrorBarsRelativexyErrorBarsRelativexErrorBarsAbsoluteyErrorBarsAbsolutexyErrorBarsAbsolutexErrorLinesRelativeyErrorLinesRelativexyErrorLinesRelativexErrorLinesAbsoluteyErrorLinesAbsolutexyErrorLinesAbsolutelinespoints linesPointsimpulsesdotsstepsfStepshiSteps errorBars errorLinesboxes filledCurves financeBars candleSticksvectorsimage filledStripefilledStripeAbovefilledStripeBelowConsatompairtriple quadrupledeflt lineStylelineType lineWidth lineColor pointType pointSizeTypelineSpec fillSolid fillBorderfillBorderLineType clustered clusteredGap errorbars errorbarsGaperrorbarsGapLineWidth rowstacked columnstacked sizeRatio sizeSquare keyInside keyOutsidexRange2dyRange2dxRange3dyRange3dzRange3dviewMapxTicks2dyTicks2dxTicks3dyTicks3dzTicks3d gridXTicks gridYTicks gridZTicksboxwidthRelativeboxwidthAbsolutenamecontentwrite$fShowT$fEqTcloudmeshsurfacelistfunction functionsparameterFunction listFromFile pathFromFilesimpleemptyPart partFromFrame partFromPlotsimpleFromFrameArraysimpleFromPartArray Attribute3d Plot3dTypeCornersToColorMean GeometricMeanMedianCorner1Corner2Corner3Corner4SurfaceColorMap PlotStyleplotTypePlotTypeLinesPoints LinesPointsImpulsesDotsStepsFStepsHiSteps ErrorBars XErrorBars YErrorBars XYErrorBars ErrorLines XErrorLines YErrorLines XYErrorLinesBoxes FilledCurves BoxErrorBarsBoxXYErrorBars FinanceBars CandleSticksVectorsPM3dLineSpec DefaultStyle CustomStyleLineAttrLineType LineWidth PointType PointSize LineTitleAspectRatioNoRatioSizeScaleSepScale AttributeCustomEPSPNGTerminalGridKeyBorderXTicksYTicks BoxAspect LineStyleTitleXLabelYLabelZLabelXRangeYRangeZRangePaletteColorBoxXTimeXFormat defaultStyleterminalplotList plotListStyle plotListsplotListsStyleplotFunc plotFuncsplotPath plotPaths plotPathStyleplotPathsStyle plotParamFuncplotParamFuncsplotDots plotMesh3d plotFunc3d epspdfPlotinclPlotrgbrgb8 paletteFracwhiteblackgray0grey0gray10grey10gray20grey20gray30grey30gray40grey40gray50grey50gray60grey60gray70grey70gray80grey80gray90grey90gray100grey100graygrey lightGray lightGreydarkGraydarkGreyredlightReddarkRedyellow lightYellow darkYellowgreen lightGreen darkGreen springGreen forestGreenseaGreenblue lightBluedarkBlue midnightBluenavy mediumBlue royalblueskybluecyan lightCyandarkCyanmagenta lightMagenta darkMagenta turquoiselightTurquoise darkTurquoisepink lightPinkdarkPinkcoral lightCoral orangeRedsalmon lightSalmon darkSalmon aquamarinekhaki darkKhaki goldenrodlightGoldenrod darkGoldenrodgoldbeigebrownorange darkOrangeviolet darkVioletplumpurpleplot plotAsyncplotSync fileContents plotDefaultpure<*> singleton showTriplet commaConcatsemiColonConcatquote assembleCells formatBool canonicalcommands interactiveformatFontSizeFontTiny FontSmall FontMedium FontLarge FontGiant filename_ transparent_ interlace_ trueColor_ fontSize_formatFontSize setFontSizeMode LandscapePortraitmode_color_ embedFont_font_ formatModesetModetitle_persist_ gnuplotName sizeScalekeyShow keyPosition xRangeBounds yRangeBounds zRangeBounds xLabelText yLabelText zLabelText xTickLabels yTickLabels zTickLabelsboxwidthstyleFillSolidstyleFillBorderstyleHistogram diffToStringghc-prim GHC.TypesBooldeconsPlaininitialCommand commandStringcommandtoString defltOptions timeOptions tupleSizeNameRGB8 PaletteFrac lineStyle_ lineType_ lineWidth_ lineColor_ pointType_ pointSize_baseGHC.Basefmap AxisOptionColumnscolumn_type_ lineSpec_columnToStringtyprangeatomTextlabeltickstoScriptBodyfilesScript runScript $fMonoidBody$fMonoidScriptmappendFilecontent_graphs_withUniqueFile fromGraphs tmpFileStemoptionsToScript defltOptsplotCmd $fFunctorT$fCFile $fMonoidTmconcatfromFileoptionscriptFromPartnumRows numColumnsparts tmpScriptrunasyncIfInteractiveInt System.IOputStr attrToProgxRangeFromAttryRangeFromAttrzRangeFromAttr extractRangesinteractiveTermplotTypeToGraphplot3dTypeToStringcornersToColorToStringattribute3dToStringplot2d setPlotStyleplot3dlineSpecRecordlineAttrRecord runGnuplotplotFileStatementsword8FromDouble makeColorGHC.IO.ExceptionExitCodeplotCorerender _haddockDummy