anchor.diff:                  :legend-alpha
                   :legend-placement)
     (:export :plot
  -           :plot/
  +           :plot2d
  +           :plot/a
              :plot/xy
  -           :plot/polar
  -           :plot/polar+a
  -           :plot/polar+xy
  -           :plot/polar+xya
  -           :plot2d))
  +           :polar-r
  +           :polar-ra
  +           :polar-xy
  +           :polar-xya))
   
   (in-package :plot2d)
   
   (defparameter *context* nil)
  +
  +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  +;; internal functions
  +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   
   (defun thin (n l)
     (when l
  
positive.code:          (ry (/ (- height by by) height))
           (surface
            (cond 
              ((eq format :pdf) (create-pdf-surface filename width height))
              ((eq format :svg) (create-svg-surface filename width height))
              ((eq format :ps) (create-ps-surface filename width height))
              (t (error "invalid file format")))))
      (flet ((tx (x)
               (+ bx (* rx (/ (- x minx) (- maxx minx))
  
negative.code:              appending p into xp
               appending q into yq
               finally (return (list xp yq)))
          (plot+xy x y (theme gen) (aspect gen) (legend gen) (get-labels gen) (width gen) (filename gen) (get-format gen))))))
  
  (defmethod generate/a ((gen polar-ra) funcs a-values)
    "Plot a polar-coordinate function (or list of functions) parameterized by a. `FUNCS` takes two arguments, theta and a."
    (flet ((func/ar (a f)
             (let* ((theta (loop for x from (first (range gen)) to (second (range gen)) by (/ (- (second (range gen)) (first (range gen))) (samples gen)) collect x))
                    (r (loop for n in theta collecting (funcall f n a))))
               (list
                (loop
  