((section 2 "Outdated egg!" (p "This is an egg for CHICKEN 4, the unsupported old release.  You're almost certainly looking for " (int-link "/eggref/5/plot" "the CHICKEN 5 version of this egg") ", if it exists.") (p "If it does not exist, there may be equivalent functionality provided by another egg; have a look at the " (link "https://wiki.call-cc.org/chicken-projects/egg-index-5.html" "egg index") ". Otherwise, please consider porting this egg to the current version of CHICKEN.") (tags "egg")) (section 2 "plot" (p "An interface to the GNU  libplot library.") (toc)) (section 2 "Usage" (p "(require-extension plot)")) (section 2 "Documentation" (p (tt "libplot") " is a part of the " (link "http://www.gnu.org/software/plotutils/" "GNU plotutils") " package. It is a 2-D vector graphics library capable of exporting to many file formats, both vector and raster.") (p "The Chicken " (tt "plot") " library provides a Scheme interface to a large subset of the " (tt "libplot") " procedures.  This interface follows closely the " (tt "libplot") " API, so the main reference is the " (link "http://www.gnu.org/software/plotutils/manual/en/index.html" "plotutils") " manual.") (p "In " (tt "libplot") ", function names are of the form " (tt "pl_function_r") ". The Scheme corresponding function name is " (tt "function") ".") (p "Below is a list of procedures that are included in this egg, along with brief descriptions. This egg has been tested with " (tt "plotuils") " version 2.6.") (section 3 "Data types and constructors") (section 3 "Creating and deleting plotters") (section 3 "Control functions") (section 3 "Object drawing functions")) (section 2 "Examples" (pre "(use plot)\n\n\n(define (ccurve plotter  maxorder dx dy order)\n  (if (>= order maxorder)\n      (fcontrel plotter dx dy)\n      (begin\n \t(ccurve plotter maxorder\n \t\t(* 0.5 (- dx dy))\n\t\t(* 0.5 (+ dx dy))\n\t\t(+ order 1))\n\t(ccurve plotter maxorder\n\t\t(* 0.5 (+ dy dx))\n\t\t(* 0.5 (- dy dx))\n\t\t(+ order 1)))\n      ))\n\n\n(define (simple-test plotter max-order)\n  (openpl plotter)\n  (fspace plotter 0. 0. 1000. 1000.)\n  (flinewidth plotter 0.25 )\n  (pencolorname plotter \"blue\" )\n  (erase plotter )\n  (fmove plotter 600. 300. )\n  (ccurve plotter max-order 0. 400. 0 )\n  (closepl plotter)\n  )\n") (pre "\n(define (main)\n  (print \"libplot version: \" (libplot-version))\n  (let ((plotter (make-plotter (PNG) (open-output-file \"testplot.png\") \n\t\t\t       (list (PAGESIZE \"A4\") (INTERLACE #t)\n\t\t\t\t     (X_AUTO_FLUSH #f) (META_PORTABLE #t)))))\n    (simple-test plotter 5)\n    (delete-plotter plotter)))") (pre "(main)\n ")) (section 2 "About this egg" (section 3 "Author" (p (int-link "/users/ivan-raikov" "Ivan Raikov"))) (section 3 "Version history" (dl (dt "1.1") (dd "Added matchable and datatype as dependencies (thanks to Mario Domenech Goulart)") (dt "1.0") (dd "Initial release"))) (section 3 "License" (pre "Copyright 2011 Ivan Raikov.") (pre "Based on the Ocamlplot library by Olivier Andrieu.\n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or (at\nyour option) any later version.\n\nThis program is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\nGeneral Public License for more details.\n\nA full copy of the GPL license can be found at\n<http://www.gnu.org/licenses/>."))))