25708
#hash(((def ((lib "plot/main.rkt") plot-x-far-tick-label-angle)) . ((93712 . 5))) ((def ((lib "plot/main.rkt") animated-samples)) . ((94845 . 5))) ((def ((lib "plot/main.rkt") plot-x-transform)) . ((71122 . 5))) ((def ((lib "plot/main.rkt") plot-y-far-axis?)) . ((94409 . 5))) ((def ((lib "plot/utils.rkt") color-seq*)) . ((86858 . 10))) ((def ((lib "plot/utils.rkt") ivl-max)) . ((89384 . 5))) ((def ((lib "plot/main.rkt") function)) . ((7167 . 23))) ((def ((lib "plot/main.rkt") rectangle-line-width)) . ((101436 . 5))) ((def ((lib "plot/main.rkt") make-tick)) . ((82836 . 4))) ((def ((lib "plot/main.rkt") plot3d-snip)) . ((45298 . 3))) ((def ((lib "plot/main.rkt") y-axis-alpha)) . ((103474 . 5))) ((def ((lib "plot/main.rkt") no-ticks)) . ((80913 . 3))) ((def ((lib "plot/main.rkt") us-currency-scales)) . ((80176 . 3))) ((def ((lib "plot/main.rkt") points3d)) . ((47428 . 29))) ((def ((lib "plot/main.rkt") plot3d-samples)) . ((105556 . 5))) ((def ((lib "plot/main.rkt") linear-scale)) . ((83643 . 6))) ((def ((lib "plot/main.rkt") isoline)) . ((22645 . 25))) ((def ((lib "plot/main.rkt") id-transform)) . ((71551 . 2))) ((def ((lib "plot/utils.rkt") polar->cartesian)) . ((87565 . 4))) ((def ((lib "plot/main.rkt") pre-tick?)) . ((82700 . 5))) ((def ((lib "plot/utils.rkt") ivl->plot-label)) . ((84360 . 4))) ((def ((lib "plot/utils.rkt") kde)) . ((86344 . 6))) ((def ((lib "plot/main.rkt") vector-field3d)) . ((48736 . 32))) ((def ((lib "plot/main.rkt") parametric-interval)) . ((18543 . 39))) ((def ((lib "plot/main.rkt") make-ticks)) . ((74132 . 5))) ((def ((lib "plot/main.rkt") stacked-histogram-colors)) . ((102469 . 5))) ((def ((lib "plot/utils.rkt") bounds->intervals)) . ((89556 . 3))) ((def ((lib "plot/main.rkt") default-contour-colors)) . ((99047 . 5))) ((def ((lib "plot/main.rkt") stacked-histogram)) . ((31260 . 41))) ((def ((lib "plot/compat.rkt") plot)) . ((115335 . 29))) ((def ((lib "plot/main.rkt") discrete-histogram-gap)) . ((101935 . 5))) ((def ((lib "plot/main.rkt") linear-ticks-layout)) . ((74427 . 7))) ((def ((lib "plot/main.rkt") ticks-add)) . ((82480 . 5))) ((def ((lib "plot/main.rkt") rectangles3d)) . ((64455 . 29))) ((def ((lib "plot/main.rkt") z-axis-alpha)) . ((103588 . 5))) ((def ((lib "plot/utils.rkt") mapped-function)) . ((86155 . 5))) ((def ((lib "plot/main.rkt") us-currency-formats)) . ((80407 . 3))) ((def ((lib "plot/utils.rkt") plot-time-hour)) . ((89831 . 7))) ((def ((lib "plot/main.rkt") stacked-histogram-line-widths)) . ((103022 . 5))) ((def ((lib "plot/main.rkt") plot-y-tick-label-anchor)) . ((93325 . 5))) ((def ((lib "plot/main.rkt") surface-line-color)) . ((106532 . 5))) ((def ((lib "plot/utils.rkt") maybe-inexact->exact)) . ((88033 . 3))) ((def ((lib "plot/utils.rkt") point-sym/c)) . ((110559 . 3))) ((def ((lib "plot/main.rkt") plot-frame)) . ((2237 . 3))) ((def ((lib "plot/main.rkt") point-sym)) . ((96911 . 5))) ((def ((lib "plot/main.rkt") polar)) . ((11029 . 27))) ((def ((lib "plot/utils.rkt") integer->superscript)) . ((84951 . 3))) ((def ((lib "plot/main.rkt") fraction-ticks-format)) . ((81766 . 5))) ((def ((lib "plot/main.rkt") plot-z-transform)) . ((71408 . 5))) ((def ((lib "plot/main.rkt") y-ticks)) . ((70227 . 4))) ((def ((lib "plot/utils.rkt") vmag^2)) . ((89033 . 3))) ((def ((lib "plot/main.rkt") shade)) . ((114724 . 6))) ((def ((lib "plot/utils.rkt") ->pen-color)) . ((87255 . 3))) ((def ((lib "plot/main.rkt") plot3d-bitmap)) . ((45162 . 3))) ((def ((lib "plot/main.rkt") stacked-histogram-line-colors)) . ((102654 . 5))) ((def ((lib "plot/main.rkt") invertible-compose)) . ((83342 . 4))) ((def ((lib "plot/main.rkt") plot3d)) . ((42714 . 39))) ((def ((lib "plot/main.rkt") vector-field3d-samples)) . ((98294 . 5))) ((def ((lib "plot/main.rkt") default-contour-fill-colors)) . ((99259 . 5))) ((def ((lib "plot/main.rkt") area-histogram)) . ((27857 . 29))) ((def ((lib "plot/utils.rkt") known-point-symbols)) . ((110667 . 22))) ((def ((lib "plot/main.rkt") plot-y-tick-label-angle)) . ((93456 . 5))) ((def ((lib "plot/main.rkt") lines)) . ((9078 . 21))) ((def ((lib "plot/main.rkt") plot-x-tick-label-anchor)) . ((93080 . 5))) ((def ((lib "plot/main.rkt") x-tick-lines)) . ((35179 . 2))) ((def ((lib "plot/main.rkt") plot-y-transform)) . ((71265 . 5))) ((def ((lib "plot/main.rkt") z-axis-labels?)) . ((104526 . 5))) ((def ((lib "plot/compat.rkt") plot-color?)) . ((120911 . 3))) ((def ((lib "plot/main.rkt") contour-interval-line-widths)) . ((107200 . 5))) ((def ((lib "plot/utils.rkt") seconds->plot-time)) . ((90141 . 3))) ((def ((lib "plot/main.rkt") stretch-transform)) . ((71632 . 5))) ((def ((lib "plot/main.rkt") interval-line1-color)) . ((96033 . 5))) ((def ((lib "plot/main.rkt") date-ticks)) . ((76315 . 7))) ((def ((lib "plot/main.rkt") plot3d-diffuse-light?)) . ((106051 . 5))) ((def ((lib "plot/utils.rkt") mapped-function?)) . ((86155 . 5))) ((def ((lib "plot/main.rkt") time-ticks-format)) . ((77667 . 3))) ((def ((lib "plot/main.rkt") pre-tick-value)) . ((82700 . 5))) ((def ((lib "plot/main.rkt") surface-color)) . ((106295 . 5))) ((def ((lib "plot/main.rkt") time-ticks-formats)) . ((78132 . 5))) ((def ((lib "plot/main.rkt") plot-z-far-ticks)) . ((73411 . 5))) ((def ((lib "plot/utils.rkt") plot-colors/c)) . ((112593 . 4))) ((def ((lib "plot/main.rkt") discrete-histogram-skip)) . ((102067 . 5))) ((def ((lib "plot/main.rkt") log-ticks-layout)) . ((75391 . 5))) ((def ((lib "plot/main.rkt") isosurface-line-widths)) . ((108793 . 5))) ((def ((lib "plot/main.rkt") ticks?)) . ((74132 . 5))) ((def ((lib "plot/main.rkt") interval-line2-style)) . ((96654 . 5))) ((def ((lib "plot/main.rkt") vector-field-color)) . ((97588 . 5))) ((def ((lib "plot/utils.rkt") alphas/c)) . ((113181 . 4))) ((def ((lib "plot/main.rkt") x-axis-alpha)) . ((103360 . 5))) ((def ((lib "plot/main.rkt") id-function)) . ((83299 . 2))) ((def ((lib "plot/main.rkt") log-transform)) . ((71591 . 2))) ((def ((lib "plot/main.rkt") line-width)) . ((95467 . 5))) ((def ((lib "plot/main.rkt") currency-ticks-format)) . ((78754 . 8))) ((def ((lib "plot/main.rkt") isosurfaces3d)) . ((62338 . 42))) ((def ((lib "plot/main.rkt") plot-file)) . ((1334 . 10))) ((def ((lib "plot/main.rkt") line-style)) . ((95565 . 5))) ((def ((lib "plot/utils.rkt") v-)) . ((88232 . 4))) ((def ((lib "plot/main.rkt") interval-line1-style)) . ((96275 . 5))) ((def ((lib "plot/utils.rkt") floor-log/base)) . ((87916 . 4))) ((def ((lib "plot/main.rkt") x-axis-ticks?)) . ((103993 . 5))) ((def ((lib "plot/main.rkt") y-axis-ticks?)) . ((104098 . 5))) ((def ((lib "plot/main.rkt") interval-line2-width)) . ((96536 . 5))) ((def ((lib "plot/main.rkt") fraction-ticks)) . ((82029 . 7))) ((def ((lib "plot/main.rkt") isosurface-styles)) . ((108415 . 5))) ((def ((lib "plot/utils.rkt") 3d-polar->3d-cartesian)) . ((87664 . 5))) ((def ((lib "plot/main.rkt") contours)) . ((23658 . 26))) ((def ((lib "plot/main.rkt") y-tick-lines)) . ((35221 . 2))) ((def ((lib "plot/compat.rkt") derivative)) . ((120968 . 4))) ((def ((lib "plot/main.rkt") plot-ps/pdf-interactive?)) . ((90857 . 5))) ((def ((lib "plot/main.rkt") contour-samples)) . ((99493 . 5))) ((def ((lib "plot/main.rkt") plot-line-width)) . ((91718 . 5))) ((def ((lib "plot/main.rkt") plot-foreground)) . ((90996 . 5))) ((def ((lib "plot/main.rkt") plot-z-far-label)) . ((92949 . 5))) ((def ((lib "plot/utils.rkt") v*)) . ((88407 . 4))) ((def ((lib "plot/main.rkt") contour-ticks)) . ((73541 . 11))) ((def ((lib "plot/main.rkt") default-isosurface-colors)) . ((107579 . 5))) ((def ((lib "plot/main.rkt") struct:pre-tick)) . ((82700 . 5))) ((def ((lib "plot/main.rkt") date-ticks-layout)) . ((76048 . 3))) ((def ((lib "plot/main.rkt") tick-label)) . ((82836 . 4))) ((def ((lib "plot/compat.rkt") error-bars)) . ((118987 . 5))) ((def ((lib "plot/utils.rkt") plot-time-minute)) . ((89831 . 7))) ((def ((lib "plot/main.rkt") plot-font-family)) . ((91593 . 5))) ((def ((lib "plot/utils.rkt") color-seq)) . ((86504 . 12))) ((def ((lib "plot/main.rkt") struct:invertible-function)) . ((83128 . 5))) ((def ((lib "plot/utils.rkt") real->decimal-string*)) . ((84671 . 7))) ((def ((lib "plot/main.rkt") x-axis)) . ((33265 . 11))) ((def ((lib "plot/main.rkt") surface-style)) . ((106405 . 5))) ((def ((lib "plot/main.rkt") plot-y-axis?)) . ((94308 . 5))) ((def ((lib "plot/main.rkt") invertible-function-g)) . ((83128 . 5))) ((def ((lib "plot/main.rkt") collapse-transform)) . ((71752 . 4))) ((def ((lib "plot/utils.rkt") v/)) . ((88495 . 4))) ((def ((lib "plot/main.rkt") log-ticks-format)) . ((75626 . 3))) ((def ((lib "plot/main.rkt") vector-field-scale)) . ((97977 . 6))) ((def ((lib "plot/main.rkt") point-alpha)) . ((97325 . 5))) ((def ((lib "plot/main.rkt") x-axis-labels?)) . ((104308 . 5))) ((def ((lib "plot/main.rkt") plot3d/dc)) . ((45570 . 39))) ((def ((lib "plot/compat.rkt") shade)) . ((120166 . 7))) ((def ((lib "plot/main.rkt") time-ticks-layout)) . ((77531 . 3))) ((def ((lib "plot/main.rkt") rectangle-alpha)) . ((101691 . 5))) ((def ((lib "plot/main.rkt") make-axis-transform)) . ((72555 . 3))) ((def ((lib "plot/main.rkt") stacked-histogram-line-styles)) . ((102843 . 5))) ((def ((lib "plot/main.rkt") label-anchor)) . ((105138 . 5))) ((def ((lib "plot/main.rkt") plot3d-frame)) . ((45436 . 3))) ((def ((lib "plot/main.rkt") currency-ticks-formats)) . ((79980 . 5))) ((def ((lib "plot/main.rkt") rectangle-color)) . ((101067 . 5))) ((def ((lib "plot/utils.rkt") maybe-apply)) . ((112489 . 4))) ((def ((lib "plot/main.rkt") line)) . ((113568 . 17))) ((def ((lib "plot/main.rkt") interval-line1-width)) . ((96157 . 5))) ((def ((lib "plot/compat.rkt") line)) . ((118322 . 18))) ((def ((lib "plot/main.rkt") plot3d-file)) . ((44519 . 10))) ((def ((lib "plot/main.rkt") stacked-histogram-styles)) . ((103187 . 5))) ((def ((lib "plot/main.rkt") surface-line-style)) . ((106768 . 5))) ((def ((lib "plot/main.rkt") eu-currency-scales)) . ((80330 . 3))) ((def ((lib "plot/utils.rkt") plot-time-second)) . ((89831 . 7))) ((def ((lib "plot/utils.rkt") nonrenderer?)) . ((109436 . 3))) ((def ((lib "plot/compat.rkt") plot3d)) . ((116511 . 39))) ((def ((lib "plot/main.rkt") label-alpha)) . ((105336 . 5))) ((def ((lib "plot/main.rkt") rectangle-line-color)) . ((101312 . 5))) ((def ((lib "plot/main.rkt") stacked-histogram-alphas)) . ((102322 . 5))) ((def ((lib "plot/main.rkt") no-ticks-format)) . ((80798 . 4))) ((def ((lib "plot/utils.rkt") mapped-function-fmap)) . ((86155 . 5))) ((def ((lib "plot/main.rkt") ticks-format/c)) . ((83027 . 3))) ((def ((lib "plot/main.rkt") contour-interval-alphas)) . ((100904 . 5))) ((def ((lib "plot/main.rkt") plot-background)) . ((91110 . 5))) ((def ((lib "plot/main.rkt") error-bars)) . ((6168 . 21))) ((def ((lib "plot/main.rkt") plot-x-far-axis?)) . ((94199 . 5))) ((def ((lib "plot/utils.rkt") plot-brush-style/c)) . ((110103 . 6))) ((def ((lib "plot/utils.rkt") plot-brush-styles/c)) . ((113026 . 4))) ((def ((lib "plot/main.rkt") inverse-label)) . ((38223 . 30))) ((def ((lib "plot/main.rkt") discrete-histogram)) . ((29298 . 36))) ((def ((lib "plot/main.rkt") plot3d-altitude)) . ((105812 . 5))) ((def ((lib "plot/main.rkt") ticks-scale)) . ((82606 . 4))) ((def ((lib "plot/utils.rkt") v=)) . ((88583 . 4))) ((def ((lib "plot/main.rkt") currency-ticks)) . ((79143 . 13))) ((def ((lib "plot/main.rkt") label-point-size)) . ((105448 . 5))) ((def ((lib "plot/utils.rkt") ->plot-label)) . ((84477 . 4))) ((def ((lib "plot/main.rkt") error-bar-width)) . ((98448 . 5))) ((def ((lib "plot/main.rkt") polar-interval)) . ((20648 . 39))) ((def ((lib "plot/main.rkt") ticks-mimic)) . ((82410 . 3))) ((def ((lib "plot/utils.rkt") plot-pen-styles/c)) . ((112736 . 4))) ((def ((lib "plot/main.rkt") line-samples)) . ((95205 . 5))) ((def ((lib "plot/main.rkt") contour-alphas)) . ((100371 . 5))) ((def ((lib "plot/main.rkt") z-axis-far?)) . ((103896 . 5))) ((def ((lib "plot/main.rkt") error-bar-color)) . ((98556 . 5))) ((def ((lib "plot/main.rkt") plot-bitmap)) . ((1967 . 3))) ((def ((lib "plot/main.rkt") label-angle)) . ((105244 . 5))) ((def ((lib "plot/compat.rkt") points)) . ((118069 . 6))) ((def ((lib "plot/main.rkt") eu-currency-formats)) . ((80618 . 3))) ((def ((lib "plot/main.rkt") polar-axes-ticks?)) . ((104908 . 5))) ((def ((lib "plot/main.rkt") plot-z-ticks)) . ((73302 . 5))) ((def ((lib "plot/main.rkt") uk-currency-scales)) . ((80252 . 3))) ((def ((lib "plot/main.rkt") plot-tick-size)) . ((92082 . 5))) ((def ((lib "plot/utils.rkt") vneg)) . ((88336 . 3))) ((def ((lib "plot/main.rkt") cbrt-transform)) . ((71843 . 2))) ((def ((lib "plot/main.rkt") contour-colors)) . ((99861 . 5))) ((def ((lib "plot/main.rkt") surface3d)) . ((52727 . 31))) ((def ((lib "plot/main.rkt") mix)) . ((113467 . 3))) ((def ((lib "plot/main.rkt") axis-transform-append)) . ((72075 . 5))) ((def ((lib "plot/main.rkt") plot-y-far-tick-label-angle)) . ((93974 . 5))) ((def ((lib "plot/main.rkt") plot3d-ambient-light)) . ((105919 . 5))) ((def ((lib "plot/utils.rkt") ivl-min)) . ((89384 . 5))) ((def ((lib "plot/utils.rkt") digits-for-range)) . ((83877 . 9))) ((def ((lib "plot/main.rkt") plot-legend-anchor)) . ((91826 . 5))) ((def ((lib "plot/utils.rkt") pen-widths/c)) . ((112887 . 4))) ((def ((lib "plot/compat.rkt") make-vec)) . ((121248 . 5))) ((def ((lib "plot/utils.rkt") datetime->real)) . ((89708 . 3))) ((def ((lib "plot/utils.rkt") struct:mapped-function)) . ((86155 . 5))) ((def ((lib "plot/main.rkt") 24h-descending-date-ticks-formats)) . ((76815 . 18))) ((def ((lib "plot/main.rkt") plot-snip)) . ((2101 . 3))) ((def ((lib "plot/main.rkt") vector-field-line-style)) . ((97834 . 5))) ((def ((lib "plot/main.rkt") plot-new-window?)) . ((90344 . 5))) ((def ((lib "plot/main.rkt") plot-x-far-label)) . ((92687 . 5))) ((def ((lib "plot/main.rkt") parametric)) . ((9893 . 27))) ((def ((lib "plot/main.rkt") plot-y-far-label)) . ((92818 . 5))) ((def ((lib "plot/main.rkt") parametric3d)) . ((51382 . 31))) ((def ((lib "plot/main.rkt") contour-interval-colors)) . ((100518 . 5))) ((def ((lib "plot/main.rkt") ticks-layout/c)) . ((82945 . 3))) ((def ((lib "plot/main.rkt") plot-background-alpha)) . ((91356 . 5))) ((def ((lib "plot/utils.rkt") make-plot-time)) . ((89831 . 7))) ((def ((lib "plot/main.rkt") pre-tick)) . ((82700 . 5))) ((def ((lib "plot/main.rkt") point-size)) . ((97119 . 5))) ((def ((lib "plot/utils.rkt") plot-time-day)) . ((89831 . 7))) ((def ((lib "plot/main.rkt") y-axis-labels?)) . ((104417 . 5))) ((def ((lib "plot/main.rkt") stacked-histogram3d)) . ((67915 . 44))) ((def ((lib "plot/utils.rkt") ivl?)) . ((89384 . 5))) ((def ((lib "plot/main.rkt") pre-tick-major?)) . ((82700 . 5))) ((def ((lib "plot/utils.rkt") plot-time)) . ((89831 . 7))) ((def ((lib "plot/main.rkt") plot-x-ticks)) . ((72824 . 5))) ((def ((lib "plot/main.rkt") linear-ticks)) . ((74857 . 10))) ((def ((lib "plot/main.rkt") discrete-histogram-invert?)) . ((102189 . 5))) ((def ((lib "plot/main.rkt") date-ticks-formats)) . ((76649 . 5))) ((def ((lib "plot/utils.rkt") clamp-real)) . ((89637 . 4))) ((def ((lib "plot/main.rkt") polar-axes-alpha)) . ((104784 . 5))) ((def ((lib "plot/main.rkt") plot-d-ticks)) . ((73914 . 5))) ((def ((lib "plot/main.rkt") line-color)) . ((95363 . 5))) ((def ((lib "plot/compat.rkt") surface)) . ((120466 . 10))) ((def ((lib "plot/main.rkt") vector-field-samples)) . ((97437 . 5))) ((def ((lib "plot/utils.rkt") vcenter)) . ((89230 . 3))) ((def ((lib "plot/main.rkt") inverse-interval)) . ((14978 . 35))) ((def ((lib "plot/compat.rkt") gradient)) . ((121086 . 5))) ((def ((lib "plot/main.rkt") point-label)) . ((35312 . 27))) ((def ((lib "plot/main.rkt") default-isosurface-line-colors)) . ((107800 . 5))) ((def ((lib "plot/main.rkt") hand-drawn-transform)) . ((71885 . 3))) ((def ((lib "plot/main.rkt") contour-interval-line-styles)) . ((107383 . 6))) ((def ((lib "plot/utils.rkt") linear-seq)) . ((85025 . 11))) ((def ((lib "plot/main.rkt") z-ticks)) . ((70341 . 4))) ((def ((lib "plot/main.rkt") plot-z-label)) . ((92564 . 5))) ((def ((lib "plot/main.rkt") plot-z-axis?)) . ((94518 . 5))) ((def ((lib "plot/utils.rkt") make-ivl)) . ((89384 . 5))) ((def ((lib "plot/main.rkt") bit/byte-ticks)) . ((81185 . 11))) ((def ((lib "plot/main.rkt") rectangle-style)) . ((101181 . 5))) ((def ((lib "plot/main.rkt") contour-widths)) . ((100036 . 5))) ((def ((lib "plot/main.rkt") plot-x-axis?)) . ((94098 . 5))) ((def ((lib "plot/utils.rkt") struct:plot-time)) . ((89831 . 7))) ((def ((lib "plot/utils.rkt") renderer3d?)) . ((109371 . 3))) ((def ((lib "plot/utils.rkt") linear-seq*)) . ((85385 . 9))) ((def ((lib "plot/main.rkt") plot-animating?)) . ((94728 . 5))) ((def ((lib "plot/main.rkt") ticks-format)) . ((74132 . 5))) ((def ((lib "plot/main.rkt") plot-r-ticks)) . ((74023 . 5))) ((def ((lib "plot/main.rkt") 12h-descending-date-ticks-formats)) . ((77161 . 18))) ((def ((lib "plot/utils.rkt") ->brush-color)) . ((87340 . 3))) ((def ((lib "plot/main.rkt") vector-field)) . ((4791 . 27))) ((def ((lib "plot/main.rkt") plot3d-pict)) . ((45041 . 3))) ((def ((lib "plot/utils.rkt") mapped-function-f)) . ((86155 . 5))) ((def ((lib "plot/compat.rkt") contour)) . ((119694 . 13))) ((def ((lib "plot/main.rkt") ticks)) . ((74132 . 5))) ((def ((lib "plot/utils.rkt") labels/c)) . ((113322 . 4))) ((def ((lib "plot/main.rkt") function-label)) . ((36753 . 30))) ((def ((lib "plot/main.rkt") axis-transform-compose)) . ((72434 . 4))) ((def ((lib "plot/main.rkt") contour-interval-line-colors)) . ((107017 . 5))) ((def ((lib "plot/utils.rkt") color/c)) . ((109706 . 5))) ((def ((lib "plot/utils.rkt") vmag)) . ((89094 . 3))) ((def ((lib "plot/utils.rkt") ->color)) . ((87179 . 3))) ((def ((lib "plot/main.rkt") contour-interval-styles)) . ((100714 . 6))) ((def ((lib "plot/utils.rkt") anchor/c)) . ((109502 . 5))) ((def ((lib "plot/utils.rkt") ivl)) . ((89384 . 5))) ((def ((lib "plot/main.rkt") interval-line2-color)) . ((96412 . 5))) ((def ((lib "plot/main.rkt") contours3d)) . ((56837 . 30))) ((def ((lib "plot/main.rkt") plot-x-label)) . ((92306 . 5))) ((def ((lib "plot/main.rkt") plot-title)) . ((92187 . 5))) ((def ((lib "plot/main.rkt") tick-grid)) . ((35263 . 2))) ((def ((lib "plot/utils.rkt") nonlinear-seq)) . ((85702 . 13))) ((def ((lib "plot/main.rkt") 24h-descending-time-ticks-formats)) . ((78298 . 12))) ((def ((lib "plot/main.rkt") struct:tick)) . ((82836 . 4))) ((def ((lib "plot/utils.rkt") plot-pen-style/c)) . ((109908 . 5))) ((def ((lib "plot/main.rkt") polar-axes-number)) . ((104635 . 5))) ((def ((lib "plot/main.rkt") uk-currency-formats)) . ((80513 . 3))) ((def ((lib "plot/main.rkt") z-axis-ticks?)) . ((104203 . 5))) ((def ((lib "plot/main.rkt") invertible-function-f)) . ((83128 . 5))) ((def ((lib "plot/main.rkt") make-pre-tick)) . ((82700 . 5))) ((def ((lib "plot/main.rkt") point-line-width)) . ((97215 . 5))) ((def ((lib "plot/main.rkt") contour-intervals)) . ((24865 . 36))) ((def ((lib "plot/main.rkt") plot3d-specular-light?)) . ((106172 . 5))) ((def ((lib "plot/main.rkt") discrete-histogram3d)) . ((65873 . 40))) ((def ((lib "plot/main.rkt") axis-transform-bound)) . ((72218 . 7))) ((def ((lib "plot/main.rkt") plot-legend-box-alpha)) . ((91948 . 5))) ((def ((lib "plot/main.rkt") log-ticks)) . ((75746 . 6))) ((def ((lib "plot/main.rkt") plot-font-size)) . ((91488 . 5))) ((def ((lib "plot/main.rkt") ticks-layout)) . ((74132 . 5))) ((def ((lib "plot/main.rkt") surface)) . ((114993 . 9))) ((def ((lib "plot/main.rkt") density)) . ((12098 . 25))) ((def ((lib "plot/main.rkt") interval-style)) . ((95904 . 5))) ((def ((lib "plot/main.rkt") rectangle-line-style)) . ((101554 . 5))) ((def ((lib "plot/main.rkt") y-axis)) . ((33677 . 11))) ((def ((lib "plot/main.rkt") plot-height)) . ((90585 . 5))) ((def ((lib "plot/utils.rkt") struct:ivl)) . ((89384 . 5))) ((def ((lib "plot/utils.rkt") rational-ivl?)) . ((89497 . 3))) ((def ((lib "plot/main.rkt") point-color)) . ((97013 . 5))) ((def ((lib "plot/main.rkt") bit/byte-ticks-format)) . ((80984 . 5))) ((def ((lib "plot/main.rkt") isosurface-levels)) . ((108020 . 6))) ((def ((lib "plot/main.rkt") polar3d)) . ((54192 . 31))) ((def ((lib "plot/main.rkt") tick?)) . ((82836 . 4))) ((def ((lib "plot/main.rkt") parametric-label)) . ((39679 . 30))) ((def ((lib "plot/main.rkt") rectangles)) . ((26659 . 25))) ((def ((lib "plot/main.rkt") plot-x-far-ticks)) . ((72933 . 5))) ((def ((lib "plot/main.rkt") isosurface-alphas)) . ((109151 . 5))) ((def ((lib "plot/utils.rkt") plot-color/c)) . ((109840 . 3))) ((def ((lib "plot/main.rkt") plot-y-far-ticks)) . ((73172 . 5))) ((def ((lib "plot/main.rkt") plot-x-tick-label-angle)) . ((93209 . 5))) ((def ((lib "plot/utils.rkt") vcross2)) . ((88828 . 4))) ((def ((lib "plot/main.rkt") plot-deprecation-warnings?)) . ((90207 . 5))) ((def ((lib "plot/main.rkt") plot-z-far-axis?)) . ((94619 . 5))) ((def ((lib "plot/utils.rkt") font-family/c)) . ((110402 . 4))) ((def ((lib "plot/compat.rkt") vector-field)) . ((119174 . 12))) ((def ((lib "plot/main.rkt") vector-field-alpha)) . ((98168 . 5))) ((def ((lib "plot/utils.rkt") vnormalize)) . ((89153 . 3))) ((def ((lib "plot/main.rkt") lines-interval)) . ((16826 . 33))) ((def ((lib "plot/main.rkt") surface-line-width)) . ((106652 . 5))) ((def ((lib "plot/utils.rkt") v+)) . ((88128 . 4))) ((def ((lib "plot/utils.rkt") real->string/trunc)) . ((84580 . 4))) ((def ((lib "plot/utils.rkt") real->plot-label)) . ((84214 . 5))) ((def ((lib "plot/main.rkt") plot)) . ((0 . 29))) ((def ((lib "plot/main.rkt") axis-transform/c)) . ((71968 . 3))) ((def ((lib "plot/main.rkt") currency-ticks-scales)) . ((79825 . 5))) ((def ((lib "plot/utils.rkt") ceiling-log/base)) . ((87797 . 4))) ((def ((lib "plot/utils.rkt") plot-time->seconds)) . ((90075 . 3))) ((def ((lib "plot/main.rkt") plot-foreground-alpha)) . ((91224 . 5))) ((def ((lib "plot/utils.rkt") vdot)) . ((88939 . 4))) ((def ((lib "plot/main.rkt") 12h-descending-time-ticks-formats)) . ((78518 . 12))) ((def ((lib "plot/main.rkt") plot-width)) . ((90457 . 5))) ((def ((lib "plot/main.rkt") plot-pict)) . ((1848 . 3))) ((def ((lib "plot/main.rkt") line-alpha)) . ((95682 . 5))) ((def ((lib "plot/main.rkt") invisible-rect3d)) . ((70672 . 13))) ((def ((lib "plot/main.rkt") invertible-function?)) . ((83128 . 5))) ((def ((lib "plot/main.rkt") y-axis-far?)) . ((103799 . 5))) ((def ((lib "plot/main.rkt") plot-decorations?)) . ((95080 . 5))) ((def ((lib "plot/main.rkt") ticks-default-number)) . ((74279 . 5))) ((def ((lib "plot/main.rkt") isosurface-line-colors)) . ((108594 . 5))) ((def ((lib "plot/main.rkt") invertible-inverse)) . ((83471 . 5))) ((def ((lib "plot/main.rkt") isosurface-line-styles)) . ((108966 . 5))) ((def ((lib "plot/main.rkt") function-interval)) . ((13113 . 35))) ((def ((lib "plot/main.rkt") no-ticks-layout)) . ((80726 . 3))) ((def ((lib "plot/main.rkt") polar-axes)) . ((34776 . 9))) ((def ((lib "plot/main.rkt") make-invertible-function)) . ((83128 . 5))) ((def ((lib "plot/utils.rkt") renderer2d?)) . ((109306 . 3))) ((def ((lib "plot/main.rkt") error-bar-alpha)) . ((98925 . 5))) ((def ((lib "plot/main.rkt") x-ticks)) . ((70113 . 4))) ((def ((lib "plot/main.rkt") plot/dc)) . ((2369 . 29))) ((def ((lib "plot/utils.rkt") plot-time?)) . ((89831 . 7))) ((def ((lib "plot/utils.rkt") vcross)) . ((88678 . 4))) ((def ((lib "plot/main.rkt") plot-y-ticks)) . ((73063 . 5))) ((def ((lib "plot/main.rkt") rectangle3d-line-width)) . ((101811 . 5))) ((def ((lib "plot/utils.rkt") ->brush-style)) . ((87494 . 3))) ((def ((lib "plot/utils.rkt") make-mapped-function)) . ((86155 . 5))) ((def ((lib "plot/compat.rkt") mix)) . ((120820 . 3))) ((def ((lib "plot/main.rkt") contour)) . ((114249 . 12))) ((def ((lib "plot/main.rkt") contour-levels)) . ((99656 . 6))) ((def ((lib "plot/main.rkt") plot-y-label)) . ((92435 . 5))) ((def ((lib "plot/utils.rkt") ->pen-style)) . ((87427 . 3))) ((def ((lib "plot/main.rkt") lines3d)) . ((50378 . 25))) ((def ((lib "plot/main.rkt") plot-y-far-tick-label-anchor)) . ((93836 . 5))) ((def ((lib "plot/main.rkt") invisible-rect)) . ((70455 . 6))) ((def ((lib "plot/main.rkt") points)) . ((3694 . 25))) ((def ((lib "plot/main.rkt") x-axis-far?)) . ((103702 . 5))) ((def ((lib "plot/main.rkt") polar-axes-labels?)) . ((105021 . 5))) ((def ((lib "plot/main.rkt") axes)) . ((34089 . 17))) ((def ((lib "plot/main.rkt") isosurface-colors)) . ((108231 . 5))) ((def ((lib "plot/main.rkt") plot-x-far-tick-label-anchor)) . ((93572 . 5))) ((def ((lib "plot/main.rkt") plot-jpeg-quality)) . ((90717 . 5))) ((def ((lib "plot/main.rkt") date-ticks-format)) . ((76184 . 3))) ((def ((lib "plot/main.rkt") tick)) . ((82836 . 4))) ((def ((lib "plot/main.rkt") plot3d-angle)) . ((105717 . 5))) ((def ((lib "plot/main.rkt") contour-styles)) . ((100191 . 5))) ((def ((lib "plot/main.rkt") vector-field-line-width)) . ((97708 . 5))) ((def ((lib "plot/main.rkt") interval-alpha)) . ((96791 . 5))) ((def ((lib "plot/main.rkt") linear-ticks-format)) . ((74805 . 2))) ((def ((lib "plot/main.rkt") time-ticks)) . ((77798 . 7))) ((def ((lib "plot/main.rkt") polar-label)) . ((41196 . 29))) ((def ((lib "plot/main.rkt") contour-intervals3d)) . ((58239 . 49))) ((def ((lib "plot/main.rkt") error-bar-line-width)) . ((98670 . 5))) ((def ((lib "plot/main.rkt") invertible-function)) . ((83128 . 5))) ((def ((lib "plot/main.rkt") apply-axis-transform)) . ((72647 . 6))) ((def ((lib "plot/main.rkt") isoline3d)) . ((55631 . 29))) ((def ((lib "plot/main.rkt") interval-color)) . ((95792 . 5))) ((def ((lib "plot/main.rkt") struct:ticks)) . ((74132 . 5))) ((def ((lib "plot/utils.rkt") vrational?)) . ((89316 . 3))) ((def ((lib "plot/main.rkt") error-bar-line-style)) . ((98788 . 5))) ((def ((lib "plot/main.rkt") surface-alpha)) . ((106901 . 5))) ((def ((lib "plot/utils.rkt") maybe-function/c)) . ((112296 . 5))) ((def ((lib "plot/main.rkt") inverse)) . ((8128 . 23))) ((def ((lib "plot/main.rkt") isosurface3d)) . ((60753 . 33))))
procedure
(plot  renderer-tree                 
      [#:x-min x-min                 
       #:x-max x-max                 
       #:y-min y-min                 
       #:y-max y-max                 
       #:width width                 
       #:height height               
       #:title title                 
       #:x-label x-label             
       #:y-label y-label             
       #:legend-anchor legend-anchor 
       #:out-file out-file           
       #:out-kind out-kind])         
 -> (or/c (is-a?/c image-snip%) void?)
  renderer-tree : (treeof (or/c renderer2d? nonrenderer?))
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  width : exact-positive-integer? = (plot-width)
  height : exact-positive-integer? = (plot-height)
  title : (or/c string? #f) = (plot-title)
  x-label : (or/c string? #f) = (plot-x-label)
  y-label : (or/c string? #f) = (plot-y-label)
  legend-anchor : anchor/c = (plot-legend-anchor)
  out-file : (or/c path-string? output-port? #f) = #f
  out-kind : (one-of/c 'auto 'png 'jpeg 'xmb 'xpm 'bmp 'ps 'pdf 'svg)
           = 'auto
procedure
(plot-file  renderer-tree                            
            output                                   
           [kind]                                    
            #:<plot-keyword> <plot-keyword> ...) -> void?
  renderer-tree : (treeof (or/c renderer2d? nonrenderer?))
  output : (or/c path-string? output-port?)
  kind : (one-of/c 'auto 'png 'jpeg 'xmb 'xpm 'bmp 'ps 'pdf 'svg)
       = 'auto
  <plot-keyword> : <plot-keyword-contract>
procedure
(plot-pict renderer-tree ...) -> pict?
  renderer-tree : (treeof (or/c renderer2d? nonrenderer?))
procedure
(plot-bitmap renderer-tree ...) -> (is-a?/c bitmap%)
  renderer-tree : (treeof (or/c renderer2d? nonrenderer?))
procedure
(plot-snip renderer-tree ...) -> (is-a?/c image-snip%)
  renderer-tree : (treeof (or/c renderer2d? nonrenderer?))
procedure
(plot-frame renderer-tree ...) -> (is-a?/c frame%)
  renderer-tree : (treeof (or/c renderer2d? nonrenderer?))
procedure
(plot/dc  renderer-tree                       
          dc                                  
          x                                   
          y                                   
          width                               
          height                              
         [#:x-min x-min                       
          #:x-max x-max                       
          #:y-min y-min                       
          #:y-max y-max                       
          #:title title                       
          #:x-label x-label                   
          #:y-label y-label                   
          #:legend-anchor legend-anchor]) -> void?
  renderer-tree : (treeof (or/c renderer2d? nonrenderer?))
  dc : (is-a?/c dc<%>)
  x : real?
  y : real?
  width : (>=/c 0)
  height : (>=/c 0)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  title : (or/c string? #f) = (plot-title)
  x-label : (or/c string? #f) = (plot-x-label)
  y-label : (or/c string? #f) = (plot-y-label)
  legend-anchor : anchor/c = (plot-legend-anchor)
procedure
(points  vs                          
        [#:x-min x-min               
         #:x-max x-max               
         #:y-min y-min               
         #:y-max y-max               
         #:sym sym                   
         #:color color               
         #:fill-color fill-color     
         #:size size                 
         #:line-width line-width     
         #:alpha alpha               
         #:label label])         -> renderer2d?
  vs : (listof (vector/c real? real?))
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  sym : point-sym/c = (point-sym)
  color : plot-color/c = (point-color)
  fill-color : (or/c plot-color/c 'auto) = 'auto
  size : (>=/c 0) = (point-size)
  line-width : (>=/c 0) = (point-line-width)
  alpha : (real-in 0 1) = (point-alpha)
  label : (or/c string? #f) = #f
procedure
(vector-field  f                           
              [x-min                       
               x-max                       
               y-min                       
               y-max                       
               #:samples samples           
               #:scale scale               
               #:color color               
               #:line-width line-width     
               #:line-style line-style     
               #:alpha alpha               
               #:label label])         -> renderer2d?
  f : (or/c (real? real? . -> . (vector/c real? real?))
            ((vector/c real? real?) . -> . (vector/c real? real?)))
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  samples : exact-positive-integer? = (vector-field-samples)
  scale : (or/c real? (one-of/c 'auto 'normalized))
        = (vector-field-scale)
  color : plot-color/c = (vector-field-color)
  line-width : (>=/c 0) = (vector-field-line-width)
  line-style : plot-pen-style/c = (vector-field-line-style)
  alpha : (real-in 0 1) = (vector-field-alpha)
  label : (or/c string? #f) = #f
procedure
(error-bars  bars                        
            [#:x-min x-min               
             #:x-max x-max               
             #:y-min y-min               
             #:y-max y-max               
             #:color color               
             #:line-width line-width     
             #:line-style line-style     
             #:width width               
             #:alpha alpha])         -> renderer2d?
  bars : (listof (vector/c real? real? real?))
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  color : plot-color/c = (error-bar-color)
  line-width : (>=/c 0) = (error-bar-line-width)
  line-style : plot-pen-style/c = (error-bar-line-style)
  width : (>=/c 0) = (error-bar-width)
  alpha : (real-in 0 1) = (error-bar-alpha)
procedure
(function  f                     
          [x-min                 
           x-max                 
           #:y-min y-min         
           #:y-max y-max         
           #:samples samples     
           #:color color         
           #:width width         
           #:style style         
           #:alpha alpha         
           #:label label])   -> renderer2d?
  f : (real? . -> . real?)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (line-samples)
  color : plot-color/c = (line-color)
  width : (>=/c 0) = (line-width)
  style : plot-pen-style/c = (line-style)
  alpha : (real-in 0 1) = (line-alpha)
  label : (or/c string? #f) = #f
procedure
(inverse  f                     
         [y-min                 
          y-max                 
          #:x-min x-min         
          #:x-max x-max         
          #:samples samples     
          #:color color         
          #:width width         
          #:style style         
          #:alpha alpha         
          #:label label])   -> renderer2d?
  f : (real? . -> . real?)
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (line-samples)
  color : plot-color/c = (line-color)
  width : (>=/c 0) = (line-width)
  style : plot-pen-style/c = (line-style)
  alpha : (real-in 0 1) = (line-alpha)
  label : (or/c string? #f) = #f
procedure
(lines  vs                  
       [#:x-min x-min       
        #:x-max x-max       
        #:y-min y-min       
        #:y-max y-max       
        #:color color       
        #:width width       
        #:style style       
        #:alpha alpha       
        #:label label]) -> renderer2d?
  vs : (listof (vector/c real? real?))
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  color : plot-color/c = (line-color)
  width : (>=/c 0) = (line-width)
  style : plot-pen-style/c = (line-style)
  alpha : (real-in 0 1) = (line-alpha)
  label : (or/c string? #f) = #f
procedure
(parametric  f                     
             t-min                 
             t-max                 
            [#:x-min x-min         
             #:x-max x-max         
             #:y-min y-min         
             #:y-max y-max         
             #:samples samples     
             #:color color         
             #:width width         
             #:style style         
             #:alpha alpha         
             #:label label])   -> renderer2d?
  f : (real? . -> . (vector/c real? real?))
  t-min : rational?
  t-max : rational?
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (line-samples)
  color : plot-color/c = (line-color)
  width : (>=/c 0) = (line-width)
  style : plot-pen-style/c = (line-style)
  alpha : (real-in 0 1) = (line-alpha)
  label : (or/c string? #f) = #f
procedure
(polar  f                     
       [θ-min                 
        θ-max                 
        #:x-min x-min         
        #:x-max x-max         
        #:y-min y-min         
        #:y-max y-max         
        #:samples samples     
        #:color color         
        #:width width         
        #:style style         
        #:alpha alpha         
        #:label label])   -> renderer2d?
  f : (real? . -> . real?)
  θ-min : real? = 0
  θ-max : real? = (* 2 pi)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (line-samples)
  color : plot-color/c = (line-color)
  width : (>=/c 0) = (line-width)
  style : plot-pen-style/c = (line-style)
  alpha : (real-in 0 1) = (line-alpha)
  label : (or/c string? #f) = #f
procedure
(density  xs                    
         [bw-adjust             
          #:x-min x-min         
          #:x-max x-max         
          #:y-min y-min         
          #:y-max y-max         
          #:samples samples     
          #:color color         
          #:width width         
          #:style style         
          #:alpha alpha         
          #:label label])   -> renderer2d?
  xs : (listof real?)
  bw-adjust : real? = 1
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (line-samples)
  color : plot-color/c = (line-color)
  width : (>=/c 0) = (line-width)
  style : plot-pen-style/c = (line-style)
  alpha : (real-in 0 1) = (line-alpha)
  label : (or/c string? #f) = #f
procedure
(function-interval  f1                            
                    f2                            
                   [x-min                         
                    x-max                         
                    #:y-min y-min                 
                    #:y-max y-max                 
                    #:samples samples             
                    #:color color                 
                    #:style style                 
                    #:line1-color line1-color     
                    #:line1-width line1-width     
                    #:line1-style line1-style     
                    #:line2-color line2-color     
                    #:line2-width line2-width     
                    #:line2-style line2-style     
                    #:alpha alpha                 
                    #:label label])           -> renderer2d?
  f1 : (real? . -> . real?)
  f2 : (real? . -> . real?)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (line-samples)
  color : plot-color/c = (interval-color)
  style : plot-brush-style/c = (interval-style)
  line1-color : plot-color/c = (interval-line1-color)
  line1-width : (>=/c 0) = (interval-line1-width)
  line1-style : plot-pen-style/c = (interval-line1-style)
  line2-color : plot-color/c = (interval-line2-color)
  line2-width : (>=/c 0) = (interval-line2-width)
  line2-style : plot-pen-style/c = (interval-line2-style)
  alpha : (real-in 0 1) = (interval-alpha)
  label : (or/c string? #f) = #f
procedure
(inverse-interval  f1                            
                   f2                            
                  [y-min                         
                   y-max                         
                   #:x-min x-min                 
                   #:x-max x-max                 
                   #:samples samples             
                   #:color color                 
                   #:style style                 
                   #:line1-color line1-color     
                   #:line1-width line1-width     
                   #:line1-style line1-style     
                   #:line2-color line2-color     
                   #:line2-width line2-width     
                   #:line2-style line2-style     
                   #:alpha alpha                 
                   #:label label])           -> renderer2d?
  f1 : (real? . -> . real?)
  f2 : (real? . -> . real?)
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (line-samples)
  color : plot-color/c = (interval-color)
  style : plot-brush-style/c = (interval-style)
  line1-color : plot-color/c = (interval-line1-color)
  line1-width : (>=/c 0) = (interval-line1-width)
  line1-style : plot-pen-style/c = (interval-line1-style)
  line2-color : plot-color/c = (interval-line2-color)
  line2-width : (>=/c 0) = (interval-line2-width)
  line2-style : plot-pen-style/c = (interval-line2-style)
  alpha : (real-in 0 1) = (interval-alpha)
  label : (or/c string? #f) = #f
procedure
(lines-interval  v1s                           
                 v2s                           
                [#:x-min x-min                 
                 #:x-max x-max                 
                 #:y-min y-min                 
                 #:y-max y-max                 
                 #:color color                 
                 #:style style                 
                 #:line1-color line1-color     
                 #:line1-width line1-width     
                 #:line1-style line1-style     
                 #:line2-color line2-color     
                 #:line2-width line2-width     
                 #:line2-style line2-style     
                 #:alpha alpha                 
                 #:label label])           -> renderer2d?
  v1s : (listof (vector/c real? real?))
  v2s : (listof (vector/c real? real?))
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  color : plot-color/c = (interval-color)
  style : plot-brush-style/c = (interval-style)
  line1-color : plot-color/c = (interval-line1-color)
  line1-width : (>=/c 0) = (interval-line1-width)
  line1-style : plot-pen-style/c = (interval-line1-style)
  line2-color : plot-color/c = (interval-line2-color)
  line2-width : (>=/c 0) = (interval-line2-width)
  line2-style : plot-pen-style/c = (interval-line2-style)
  alpha : (real-in 0 1) = (interval-alpha)
  label : (or/c string? #f) = #f
procedure
(parametric-interval  f1                            
                      f2                            
                      t-min                         
                      t-max                         
                     [#:x-min x-min                 
                      #:x-max x-max                 
                      #:y-min y-min                 
                      #:y-max y-max                 
                      #:samples samples             
                      #:color color                 
                      #:style style                 
                      #:line1-color line1-color     
                      #:line1-width line1-width     
                      #:line1-style line1-style     
                      #:line2-color line2-color     
                      #:line2-width line2-width     
                      #:line2-style line2-style     
                      #:alpha alpha                 
                      #:label label])           -> renderer2d?
  f1 : (real? . -> . (vector/c real? real?))
  f2 : (real? . -> . (vector/c real? real?))
  t-min : rational?
  t-max : rational?
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (line-samples)
  color : plot-color/c = (interval-color)
  style : plot-brush-style/c = (interval-style)
  line1-color : plot-color/c = (interval-line1-color)
  line1-width : (>=/c 0) = (interval-line1-width)
  line1-style : plot-pen-style/c = (interval-line1-style)
  line2-color : plot-color/c = (interval-line2-color)
  line2-width : (>=/c 0) = (interval-line2-width)
  line2-style : plot-pen-style/c = (interval-line2-style)
  alpha : (real-in 0 1) = (interval-alpha)
  label : (or/c string? #f) = #f
procedure
(polar-interval  f1                            
                 f2                            
                [θ-min                         
                 θ-max                         
                 #:x-min x-min                 
                 #:x-max x-max                 
                 #:y-min y-min                 
                 #:y-max y-max                 
                 #:samples samples             
                 #:color color                 
                 #:style style                 
                 #:line1-color line1-color     
                 #:line1-width line1-width     
                 #:line1-style line1-style     
                 #:line2-color line2-color     
                 #:line2-width line2-width     
                 #:line2-style line2-style     
                 #:alpha alpha                 
                 #:label label])           -> renderer2d?
  f1 : (real? . -> . real?)
  f2 : (real? . -> . real?)
  θ-min : rational? = 0
  θ-max : rational? = (* 2 pi)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (line-samples)
  color : plot-color/c = (interval-color)
  style : plot-brush-style/c = (interval-style)
  line1-color : plot-color/c = (interval-line1-color)
  line1-width : (>=/c 0) = (interval-line1-width)
  line1-style : plot-pen-style/c = (interval-line1-style)
  line2-color : plot-color/c = (interval-line2-color)
  line2-width : (>=/c 0) = (interval-line2-width)
  line2-style : plot-pen-style/c = (interval-line2-style)
  alpha : (real-in 0 1) = (interval-alpha)
  label : (or/c string? #f) = #f
procedure
(isoline  f                     
          z                     
         [x-min                 
          x-max                 
          y-min                 
          y-max                 
          #:samples samples     
          #:color color         
          #:width width         
          #:style style         
          #:alpha alpha         
          #:label label])   -> renderer2d?
  f : (real? real? . -> . real?)
  z : real?
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (contour-samples)
  color : plot-color/c = (line-color)
  width : (>=/c 0) = (line-width)
  style : plot-pen-style/c = (line-style)
  alpha : (real-in 0 1) = (line-alpha)
  label : (or/c string? #f) = #f
procedure
(contours  f                     
          [x-min                 
           x-max                 
           y-min                 
           y-max                 
           #:samples samples     
           #:levels levels       
           #:colors colors       
           #:widths widths       
           #:styles styles       
           #:alphas alphas       
           #:label label])   -> renderer2d?
  f : (real? real? . -> . real?)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (contour-samples)
  levels : (or/c 'auto exact-positive-integer? (listof real?))
         = (contour-levels)
  colors : (plot-colors/c (listof real?)) = (contour-colors)
  widths : (pen-widths/c (listof real?)) = (contour-widths)
  styles : (plot-pen-styles/c (listof real?)) = (contour-styles)
  alphas : (alphas/c (listof real?)) = (contour-alphas)
  label : (or/c string? #f) = #f
procedure
(contour-intervals  f                               
                   [x-min                           
                    x-max                           
                    y-min                           
                    y-max                           
                    #:samples samples               
                    #:levels levels                 
                    #:colors colors                 
                    #:styles styles                 
                    #:contour-colors contour-colors 
                    #:contour-widths contour-widths 
                    #:contour-styles contour-styles 
                    #:alphas alphas                 
                    #:label label])                 
 -> renderer2d?
  f : (real? real? . -> . real?)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (contour-samples)
  levels : (or/c 'auto exact-positive-integer? (listof real?))
         = (contour-levels)
  colors : (plot-colors/c (listof ivl?))
         = (contour-interval-colors)
  styles : (plot-brush-styles/c (listof ivl?))
         = (contour-interval-styles)
  contour-colors : (plot-colors/c (listof real?))
                 = (contour-colors)
  contour-widths : (pen-widths/c (listof real?))
                 = (contour-widths)
  contour-styles : (plot-pen-styles/c (listof real?))
                 = (contour-styles)
  alphas : (alphas/c (listof ivl?)) = (contour-interval-alphas)
  label : (or/c string? #f) = #f
procedure
(rectangles  rects                       
            [#:x-min x-min               
             #:x-max x-max               
             #:y-min y-min               
             #:y-max y-max               
             #:color color               
             #:style style               
             #:line-color line-color     
             #:line-width line-width     
             #:line-style line-style     
             #:alpha alpha               
             #:label label])         -> renderer2d?
  rects : (listof (vector/c ivl? ivl?))
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  color : plot-color/c = (rectangle-color)
  style : plot-brush-style/c = (rectangle-style)
  line-color : plot-color/c = (rectangle-line-color)
  line-width : (>=/c 0) = (rectangle-line-width)
  line-style : plot-pen-style/c = (rectangle-line-style)
  alpha : (real-in 0 1) = (rectangle-alpha)
  label : (or/c string? #f) = #f
procedure
(area-histogram  f                           
                 bin-bounds                  
                [#:x-min x-min               
                 #:x-max x-max               
                 #:y-min y-min               
                 #:y-max y-max               
                 #:samples samples           
                 #:color color               
                 #:style style               
                 #:line-color line-color     
                 #:line-width line-width     
                 #:line-style line-style     
                 #:alpha alpha               
                 #:label label])         -> renderer2d?
  f : (real? . -> . real?)
  bin-bounds : (listof real?)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = 0
  y-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (line-samples)
  color : plot-color/c = (rectangle-color)
  style : plot-brush-style/c = (rectangle-style)
  line-color : plot-color/c = (rectangle-line-color)
  line-width : (>=/c 0) = (rectangle-line-width)
  line-style : plot-pen-style/c = (rectangle-line-style)
  alpha : (real-in 0 1) = (rectangle-alpha)
  label : (or/c string? #f) = #f
procedure
(discrete-histogram  cat-vals                      
                    [#:x-min x-min                 
                     #:x-max x-max                 
                     #:y-min y-min                 
                     #:y-max y-max                 
                     #:gap gap                     
                     #:skip skip                   
                     #:invert? invert?             
                     #:color color                 
                     #:style style                 
                     #:line-color line-color       
                     #:line-width line-width       
                     #:line-style line-style       
                     #:alpha alpha                 
                     #:label label                 
                     #:add-ticks? add-ticks?       
                     #:far-ticks? far-ticks?]) -> renderer2d?
  cat-vals : (listof (or/c (vector/c any/c (or/c real? ivl? #f))
                           (list/c any/c (or/c real? ivl? #f))))
  x-min : (or/c rational? #f) = 0
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = 0
  y-max : (or/c rational? #f) = #f
  gap : (real-in 0 1) = (discrete-histogram-gap)
  skip : (>=/c 0) = (discrete-histogram-skip)
  invert? : boolean? = (discrete-histogram-invert?)
  color : plot-color/c = (rectangle-color)
  style : plot-brush-style/c = (rectangle-style)
  line-color : plot-color/c = (rectangle-line-color)
  line-width : (>=/c 0) = (rectangle-line-width)
  line-style : plot-pen-style/c = (rectangle-line-style)
  alpha : (real-in 0 1) = (rectangle-alpha)
  label : (or/c string? #f) = #f
  add-ticks? : boolean? = #t
  far-ticks? : boolean? = #f
procedure
(stacked-histogram  cat-vals                  
                   [#:x-min x-min             
                    #:x-max x-max             
                    #:y-min y-min             
                    #:y-max y-max             
                    #:gap gap                 
                    #:skip skip               
                    #:invert? invert?         
                    #:colors colors           
                    #:styles styles           
                    #:line-colors line-colors 
                    #:line-widths line-widths 
                    #:line-styles line-styles 
                    #:alphas alphas           
                    #:labels labels           
                    #:add-ticks? add-ticks?   
                    #:far-ticks? far-ticks?]) 
 -> (listof renderer2d?)
  cat-vals : (listof (or/c (vector/c any/c (listof real?))
                           (list/c any/c (listof real?))))
  x-min : (or/c rational? #f) = 0
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = 0
  y-max : (or/c rational? #f) = #f
  gap : (real-in 0 1) = (discrete-histogram-gap)
  skip : (>=/c 0) = (discrete-histogram-skip)
  invert? : boolean? = (discrete-histogram-invert?)
  colors : (plot-colors/c nat/c) = (stacked-histogram-colors)
  styles : (plot-brush-styles/c nat/c)
         = (stacked-histogram-styles)
  line-colors : (plot-colors/c nat/c)
              = (stacked-histogram-line-colors)
  line-widths : (pen-widths/c nat/c)
              = (stacked-histogram-line-widths)
  line-styles : (plot-pen-styles/c nat/c)
              = (stacked-histogram-line-styles)
  alphas : (alphas/c nat/c) = (stacked-histogram-alphas)
  labels : (labels/c nat/c) = '(#f)
  add-ticks? : boolean? = #t
  far-ticks? : boolean? = #f
procedure
(x-axis [y                     
         #:ticks? ticks?       
         #:labels? labels?     
         #:far? far?           
         #:alpha alpha])   -> renderer2d?
  y : real? = 0
  ticks? : boolean? = (x-axis-ticks?)
  labels? : boolean? = (x-axis-labels?)
  far? : boolean? = (x-axis-far?)
  alpha : (real-in 0 1) = (x-axis-alpha)
procedure
(y-axis [x                     
         #:ticks? ticks?       
         #:labels? labels?     
         #:far? far?           
         #:alpha alpha])   -> renderer2d?
  x : real? = 0
  ticks? : boolean? = (y-axis-ticks?)
  labels? : boolean? = (y-axis-labels?)
  far? : boolean? = (y-axis-far?)
  alpha : (real-in 0 1) = (y-axis-alpha)
procedure
(axes [x                         
       y                         
       #:x-ticks? x-ticks?       
       #:y-ticks? y-ticks?       
       #:x-labels? x-labels?     
       #:y-labels? y-labels?     
       #:x-alpha x-alpha         
       #:y-alpha y-alpha])   -> (listof renderer2d?)
  x : real? = 0
  y : real? = 0
  x-ticks? : boolean? = (x-axis-ticks?)
  y-ticks? : boolean? = (y-axis-ticks?)
  x-labels? : boolean? = (x-axis-labels?)
  y-labels? : boolean? = (y-axis-labels?)
  x-alpha : (real-in 0 1) = (x-axis-alpha)
  y-alpha : (real-in 0 1) = (y-axis-alpha)
procedure
(polar-axes [#:number num          
             #:ticks? ticks?       
             #:labels? labels?     
             #:alpha alpha])   -> renderer2d?
  num : exact-nonnegative-integer? = (polar-axes-number)
  ticks? : boolean? = (polar-axes-ticks?)
  labels? : boolean? = (polar-axes-labels?)
  alpha : (real-in 0 1) = (polar-axes-alpha)
procedure
(x-tick-lines) -> renderer2d?
procedure
(y-tick-lines) -> renderer2d?
procedure
(tick-grid) -> (listof renderer2d?)
procedure
(point-label  v                                       
             [label                                   
              #:color color                           
              #:size size                             
              #:family family                         
              #:anchor anchor                         
              #:angle angle                           
              #:point-color point-color               
              #:point-fill-color point-fill-color     
              #:point-size point-size                 
              #:point-line-width point-line-width     
              #:point-sym point-sym                   
              #:alpha alpha])                     -> renderer2d?
  v : (vector/c real? real?)
  label : (or/c string? #f) = #f
  color : plot-color/c = (plot-foreground)
  size : (>=/c 0) = (plot-font-size)
  family : font-family/c = (plot-font-family)
  anchor : anchor/c = (label-anchor)
  angle : real? = (label-angle)
  point-color : plot-color/c = (point-color)
  point-fill-color : (or/c plot-color/c 'auto) = 'auto
  point-size : (>=/c 0) = (label-point-size)
  point-line-width : (>=/c 0) = (point-line-width)
  point-sym : point-sym/c = 'fullcircle
  alpha : (real-in 0 1) = (label-alpha)
procedure
(function-label  f                                   
                 x                                   
                [label                               
                 #:color color                       
                 #:size size                         
                 #:family family                     
                 #:anchor anchor                     
                 #:angle angle                       
                 #:point-color point-color           
                 #:point-fill-color point-fill-color 
                 #:point-size point-size             
                 #:point-line-width point-line-width 
                 #:point-sym point-sym               
                 #:alpha alpha])                     
 -> renderer2d?
  f : (real? . -> . real?)
  x : real?
  label : (or/c string? #f) = #f
  color : plot-color/c = (plot-foreground)
  size : (>=/c 0) = (plot-font-size)
  family : font-family/c = (plot-font-family)
  anchor : anchor/c = (label-anchor)
  angle : real? = (label-angle)
  point-color : plot-color/c = (point-color)
  point-fill-color : (or/c plot-color/c 'auto) = 'auto
  point-size : (>=/c 0) = (label-point-size)
  point-line-width : (>=/c 0) = (point-line-width)
  point-sym : point-sym/c = 'fullcircle
  alpha : (real-in 0 1) = (label-alpha)
procedure
(inverse-label  f                                   
                y                                   
               [label                               
                #:color color                       
                #:size size                         
                #:family family                     
                #:anchor anchor                     
                #:angle angle                       
                #:point-color point-color           
                #:point-fill-color point-fill-color 
                #:point-size point-size             
                #:point-line-width point-line-width 
                #:point-sym point-sym               
                #:alpha alpha])                     
 -> renderer2d?
  f : (real? . -> . real?)
  y : real?
  label : (or/c string? #f) = #f
  color : plot-color/c = (plot-foreground)
  size : (>=/c 0) = (plot-font-size)
  family : font-family/c = (plot-font-family)
  anchor : anchor/c = (label-anchor)
  angle : real? = (label-angle)
  point-color : plot-color/c = (point-color)
  point-fill-color : (or/c plot-color/c 'auto) = 'auto
  point-size : (>=/c 0) = (label-point-size)
  point-line-width : (>=/c 0) = (point-line-width)
  point-sym : point-sym/c = 'fullcircle
  alpha : (real-in 0 1) = (label-alpha)
procedure
(parametric-label  f                                   
                   t                                   
                  [label                               
                   #:color color                       
                   #:size size                         
                   #:family family                     
                   #:anchor anchor                     
                   #:angle angle                       
                   #:point-color point-color           
                   #:point-fill-color point-fill-color 
                   #:point-size point-size             
                   #:point-line-width point-line-width 
                   #:point-sym point-sym               
                   #:alpha alpha])                     
 -> renderer2d?
  f : (real? . -> . (vector/c real? real?))
  t : real?
  label : (or/c string? #f) = #f
  color : plot-color/c = (plot-foreground)
  size : (>=/c 0) = (plot-font-size)
  family : font-family/c = (plot-font-family)
  anchor : anchor/c = (label-anchor)
  angle : real? = (label-angle)
  point-color : plot-color/c = (point-color)
  point-fill-color : (or/c plot-color/c 'auto) = 'auto
  point-size : (>=/c 0) = (label-point-size)
  point-line-width : (>=/c 0) = (point-line-width)
  point-sym : point-sym/c = 'fullcircle
  alpha : (real-in 0 1) = (label-alpha)
procedure
(polar-label  f                                       
              θ                                       
             [label                                   
              #:color color                           
              #:size size                             
              #:family family                         
              #:anchor anchor                         
              #:angle angle                           
              #:point-color point-color               
              #:point-fill-color point-fill-color     
              #:point-size point-size                 
              #:point-line-width point-line-width     
              #:point-sym point-sym                   
              #:alpha alpha])                     -> renderer2d?
  f : (real? . -> . real?)
  θ : real?
  label : (or/c string? #f) = #f
  color : plot-color/c = (plot-foreground)
  size : (>=/c 0) = (plot-font-size)
  family : font-family/c = (plot-font-family)
  anchor : anchor/c = (label-anchor)
  angle : real? = (label-angle)
  point-color : plot-color/c = (point-color)
  point-fill-color : (or/c plot-color/c 'auto) = 'auto
  point-size : (>=/c 0) = (label-point-size)
  point-line-width : (>=/c 0) = (point-line-width)
  point-sym : point-sym/c = 'fullcircle
  alpha : (real-in 0 1) = (label-alpha)
procedure
(plot3d  renderer-tree                 
        [#:x-min x-min                 
         #:x-max x-max                 
         #:y-min y-min                 
         #:y-max y-max                 
         #:z-min z-min                 
         #:z-max z-max                 
         #:width width                 
         #:height height               
         #:angle angle                 
         #:altitude altitude           
         #:title title                 
         #:x-label x-label             
         #:y-label y-label             
         #:z-label z-label             
         #:legend-anchor legend-anchor 
         #:out-file out-file           
         #:out-kind out-kind])         
 -> (or/c (is-a?/c image-snip%) void?)
  renderer-tree : (treeof (or/c renderer3d? nonrenderer?))
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = #f
  z-max : (or/c rational? #f) = #f
  width : exact-positive-integer? = (plot-width)
  height : exact-positive-integer? = (plot-height)
  angle : real? = (plot3d-angle)
  altitude : real? = (plot3d-altitude)
  title : (or/c string? #f) = (plot-title)
  x-label : (or/c string? #f) = (plot-x-label)
  y-label : (or/c string? #f) = (plot-y-label)
  z-label : (or/c string? #f) = (plot-z-label)
  legend-anchor : anchor/c = (plot-legend-anchor)
  out-file : (or/c path-string? output-port? #f) = #f
  out-kind : (one-of/c 'auto 'png 'jpeg 'xmb 'xpm 'bmp 'ps 'pdf 'svg)
           = 'auto
procedure
(plot3d-file  renderer-tree                            
              output                                   
             [kind]                                    
              #:<plot-keyword> <plot-keyword> ...) -> void?
  renderer-tree : (treeof (or/c renderer3d? nonrenderer?))
  output : (or/c path-string? output-port?)
  kind : (one-of/c 'auto 'png 'jpeg 'xmb 'xpm 'bmp 'ps 'pdf 'svg)
       = 'auto
  <plot-keyword> : <plot-keyword-contract>
procedure
(plot3d-pict renderer-tree ...) -> pict?
  renderer-tree : (treeof (or/c renderer3d? nonrenderer?))
procedure
(plot3d-bitmap renderer-tree ...) -> (is-a?/c bitmap%)
  renderer-tree : (treeof (or/c renderer3d? nonrenderer?))
procedure
(plot3d-snip renderer-tree ...) -> (is-a?/c image-snip%)
  renderer-tree : (treeof (or/c renderer3d? nonrenderer?))
procedure
(plot3d-frame renderer-tree ...) -> (is-a?/c frame%)
  renderer-tree : (treeof (or/c renderer3d? nonrenderer?))
procedure
(plot3d/dc  renderer-tree                       
            dc                                  
            x                                   
            y                                   
            width                               
            height                              
           [#:x-min x-min                       
            #:x-max x-max                       
            #:y-min y-min                       
            #:y-max y-max                       
            #:z-min z-min                       
            #:z-max z-max                       
            #:angle angle                       
            #:altitude altitude                 
            #:title title                       
            #:x-label x-label                   
            #:y-label y-label                   
            #:z-label z-label                   
            #:legend-anchor legend-anchor]) -> void?
  renderer-tree : (treeof (or/c renderer3d? nonrenderer?))
  dc : (is-a?/c dc<%>)
  x : real?
  y : real?
  width : (>=/c 0)
  height : (>=/c 0)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = #f
  z-max : (or/c rational? #f) = #f
  angle : real? = (plot3d-angle)
  altitude : real? = (plot3d-altitude)
  title : (or/c string? #f) = (plot-title)
  x-label : (or/c string? #f) = (plot-x-label)
  y-label : (or/c string? #f) = (plot-y-label)
  z-label : (or/c string? #f) = (plot-z-label)
  legend-anchor : anchor/c = (plot-legend-anchor)
procedure
(points3d  vs                          
          [#:x-min x-min               
           #:x-max x-max               
           #:y-min y-min               
           #:y-max y-max               
           #:z-min z-min               
           #:z-max z-max               
           #:sym sym                   
           #:color color               
           #:fill-color fill-color     
           #:size size                 
           #:line-width line-width     
           #:alpha alpha               
           #:label label])         -> renderer3d?
  vs : (listof (vector/c real? real? real?))
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = #f
  z-max : (or/c rational? #f) = #f
  sym : point-sym/c = (point-sym)
  color : plot-color/c = (point-color)
  fill-color : (or/c plot-color/c 'auto) = 'auto
  size : (>=/c 0) = (point-size)
  line-width : (>=/c 0) = (point-line-width)
  alpha : (real-in 0 1) = (point-alpha)
  label : (or/c string? #f) = #f
procedure
(vector-field3d  f                           
                [x-min                       
                 x-max                       
                 y-min                       
                 y-max                       
                 z-min                       
                 z-max                       
                 #:samples samples           
                 #:scale scale               
                 #:color color               
                 #:line-width line-width     
                 #:line-style line-style     
                 #:alpha alpha               
                 #:label label])         -> renderer3d?
  f : (or/c (real? real? real? . -> . (vector/c real? real? real?))
            ((vector/c real? real? real?)
             . -> . (vector/c real? real? real?)))
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = #f
  z-max : (or/c rational? #f) = #f
  samples : exact-positive-integer? = ( vector-field3d-samples)
  scale : (or/c real? (one-of/c 'auto 'normalized))
        = (vector-field-scale)
  color : plot-color/c = (vector-field-color)
  line-width : (>=/c 0) = (vector-field-line-width)
  line-style : plot-pen-style/c = (vector-field-line-style)
  alpha : (real-in 0 1) = (vector-field-alpha)
  label : (or/c string? #f) = #f
procedure
(lines3d  vs                  
         [#:x-min x-min       
          #:x-max x-max       
          #:y-min y-min       
          #:y-max y-max       
          #:z-min z-min       
          #:z-max z-max       
          #:color color       
          #:width width       
          #:style style       
          #:alpha alpha       
          #:label label]) -> renderer3d?
  vs : (listof (vector/c real? real? real?))
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = #f
  z-max : (or/c rational? #f) = #f
  color : plot-color/c = (line-color)
  width : (>=/c 0) = (line-width)
  style : plot-pen-style/c = (line-style)
  alpha : (real-in 0 1) = (line-alpha)
  label : (or/c string? #f) = #f
procedure
(parametric3d  f                     
               t-min                 
               t-max                 
              [#:x-min x-min         
               #:x-max x-max         
               #:y-min y-min         
               #:y-max y-max         
               #:z-min z-min         
               #:z-max z-max         
               #:samples samples     
               #:color color         
               #:width width         
               #:style style         
               #:alpha alpha         
               #:label label])   -> renderer3d?
  f : (real? . -> . (vector/c real? real? real?))
  t-min : rational?
  t-max : rational?
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = #f
  z-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (line-samples)
  color : plot-color/c = (line-color)
  width : (>=/c 0) = (line-width)
  style : plot-pen-style/c = (line-style)
  alpha : (real-in 0 1) = (line-alpha)
  label : (or/c string? #f) = #f
procedure
(surface3d  f                           
           [x-min                       
            x-max                       
            y-min                       
            y-max                       
            #:z-min z-min               
            #:z-max z-max               
            #:samples samples           
            #:color color               
            #:style style               
            #:line-color line-color     
            #:line-width line-width     
            #:line-style line-style     
            #:alpha alpha               
            #:label label])         -> renderer3d?
  f : (real? real? . -> . real?)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = #f
  z-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (plot3d-samples)
  color : plot-color/c = (surface-color)
  style : plot-brush-style/c = (surface-style)
  line-color : plot-color/c = (surface-line-color)
  line-width : (>=/c 0) = (surface-line-width)
  line-style : plot-pen-style/c = (surface-line-style)
  alpha : (real-in 0 1) = (surface-alpha)
  label : (or/c string? #f) = #f
procedure
(polar3d  f                           
         [#:x-min x-min               
          #:x-max x-max               
          #:y-min y-min               
          #:y-max y-max               
          #:z-min z-min               
          #:z-max z-max               
          #:samples samples           
          #:color color               
          #:style style               
          #:line-color line-color     
          #:line-width line-width     
          #:line-style line-style     
          #:alpha alpha               
          #:label label])         -> renderer3d?
  f : (real? real? . -> . real?)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = #f
  z-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (plot3d-samples)
  color : plot-color/c = (surface-color)
  style : plot-brush-style/c = (surface-style)
  line-color : plot-color/c = (surface-line-color)
  line-width : (>=/c 0) = (surface-line-width)
  line-style : plot-pen-style/c = (surface-line-style)
  alpha : (real-in 0 1) = (surface-alpha)
  label : (or/c string? #f) = #f
procedure
(isoline3d  f                     
            z                     
           [x-min                 
            x-max                 
            y-min                 
            y-max                 
            #:z-min z-min         
            #:z-max z-max         
            #:samples samples     
            #:color color         
            #:width width         
            #:style style         
            #:alpha alpha         
            #:label label])   -> renderer3d?
  f : (real? real? . -> . real?)
  z : real?
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = #f
  z-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (plot3d-samples)
  color : plot-color/c = (line-color)
  width : (>=/c 0) = (line-width)
  style : plot-pen-style/c = (line-style)
  alpha : (real-in 0 1) = (line-alpha)
  label : (or/c string? #f) = #f
procedure
(contours3d  f                     
            [x-min                 
             x-max                 
             y-min                 
             y-max                 
             #:z-min z-min         
             #:z-max z-max         
             #:samples samples     
             #:levels levels       
             #:colors colors       
             #:widths widths       
             #:styles styles       
             #:alphas alphas       
             #:label label])   -> renderer3d?
  f : (real? real? . -> . real?)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = #f
  z-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (plot3d-samples)
  levels : (or/c 'auto exact-positive-integer? (listof real?))
         = (contour-levels)
  colors : (plot-colors/c (listof real?)) = (contour-colors)
  widths : (pen-widths/c (listof real?)) = (contour-widths)
  styles : (plot-pen-styles/c (listof real?)) = (contour-styles)
  alphas : (alphas/c (listof real?)) = (contour-alphas)
  label : (or/c string? #f) = #f
procedure
(contour-intervals3d  f                               
                     [x-min                           
                      x-max                           
                      y-min                           
                      y-max                           
                      #:z-min z-min                   
                      #:z-max z-max                   
                      #:samples samples               
                      #:levels levels                 
                      #:colors colors                 
                      #:styles styles                 
                      #:line-colors line-colors       
                      #:line-widths line-widths       
                      #:line-styles line-styles       
                      #:contour-colors contour-colors 
                      #:contour-widths contour-widths 
                      #:contour-styles contour-styles 
                      #:alphas alphas                 
                      #:label label])                 
 -> renderer3d?
  f : (real? real? . -> . real?)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = #f
  z-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (plot3d-samples)
  levels : (or/c 'auto exact-positive-integer? (listof real?))
         = (contour-levels)
  colors : (plot-colors/c (listof ivl?))
         = (contour-interval-colors)
  styles : (plot-brush-styles/c (listof ivl?))
         = (contour-interval-styles)
  line-colors : (plot-colors/c (listof ivl?))
              = (contour-interval-line-colors)
  line-widths : (pen-widths/c (listof ivl?))
              = (contour-interval-line-widths)
  line-styles : (plot-pen-styles/c (listof ivl?))
              = (contour-interval-line-styles)
  contour-colors : (plot-colors/c (listof real?))
                 = (contour-colors)
  contour-widths : (pen-widths/c (listof real?))
                 = (contour-widths)
  contour-styles : (plot-pen-styles/c (listof real?))
                 = (contour-styles)
  alphas : (alphas/c (listof ivl?)) = (contour-interval-alphas)
  label : (or/c string? #f) = #f
procedure
(isosurface3d  f                           
               d                           
              [x-min                       
               x-max                       
               y-min                       
               y-max                       
               z-min                       
               z-max                       
               #:samples samples           
               #:color color               
               #:style style               
               #:line-color line-color     
               #:line-width line-width     
               #:line-style line-style     
               #:alpha alpha               
               #:label label])         -> renderer3d?
  f : (real? real? real? . -> . real?)
  d : rational?
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = #f
  z-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (plot3d-samples)
  color : plot-color/c = (surface-color)
  style : plot-brush-style/c = (surface-style)
  line-color : plot-color/c = (surface-line-color)
  line-width : (>=/c 0) = (surface-line-width)
  line-style : plot-pen-style/c = (surface-line-style)
  alpha : (real-in 0 1) = (surface-alpha)
  label : (or/c string? #f) = #f
procedure
(isosurfaces3d  f                             
               [x-min                         
                x-max                         
                y-min                         
                y-max                         
                z-min                         
                z-max                         
                #:d-min d-min                 
                #:d-max d-max                 
                #:samples samples             
                #:levels levels               
                #:colors colors               
                #:styles styles               
                #:line-colors line-colors     
                #:line-widths line-widths     
                #:line-styles line-styles     
                #:alphas alphas               
                #:label label])           -> renderer3d?
  f : (real? real? real? . -> . real?)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = #f
  z-max : (or/c rational? #f) = #f
  d-min : (or/c rational? #f) = #f
  d-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (plot3d-samples)
  levels : (or/c 'auto exact-positive-integer? (listof real?))
         = (isosurface-levels)
  colors : (plot-colors/c (listof real?)) = (isosurface-colors)
  styles : (plot-brush-styles/c (listof real?))
         = (isosurface-styles)
  line-colors : (plot-colors/c (listof real?))
              = (isosurface-line-colors)
  line-widths : (pen-widths/c (listof real?))
              = (isosurface-line-widths)
  line-styles : (plot-pen-styles/c (listof real?))
              = (isosurface-line-styles)
  alphas : (alphas/c (listof real?)) = (isosurface-alphas)
  label : (or/c string? #f) = #f
procedure
(rectangles3d  rects                       
              [#:x-min x-min               
               #:x-max x-max               
               #:y-min y-min               
               #:y-max y-max               
               #:z-min z-min               
               #:z-max z-max               
               #:color color               
               #:style style               
               #:line-color line-color     
               #:line-width line-width     
               #:line-style line-style     
               #:alpha alpha               
               #:label label])         -> renderer3d?
  rects : (listof (vector/c ivl? ivl? ivl?))
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = #f
  z-max : (or/c rational? #f) = #f
  color : plot-color/c = (rectangle-color)
  style : plot-brush-style/c = (rectangle-style)
  line-color : plot-color/c = (rectangle-line-color)
  line-width : (>=/c 0) = (rectangle3d-line-width)
  line-style : plot-pen-style/c = (rectangle-line-style)
  alpha : (real-in 0 1) = (rectangle-alpha)
  label : (or/c string? #f) = #f
procedure
(discrete-histogram3d  cat-vals                      
                      [#:x-min x-min                 
                       #:x-max x-max                 
                       #:y-min y-min                 
                       #:y-max y-max                 
                       #:z-min z-min                 
                       #:z-max z-max                 
                       #:gap gap                     
                       #:color color                 
                       #:style style                 
                       #:line-color line-color       
                       #:line-width line-width       
                       #:line-style line-style       
                       #:alpha alpha                 
                       #:label label                 
                       #:add-x-ticks? add-x-ticks?   
                       #:add-y-ticks? add-y-ticks?   
                       #:x-far-ticks? x-far-ticks?   
                       #:y-far-ticks? y-far-ticks?]) 
 -> renderer3d?
  cat-vals : (listof (vector/c any/c any/c (or/c real? ivl? #f)))
  x-min : (or/c rational? #f) = 0
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = 0
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = 0
  z-max : (or/c rational? #f) = #f
  gap : (real-in 0 1) = (discrete-histogram-gap)
  color : plot-color/c = (rectangle-color)
  style : plot-brush-style/c = (rectangle-style)
  line-color : plot-color/c = (rectangle-line-color)
  line-width : (>=/c 0) = (rectangle3d-line-width)
  line-style : plot-pen-style/c = (rectangle-line-style)
  alpha : (real-in 0 1) = (rectangle-alpha)
  label : (or/c string? #f) = #f
  add-x-ticks? : boolean? = #t
  add-y-ticks? : boolean? = #t
  x-far-ticks? : boolean? = #f
  y-far-ticks? : boolean? = #f
procedure
(stacked-histogram3d  cat-vals                      
                     [#:x-min x-min                 
                      #:x-max x-max                 
                      #:y-min y-min                 
                      #:y-max y-max                 
                      #:z-min z-min                 
                      #:z-max z-max                 
                      #:gap gap                     
                      #:colors colors               
                      #:styles styles               
                      #:line-colors line-colors     
                      #:line-widths line-widths     
                      #:line-styles line-styles     
                      #:alphas alphas               
                      #:labels labels               
                      #:add-x-ticks? add-x-ticks?   
                      #:add-y-ticks? add-y-ticks?   
                      #:x-far-ticks? x-far-ticks?   
                      #:y-far-ticks? y-far-ticks?]) 
 -> (listof renderer3d?)
  cat-vals : (listof (vector/c any/c any/c (listof real?)))
  x-min : (or/c rational? #f) = 0
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = 0
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = 0
  z-max : (or/c rational? #f) = #f
  gap : (real-in 0 1) = (discrete-histogram-gap)
  colors : (plot-colors/c nat/c) = (stacked-histogram-colors)
  styles : (plot-brush-styles/c nat/c)
         = (stacked-histogram-styles)
  line-colors : (plot-colors/c nat/c)
              = (stacked-histogram-line-colors)
  line-widths : (pen-widths/c nat/c)
              = (stacked-histogram-line-widths)
  line-styles : (plot-pen-styles/c nat/c)
              = (stacked-histogram-line-styles)
  alphas : (alphas/c nat/c) = (stacked-histogram-alphas)
  labels : (labels/c nat/c) = '(#f)
  add-x-ticks? : boolean? = #t
  add-y-ticks? : boolean? = #t
  x-far-ticks? : boolean? = #f
  y-far-ticks? : boolean? = #f
procedure
(x-ticks ts [#:far? far?]) -> nonrenderer?
  ts : (listof tick?)
  far? : boolean? = #f
procedure
(y-ticks ts [#:far? far?]) -> nonrenderer?
  ts : (listof tick?)
  far? : boolean? = #f
procedure
(z-ticks ts [#:far? far?]) -> nonrenderer?
  ts : (listof tick?)
  far? : boolean? = #f
procedure
(invisible-rect x-min x-max y-min y-max) -> nonrenderer?
  x-min : (or/c rational? #f)
  x-max : (or/c rational? #f)
  y-min : (or/c rational? #f)
  y-max : (or/c rational? #f)
procedure
(invisible-rect3d x-min      
                  x-max      
                  y-min      
                  y-max      
                  z-min      
                  z-max) -> nonrenderer?
  x-min : (or/c rational? #f)
  x-max : (or/c rational? #f)
  y-min : (or/c rational? #f)
  y-max : (or/c rational? #f)
  z-min : (or/c rational? #f)
  z-max : (or/c rational? #f)
parameter
(plot-x-transform) -> axis-transform/c
(plot-x-transform transform) -> void?
  transform : axis-transform/c
=  id-transform
parameter
(plot-y-transform) -> axis-transform/c
(plot-y-transform transform) -> void?
  transform : axis-transform/c
=  id-transform
parameter
(plot-z-transform) -> axis-transform/c
(plot-z-transform transform) -> void?
  transform : axis-transform/c
=  id-transform
value
id-transform : axis-transform/c
value
log-transform : axis-transform/c
procedure
(stretch-transform a b scale) -> axis-transform/c
  a : real?
  b : real?
  scale : (>/c 0)
procedure
(collapse-transform a b) -> axis-transform/c
  a : real?
  b : real?
value
cbrt-transform : axis-transform/c
procedure
(hand-drawn-transform freq) -> axis-transform/c
  freq : (>/c 0)
value
axis-transform/c : contract?
=  (real? real? invertible-function? . -> . invertible-function?)
procedure
(axis-transform-append t1 t2 mid) -> axis-transform/c
  t1 : axis-transform/c
  t2 : axis-transform/c
  mid : real?
procedure
(axis-transform-bound t a b) -> axis-transform/c
  t : axis-transform/c
  a : real?
  b : real?
=  (axis-transform-append
    (axis-transform-append id-transform t a) id-transform b)
procedure
(axis-transform-compose t1 t2) -> axis-transform/c
  t1 : axis-transform/c
  t2 : axis-transform/c
procedure
(make-axis-transform fun) -> axis-transform/c
  fun : invertible-function?
procedure
(apply-axis-transform t x-min x-max) -> invertible-function?
  t : axis-transform/c
  x-min : real?
  x-max : real?
=  (t x-min x-max id-function)
parameter
(plot-x-ticks) -> ticks?
(plot-x-ticks ticks) -> void?
  ticks : ticks?
=  (linear-ticks)
parameter
(plot-x-far-ticks) -> ticks?
(plot-x-far-ticks ticks) -> void?
  ticks : ticks?
=  (ticks-mimic plot-x-ticks)
parameter
(plot-y-ticks) -> ticks?
(plot-y-ticks ticks) -> void?
  ticks : ticks?
=  (linear-ticks)
parameter
(plot-y-far-ticks) -> ticks?
(plot-y-far-ticks ticks) -> void?
  ticks : ticks?
=  (ticks-mimic plot-y-ticks)
parameter
(plot-z-ticks) -> ticks?
(plot-z-ticks ticks) -> void?
  ticks : ticks?
=  (linear-ticks)
parameter
(plot-z-far-ticks) -> ticks?
(plot-z-far-ticks ticks) -> void?
  ticks : ticks?
=  (ticks-mimic plot-z-ticks)
procedure
(contour-ticks z-ticks         
               z-min           
               z-max           
               levels          
               intervals?) -> (listof tick?)
  z-ticks : ticks?
  z-min : real?
  z-max : real?
  levels : (or/c 'auto exact-positive-integer? (listof real?))
  intervals? : boolean?
parameter
(plot-d-ticks) -> ticks?
(plot-d-ticks ticks) -> void?
  ticks : ticks?
=  (linear-ticks)
parameter
(plot-r-ticks) -> ticks?
(plot-r-ticks ticks) -> void?
  ticks : ticks?
=  (linear-ticks)
struct
(struct ticks (layout format)
        #:extra-constructor-name make-ticks)
  layout : ticks-layout/c
  format : ticks-format/c
parameter
(ticks-default-number) -> exact-positive-integer?
(ticks-default-number number) -> void?
  number : exact-positive-integer?
=  4
procedure
(linear-ticks-layout [#:number number           
                      #:base base               
                      #:divisors divisors]) -> ticks-layout/c
  number : exact-positive-integer? = (ticks-default-number)
  base : (and/c exact-integer? (>=/c 2)) = 10
  divisors : (listof exact-positive-integer?) = '(1 2 4 5)
procedure
(linear-ticks-format) -> ticks-format/c
procedure
(linear-ticks [#:number number           
               #:base base               
               #:divisors divisors]) -> ticks?
  number : exact-positive-integer? = (ticks-default-number)
  base : (and/c exact-integer? (>=/c 2)) = 10
  divisors : (listof exact-positive-integer?) = '(1 2 4 5)
=  (ticks (linear-ticks-layout #:number number #:base base
                               #:divisors divisors)
          (linear-ticks-format))
procedure
(log-ticks-layout [#:number number     
                   #:base base])   -> ticks-layout/c
  number : exact-positive-integer? = (ticks-default-number)
  base : (and/c exact-integer? (>=/c 2)) = 10
procedure
(log-ticks-format [#:base base]) -> ticks-format/c
  base : (and/c exact-integer? (>=/c 2)) = 10
procedure
(log-ticks [#:number number #:base base]) -> ticks?
  number : exact-positive-integer? = (ticks-default-number)
  base : (and/c exact-integer? (>=/c 2)) = 10
=  (ticks (log-ticks-layout #:number number #:base base)
          (log-ticks-format #:base base))
procedure
(date-ticks-layout [#:number number]) -> ticks-layout/c
  number : exact-positive-integer? = (ticks-default-number)
procedure
(date-ticks-format [#:formats formats]) -> ticks-format/c
  formats : (listof string?) = (date-ticks-formats)
procedure
(date-ticks [#:number number         
             #:formats formats]) -> ticks?
  number : exact-positive-integer? = (ticks-default-number)
  formats : (listof string?) = (date-ticks-formats)
=  (ticks (date-ticks-layout #:number number)
          (date-ticks-format #:formats formats))
parameter
(date-ticks-formats) -> (listof string?)
(date-ticks-formats formats) -> void?
  formats : (listof string?)
=  24h-descending-date-ticks-formats
value
24h-descending-date-ticks-formats : (listof string?)
=  '("~Y-~m-~d ~H:~M:~f"
     "~Y-~m-~d ~H:~M"
     "~Y-~m-~d ~Hh"
     "~Y-~m-~d"
     "~Y-~m"
     "~Y"
     "~m-~d ~H:~M:~f"
     "~m-~d ~H:~M"
     "~m-~d ~Hh"
     "~m-~d"
     "~H:~M:~f"
     "~H:~M"
     "~Hh"
     "~M:~fs"
     "~Mm"
     "~fs")
value
12h-descending-date-ticks-formats : (listof string?)
=  '("~Y-~m-~d ~I:~M:~f ~p"
     "~Y-~m-~d ~I:~M ~p"
     "~Y-~m-~d ~I ~p"
     "~Y-~m-~d"
     "~Y-~m"
     "~Y"
     "~m-~d ~I:~M:~f ~p"
     "~m-~d ~I:~M ~p"
     "~m-~d ~I ~p"
     "~m-~d"
     "~I:~M:~f ~p"
     "~I:~M ~p"
     "~I ~p"
     "~M:~fs"
     "~Mm"
     "~fs")
procedure
(time-ticks-layout [#:number number]) -> ticks-layout/c
  number : exact-positive-integer? = (ticks-default-number)
procedure
(time-ticks-format [#:formats formats]) -> ticks-format/c
  formats : (listof string?) = (time-ticks-formats)
procedure
(time-ticks [#:number number         
             #:formats formats]) -> ticks?
  number : exact-positive-integer? = (ticks-default-number)
  formats : (listof string?) = (time-ticks-formats)
=  (ticks (time-ticks-layout #:number number)
          (time-ticks-format #:formats formats))
parameter
(time-ticks-formats) -> (listof string?)
(time-ticks-formats formats) -> void?
  formats : (listof string?)
=  24h-descending-time-ticks-formats
value
24h-descending-time-ticks-formats : (listof string?)
=  '("~dd ~H:~M:~f"
     "~dd ~H:~M"
     "~dd ~Hh"
     "~dd"
     "~H:~M:~f"
     "~H:~M"
     "~Hh"
     "~M:~fs"
     "~Mm"
     "~fs")
value
12h-descending-time-ticks-formats : (listof string?)
=  '("~dd ~I:~M:~f ~p"
     "~dd ~I:~M ~p"
     "~dd ~I ~p"
     "~dd"
     "~I:~M:~f ~p"
     "~I:~M ~p"
     "~I ~p"
     "~M:~fs"
     "~Mm"
     "~fs")
procedure
(currency-ticks-format [#:kind kind             
                        #:scales scales         
                        #:formats formats]) -> ticks-format/c
  kind : (or/c string? symbol?) = 'USD
  scales : (listof string?) = (currency-ticks-scales)
  formats : (list/c string? string? string?)
          = (currency-ticks-formats)
procedure
(currency-ticks [#:number number         
                 #:kind kind             
                 #:scales scales         
                 #:formats formats]) -> ticks?
  number : exact-positive-integer? = (ticks-default-number)
  kind : (or/c string? symbol?) = 'USD
  scales : (listof string?) = (currency-ticks-scales)
  formats : (list/c string? string? string?)
          = (currency-ticks-formats)
=  (ticks (linear-ticks-layout #:number number)
          (currency-ticks-format #:kind kind #:scales scales
                                 #:formats formats))
parameter
(currency-ticks-scales) -> (listof string?)
(currency-ticks-scales scales) -> void?
  scales : (listof string?)
=  us-currency-scales
parameter
(currency-ticks-formats) -> (list/c string? string? string?)
(currency-ticks-formats formats) -> void?
  formats : (list/c string? string? string?)
=  us-currency-formats
value
us-currency-scales : (listof string?)
=  '("" "K" "M" "B" "T")
value
uk-currency-scales : (listof string?)
=  '("" "k" "m" "bn" "tr")
value
eu-currency-scales : (listof string?)
=  '("" "K" "M" "Md" "B")
value
us-currency-formats : (list/c string? string? string?)
=  '("~$~w.~f~s" "(~$~w.~f~s)" "~$0")
value
uk-currency-formats : (list/c string? string? string?)
=  '("~$~w.~f~s" "-~$~w.~f~s" "~$0")
value
eu-currency-formats : (list/c string? string? string?)
=  '("~w,~f ~s~$" "-~w,~f ~s~$" "0 ~$")
value
no-ticks-layout : ticks-layout/c
=  (λ (x-min x-max) empty)
value
no-ticks-format : ticks-format/c
=  (λ (x-min x-max pre-ticks)
     (map (λ (_) "") pre-ticks))
value
no-ticks : ticks?
=  (ticks no-ticks-layout no-ticks-format)
procedure
(bit/byte-ticks-format [#:size size       
                        #:kind kind]) -> ticks-format/c
  size : (or/c 'byte 'bit) = 'byte
  kind : (or/c 'CS 'SI) = 'CS
procedure
(bit/byte-ticks [#:number number     
                 #:size size         
                 #:kind kind])   -> ticks?
  number : exact-positive-integer? = (ticks-default-number)
  size : (or/c 'byte 'bit) = 'byte
  kind : (or/c 'CS 'SI) = 'CS
=  (define si? (eq? kind 'SI))
   (ticks (linear-ticks-layout #:number number #:base (if si? 10 2)
                               #:divisors (if si? '(1 2 4 5) '(1 2)))
          (bit/byte-ticks-format #:size size #:kind kind))
procedure
(fraction-ticks-format [#:base base               
                        #:divisors divisors]) -> ticks-format/c
  base : (and/c exact-integer? (>=/c 2)) = 10
  divisors : (listof exact-positive-integer?) = '(1 2 3 4 5)
procedure
(fraction-ticks [#:base base               
                 #:divisors divisors]) -> ticks?
  base : (and/c exact-integer? (>=/c 2)) = 10
  divisors : (listof exact-positive-integer?) = '(1 2 3 4 5)
=  (ticks (linear-ticks #:base base #:divisors divisors)
          (fraction-ticks-format #:base base #:divisors divisors))
procedure
(ticks-mimic thunk) -> ticks?
  thunk : (-> ticks?)
procedure
(ticks-add t xs [major?]) -> ticks?
  t : ticks?
  xs : (listof real?)
  major? : boolean? = #t
procedure
(ticks-scale t fun) -> ticks?
  t : ticks?
  fun : invertible-function?
struct
(struct pre-tick (value major?)
        #:extra-constructor-name make-pre-tick)
  value : real?
  major? : boolean?
struct
(struct tick pre-tick (label)
        #:extra-constructor-name make-tick)
  label : string?
value
ticks-layout/c : contract?
=  (real? real? . -> . (listof pre-tick?))
value
ticks-format/c : contract?
=  (real? real? (listof pre-tick?) . -> . (listof string?))
struct
(struct invertible-function (f g)
        #:extra-constructor-name make-invertible-function)
  f : (real? . -> . real?)
  g : (real? . -> . real?)
value
id-function : invertible-function?
procedure
(invertible-compose f1 f2) -> invertible-function?
  f1 : invertible-function?
  f2 : invertible-function?
procedure
(invertible-inverse h) -> invertible-function?
  h : invertible-function?
=  (match-define (invertible-function f g) h)
   (invertible-function g f)
procedure
(linear-scale m [b]) -> invertible-function?
  m : rational?
  b : rational? = 0
=  (invertible-function (λ (x) (+ (* m x) b))
                        (λ (y) (/ (- y b) m)))
procedure
(digits-for-range  x-min              
                   x-max              
                  [base               
                   extra-digits]) -> exact-integer?
  x-min : real?
  x-max : real?
  base : (and/c exact-integer? (>=/c 2)) = 10
  extra-digits : exact-integer? = 3
procedure
(real->plot-label x digits [scientific?]) -> any
  x : real?
  digits : exact-integer?
  scientific? : boolean? = #t
procedure
(ivl->plot-label i [extra-digits]) -> string?
  i : ivl?
  extra-digits : exact-integer? = 3
procedure
(->plot-label a [digits]) -> string?
  a : any/c
  digits : exact-integer? = 7
procedure
(real->string/trunc x e) -> string?
  x : real?
  e : exact-integer?
procedure
(real->decimal-string*  x                
                        min-digits       
                       [max-digits]) -> string?
  x : real?
  min-digits : exact-nonnegative-integer?
  max-digits : exact-nonnegative-integer? = min-digits
procedure
(integer->superscript x) -> string?
  x : exact-integer?
procedure
(linear-seq  start               
             end                 
             num                 
            [#:start? start?     
             #:end? end?])   -> (listof real?)
  start : real?
  end : real?
  num : exact-nonnegative-integer?
  start? : boolean? = #t
  end? : boolean? = #t
procedure
(linear-seq*  points              
              num                 
             [#:start? start?     
              #:end? end?])   -> (listof real?)
  points : (listof real?)
  num : exact-nonnegative-integer?
  start? : boolean? = #t
  end? : boolean? = #t
procedure
(nonlinear-seq  start               
                end                 
                num                 
                transform           
               [#:start? start?     
                #:end? end?])   -> (listof real?)
  start : real?
  end : real?
  num : exact-nonnegative-integer?
  transform : axis-transform/c
  start? : boolean? = #t
  end? : boolean? = #t
struct
(struct mapped-function (f fmap)
        #:extra-constructor-name make-mapped-function)
  f : (any/c . -> . any/c)
  fmap : ((listof any/c) . -> . (listof any/c))
procedure
(kde xs h) -> mapped-function?
              (or/c rational? #f)
              (or/c rational? #f)
  xs : (listof real?)
  h : real?
procedure
(color-seq  c1              
            c2              
            num             
           [#:start? start? 
            #:end? end?])   
 -> (listof (list/c real? real? real?))
  c1 : color/c
  c2 : color/c
  num : exact-nonnegative-integer?
  start? : boolean? = #t
  end? : boolean? = #t
procedure
(color-seq*  colors          
             num             
            [#:start? start? 
             #:end? end?])   
 -> (listof (list/c real? real? real?))
  colors : (listof color/c)
  num : exact-nonnegative-integer?
  start? : boolean? = #t
  end? : boolean? = #t
procedure
(->color c) -> (list/c real? real? real?)
  c : color/c
procedure
(->pen-color c) -> (list/c real? real? real?)
  c : plot-color/c
procedure
(->brush-color c) -> (list/c real? real? real?)
  c : plot-color/c
procedure
(->pen-style s) -> symbol?
  s : plot-pen-style/c
procedure
(->brush-style s) -> symbol?
  s : plot-brush-style/c
procedure
(polar->cartesian θ r) -> (vector/c real? real?)
  θ : real?
  r : real?
procedure
(3d-polar->3d-cartesian θ ρ r) -> (vector/c real? real? real?)
  θ : real?
  ρ : real?
  r : real?
procedure
(ceiling-log/base b x) -> exact-integer?
  b : (and/c exact-integer? (>=/c 2))
  x : (>/c 0)
procedure
(floor-log/base b x) -> exact-integer?
  b : (and/c exact-integer? (>=/c 2))
  x : (>/c 0)
procedure
(maybe-inexact->exact x) -> (or/c rational? #f)
  x : (or/c rational? #f)
procedure
(v+ v1 v2) -> (vectorof real?)
  v1 : (vectorof real?)
  v2 : (vectorof real?)
procedure
(v- v1 v2) -> (vectorof real?)
  v1 : (vectorof real?)
  v2 : (vectorof real?)
procedure
(vneg v) -> (vectorof real?)
  v : (vectorof real?)
procedure
(v* v c) -> (vectorof real?)
  v : (vectorof real?)
  c : real?
procedure
(v/ v c) -> (vectorof real?)
  v : (vectorof real?)
  c : real?
procedure
(v= v1 v2) -> boolean?
  v1 : (vectorof real?)
  v2 : (vectorof real?)
procedure
(vcross v1 v2) -> (vector/c real? real? real?)
  v1 : (vector/c real? real? real?)
  v2 : (vector/c real? real? real?)
procedure
(vcross2 v1 v2) -> real?
  v1 : (vector/c real? real?)
  v2 : (vector/c real? real?)
procedure
(vdot v1 v2) -> real?
  v1 : (vectorof real?)
  v2 : (vectorof real?)
procedure
(vmag^2 v) -> real?
  v : (vectorof real?)
procedure
(vmag v) -> real?
  v : (vectorof real?)
procedure
(vnormalize v) -> (vectorof real?)
  v : (vectorof real?)
procedure
(vcenter vs) -> (vectorof real?)
  vs : (listof (vectorof real?))
procedure
(vrational? v) -> boolean?
  v : (vectorof real?)
struct
(struct ivl (min max)
        #:extra-constructor-name make-ivl)
  min : real?
  max : real?
procedure
(rational-ivl? i) -> boolean?
  i : any/c
procedure
(bounds->intervals xs) -> (listof ivl?)
  xs : (listof real?)
procedure
(clamp-real x i) -> real?
  x : real?
  i : ivl?
procedure
(datetime->real x) -> real?
  x : (or/c plot-time? date? date*? sql-date? sql-time? sql-timestamp?)
struct
(struct plot-time (second minute hour day)
        #:extra-constructor-name make-plot-time)
  second : (and/c (>=/c 0) (</c 60))
  minute : (integer-in 0 59)
  hour : (integer-in 0 23)
  day : exact-integer?
procedure
(plot-time->seconds t) -> real?
  t : plot-time?
procedure
(seconds->plot-time s) -> plot-time?
  s : real?
parameter
(plot-deprecation-warnings?) -> boolean?
(plot-deprecation-warnings? warnings?) -> void?
  warnings? : boolean?
=  #f
parameter
(plot-new-window?) -> boolean?
(plot-new-window? window?) -> void?
  window? : boolean?
=  #f
parameter
(plot-width) -> exact-positive-integer?
(plot-width width) -> void?
  width : exact-positive-integer?
=  400
parameter
(plot-height) -> exact-positive-integer?
(plot-height height) -> void?
  height : exact-positive-integer?
=  400
parameter
(plot-jpeg-quality) -> (integer-in 0 100)
(plot-jpeg-quality quality) -> void?
  quality : (integer-in 0 100)
=  100
parameter
(plot-ps/pdf-interactive?) -> boolean?
(plot-ps/pdf-interactive? interactive?) -> void?
  interactive? : boolean?
=  #f
parameter
(plot-foreground) -> plot-color/c
(plot-foreground color) -> void?
  color : plot-color/c
=  0
parameter
(plot-background) -> plot-color/c
(plot-background color) -> void?
  color : plot-color/c
=  0
parameter
(plot-foreground-alpha) -> (real-in 0 1)
(plot-foreground-alpha alpha) -> void?
  alpha : (real-in 0 1)
=  1
parameter
(plot-background-alpha) -> (real-in 0 1)
(plot-background-alpha alpha) -> void?
  alpha : (real-in 0 1)
=  1
parameter
(plot-font-size) -> (>=/c 0)
(plot-font-size size) -> void?
  size : (>=/c 0)
=  11
parameter
(plot-font-family) -> font-family/c
(plot-font-family family) -> void?
  family : font-family/c
=  'roman
parameter
(plot-line-width) -> (>=/c 0)
(plot-line-width width) -> void?
  width : (>=/c 0)
=  1
parameter
(plot-legend-anchor) -> anchor/c
(plot-legend-anchor anchor) -> void?
  anchor : anchor/c
=  'top-left
parameter
(plot-legend-box-alpha) -> (real-in 0 1)
(plot-legend-box-alpha alpha) -> void?
  alpha : (real-in 0 1)
=  2/3
parameter
(plot-tick-size) -> (>=/c 0)
(plot-tick-size size) -> void?
  size : (>=/c 0)
=  10
parameter
(plot-title) -> (or/c string? #f)
(plot-title title) -> void?
  title : (or/c string? #f)
=  #f
parameter
(plot-x-label) -> (or/c string? #f)
(plot-x-label label) -> void?
  label : (or/c string? #f)
=  "x axis"
parameter
(plot-y-label) -> (or/c string? #f)
(plot-y-label label) -> void?
  label : (or/c string? #f)
=  "y axis"
parameter
(plot-z-label) -> (or/c string? #f)
(plot-z-label label) -> void?
  label : (or/c string? #f)
=  #f
parameter
(plot-x-far-label) -> (or/c string? #f)
(plot-x-far-label label) -> void?
  label : (or/c string? #f)
=  #f
parameter
(plot-y-far-label) -> (or/c string? #f)
(plot-y-far-label label) -> void?
  label : (or/c string? #f)
=  #f
parameter
(plot-z-far-label) -> (or/c string? #f)
(plot-z-far-label label) -> void?
  label : (or/c string? #f)
=  #f
parameter
(plot-x-tick-label-anchor) -> anchor/c
(plot-x-tick-label-anchor anchor) -> void?
  anchor : anchor/c
=  'top
parameter
(plot-x-tick-label-angle) -> real?
(plot-x-tick-label-angle angle) -> void?
  angle : real?
=  0
parameter
(plot-y-tick-label-anchor) -> anchor/c
(plot-y-tick-label-anchor anchor) -> void?
  anchor : anchor/c
=  'right
parameter
(plot-y-tick-label-angle) -> real?
(plot-y-tick-label-angle angle) -> void?
  angle : real?
=  0
parameter
(plot-x-far-tick-label-anchor) -> anchor/c
(plot-x-far-tick-label-anchor anchor) -> void?
  anchor : anchor/c
=  'bottom
parameter
(plot-x-far-tick-label-angle) -> real?
(plot-x-far-tick-label-angle angle) -> void?
  angle : real?
=  0
parameter
(plot-y-far-tick-label-anchor) -> anchor/c
(plot-y-far-tick-label-anchor anchor) -> void?
  anchor : anchor/c
=  'left
parameter
(plot-y-far-tick-label-angle) -> real?
(plot-y-far-tick-label-angle angle) -> void?
  angle : real?
=  0
parameter
(plot-x-axis?) -> boolean?
(plot-x-axis? axis?) -> void?
  axis? : boolean?
=  #t
parameter
(plot-x-far-axis?) -> boolean?
(plot-x-far-axis? axis?) -> void?
  axis? : boolean?
=  #t
parameter
(plot-y-axis?) -> boolean?
(plot-y-axis? axis?) -> void?
  axis? : boolean?
=  #t
parameter
(plot-y-far-axis?) -> boolean?
(plot-y-far-axis? axis?) -> void?
  axis? : boolean?
=  #t
parameter
(plot-z-axis?) -> boolean?
(plot-z-axis? axis?) -> void?
  axis? : boolean?
=  #t
parameter
(plot-z-far-axis?) -> boolean?
(plot-z-far-axis? axis?) -> void?
  axis? : boolean?
=  #t
parameter
(plot-animating?) -> boolean?
(plot-animating? animating?) -> void?
  animating? : boolean?
=  #f
procedure
(animated-samples samples) -> (and/c exact-integer? (>=/c 2))
  samples : (and/c exact-integer? (>=/c 2))
=  (cond [(plot-animating?)  (max 2 (ceiling (* 1/4 samples)))]
         [else  samples])
parameter
(plot-decorations?) -> boolean?
(plot-decorations? decorations?) -> void?
  decorations? : boolean?
=  #t
parameter
(line-samples) -> (and/c exact-integer? (>=/c 2))
(line-samples samples) -> void?
  samples : (and/c exact-integer? (>=/c 2))
=  500
parameter
(line-color) -> plot-color/c
(line-color color) -> void?
  color : plot-color/c
=  1
parameter
(line-width) -> (>=/c 0)
(line-width width) -> void?
  width : (>=/c 0)
=  1
parameter
(line-style) -> plot-pen-style/c
(line-style style) -> void?
  style : plot-pen-style/c
=  'solid
parameter
(line-alpha) -> (real-in 0 1)
(line-alpha alpha) -> void?
  alpha : (real-in 0 1)
=  1
parameter
(interval-color) -> plot-color/c
(interval-color color) -> void?
  color : plot-color/c
=  3
parameter
(interval-style) -> plot-brush-style/c
(interval-style style) -> void?
  style : plot-brush-style/c
=  'solid
parameter
(interval-line1-color) -> plot-color/c
(interval-line1-color color) -> void?
  color : plot-color/c
=  3
parameter
(interval-line1-width) -> (>=/c 0)
(interval-line1-width width) -> void?
  width : (>=/c 0)
=  1
parameter
(interval-line1-style) -> plot-pen-style/c
(interval-line1-style style) -> void?
  style : plot-pen-style/c
=  'solid
parameter
(interval-line2-color) -> plot-color/c
(interval-line2-color color) -> void?
  color : plot-color/c
=  3
parameter
(interval-line2-width) -> (>=/c 0)
(interval-line2-width width) -> void?
  width : (>=/c 0)
=  1
parameter
(interval-line2-style) -> plot-pen-style/c
(interval-line2-style style) -> void?
  style : plot-pen-style/c
=  'solid
parameter
(interval-alpha) -> (real-in 0 1)
(interval-alpha alpha) -> void?
  alpha : (real-in 0 1)
=  3/4
parameter
(point-sym) -> point-sym/c
(point-sym sym) -> void?
  sym : point-sym/c
=  'circle
parameter
(point-color) -> plot-color/c
(point-color color) -> void?
  color : plot-color/c
=  0
parameter
(point-size) -> (>=/c 0)
(point-size size) -> void?
  size : (>=/c 0)
=  6
parameter
(point-line-width) -> (>=/c 0)
(point-line-width width) -> void?
  width : (>=/c 0)
=  1
parameter
(point-alpha) -> (real-in 0 1)
(point-alpha alpha) -> void?
  alpha : (real-in 0 1)
=  1
parameter
(vector-field-samples) -> exact-positive-integer?
(vector-field-samples samples) -> void?
  samples : exact-positive-integer?
=  20
parameter
(vector-field-color) -> plot-color/c
(vector-field-color color) -> void?
  color : plot-color/c
=  1
parameter
(vector-field-line-width) -> (>=/c 0)
(vector-field-line-width width) -> void?
  width : (>=/c 0)
=  2/3
parameter
(vector-field-line-style) -> plot-pen-style/c
(vector-field-line-style style) -> void?
  style : plot-pen-style/c
=  'solid
parameter
(vector-field-scale)
 -> (or/c real? (one-of/c 'auto 'normalized))
(vector-field-scale scale) -> void?
  scale : (or/c real? (one-of/c 'auto 'normalized))
=  'auto
parameter
(vector-field-alpha) -> (real-in 0 1)
(vector-field-alpha alpha) -> void?
  alpha : (real-in 0 1)
=  1
parameter
(vector-field3d-samples) -> exact-positive-integer?
(vector-field3d-samples samples) -> void?
  samples : exact-positive-integer?
=  9
parameter
(error-bar-width) -> (>=/c 0)
(error-bar-width width) -> void?
  width : (>=/c 0)
=  6
parameter
(error-bar-color) -> plot-color/c
(error-bar-color color) -> void?
  color : plot-color/c
=  0
parameter
(error-bar-line-width) -> (>=/c 0)
(error-bar-line-width width) -> void?
  width : (>=/c 0)
=  1
parameter
(error-bar-line-style) -> plot-pen-style/c
(error-bar-line-style style) -> void?
  style : plot-pen-style/c
=  'solid
parameter
(error-bar-alpha) -> (real-in 0 1)
(error-bar-alpha alpha) -> void?
  alpha : (real-in 0 1)
=  2/3
procedure
(default-contour-colors zs) -> (listof plot-color/c)
  zs : (listof real?)
=  (color-seq* (list (->pen-color 5) (->pen-color 0) (->pen-color 1))
               (length zs))
procedure
(default-contour-fill-colors z-ivls) -> (listof plot-color/c)
  z-ivls : (listof ivl?)
=  (color-seq* (list (->brush-color 5) (->brush-color 0) (->brush-color 1))
               (length z-ivls))
parameter
(contour-samples) -> (and/c exact-integer? (>=/c 2))
(contour-samples samples) -> void?
  samples : (and/c exact-integer? (>=/c 2))
=  51
parameter
(contour-levels)
 -> (or/c 'auto exact-positive-integer? (listof real?))
(contour-levels levels) -> void?
  levels : (or/c 'auto exact-positive-integer? (listof real?))
=  'auto
parameter
(contour-colors) -> (plot-colors/c (listof real?))
(contour-colors colors) -> void?
  colors : (plot-colors/c (listof real?))
=  default-contour-colors
parameter
(contour-widths) -> (pen-widths/c (listof real?))
(contour-widths widths) -> void?
  widths : (pen-widths/c (listof real?))
=  '(1)
parameter
(contour-styles) -> (plot-pen-styles/c (listof real?))
(contour-styles styles) -> void?
  styles : (plot-pen-styles/c (listof real?))
=  '(solid long-dash)
parameter
(contour-alphas) -> (alphas/c (listof real?))
(contour-alphas alphas) -> void?
  alphas : (alphas/c (listof real?))
=  '(1)
parameter
(contour-interval-colors) -> (plot-colors/c (listof ivl?))
(contour-interval-colors colors) -> void?
  colors : (plot-colors/c (listof ivl?))
=  default-contour-fill-colors
parameter
(contour-interval-styles)
 -> (plot-brush-styles/c (listof ivl?))
(contour-interval-styles styles) -> void?
  styles : (plot-brush-styles/c (listof ivl?))
=  '(solid)
parameter
(contour-interval-alphas) -> (alphas/c (listof ivl?))
(contour-interval-alphas alphas) -> void?
  alphas : (alphas/c (listof ivl?))
=  '(1)
parameter
(rectangle-color) -> plot-color/c
(rectangle-color color) -> void?
  color : plot-color/c
=  3
parameter
(rectangle-style) -> plot-brush-style/c
(rectangle-style style) -> void?
  style : plot-brush-style/c
=  'solid
parameter
(rectangle-line-color) -> plot-color/c
(rectangle-line-color color) -> void?
  color : plot-color/c
=  3
parameter
(rectangle-line-width) -> (>=/c 0)
(rectangle-line-width width) -> void?
  width : (>=/c 0)
=  1
parameter
(rectangle-line-style) -> plot-pen-style/c
(rectangle-line-style style) -> void?
  style : plot-pen-style/c
=  'solid
parameter
(rectangle-alpha) -> (real-in 0 1)
(rectangle-alpha alpha) -> void?
  alpha : (real-in 0 1)
=  1
parameter
(rectangle3d-line-width) -> (>=/c 0)
(rectangle3d-line-width width) -> void?
  width : (>=/c 0)
=  1/3
parameter
(discrete-histogram-gap) -> (real-in 0 1)
(discrete-histogram-gap gap) -> void?
  gap : (real-in 0 1)
=  1/8
parameter
(discrete-histogram-skip) -> (>=/c 0)
(discrete-histogram-skip skip) -> void?
  skip : (>=/c 0)
=  1
parameter
(discrete-histogram-invert?) -> boolean?
(discrete-histogram-invert? invert?) -> void?
  invert? : boolean?
=  #f
parameter
(stacked-histogram-alphas) -> (alphas/c nat/c)
(stacked-histogram-alphas alphas) -> void?
  alphas : (alphas/c nat/c)
=  '(1)
parameter
(stacked-histogram-colors) -> (plot-colors/c nat/c)
(stacked-histogram-colors colors) -> void?
  colors : (plot-colors/c nat/c)
=  (λ (n) (build-list n add1))
parameter
(stacked-histogram-line-colors) -> (plot-colors/c nat/c)
(stacked-histogram-line-colors colors) -> void?
  colors : (plot-colors/c nat/c)
=  (stacked-histogram-colors)
parameter
(stacked-histogram-line-styles) -> (plot-pen-styles/c nat/c)
(stacked-histogram-line-styles styles) -> void?
  styles : (plot-pen-styles/c nat/c)
=  '(solid)
parameter
(stacked-histogram-line-widths) -> (pen-widths/c nat/c)
(stacked-histogram-line-widths widths) -> void?
  widths : (pen-widths/c nat/c)
=  '(1)
parameter
(stacked-histogram-styles) -> (plot-brush-styles/c nat/c)
(stacked-histogram-styles styles) -> void?
  styles : (plot-brush-styles/c nat/c)
=  '(solid)
parameter
(x-axis-alpha) -> (real-in 0 1)
(x-axis-alpha alpha) -> void?
  alpha : (real-in 0 1)
=  1
parameter
(y-axis-alpha) -> (real-in 0 1)
(y-axis-alpha alpha) -> void?
  alpha : (real-in 0 1)
=  1
parameter
(z-axis-alpha) -> (real-in 0 1)
(z-axis-alpha alpha) -> void?
  alpha : (real-in 0 1)
=  1
parameter
(x-axis-far?) -> boolean?
(x-axis-far? far?) -> void?
  far? : boolean?
=  #f
parameter
(y-axis-far?) -> boolean?
(y-axis-far? far?) -> void?
  far? : boolean?
=  #f
parameter
(z-axis-far?) -> boolean?
(z-axis-far? far?) -> void?
  far? : boolean?
=  #f
parameter
(x-axis-ticks?) -> boolean?
(x-axis-ticks? ticks?) -> void?
  ticks? : boolean?
=  #t
parameter
(y-axis-ticks?) -> boolean?
(y-axis-ticks? ticks?) -> void?
  ticks? : boolean?
=  #t
parameter
(z-axis-ticks?) -> boolean?
(z-axis-ticks? ticks?) -> void?
  ticks? : boolean?
=  #t
parameter
(x-axis-labels?) -> boolean?
(x-axis-labels? labels?) -> void?
  labels? : boolean?
=  #f
parameter
(y-axis-labels?) -> boolean?
(y-axis-labels? labels?) -> void?
  labels? : boolean?
=  #f
parameter
(z-axis-labels?) -> boolean?
(z-axis-labels? labels?) -> void?
  labels? : boolean?
=  #f
parameter
(polar-axes-number) -> exact-nonnegative-integer?
(polar-axes-number number) -> void?
  number : exact-nonnegative-integer?
=  12
parameter
(polar-axes-alpha) -> (real-in 0 1)
(polar-axes-alpha alpha) -> void?
  alpha : (real-in 0 1)
=  1/2
parameter
(polar-axes-ticks?) -> boolean?
(polar-axes-ticks? ticks?) -> void?
  ticks? : boolean?
=  #t
parameter
(polar-axes-labels?) -> boolean?
(polar-axes-labels? labels?) -> void?
  labels? : boolean?
=  #t
parameter
(label-anchor) -> anchor/c
(label-anchor anchor) -> void?
  anchor : anchor/c
=  'left
parameter
(label-angle) -> real?
(label-angle angle) -> void?
  angle : real?
=  0
parameter
(label-alpha) -> (real-in 0 1)
(label-alpha alpha) -> void?
  alpha : (real-in 0 1)
=  1
parameter
(label-point-size) -> (>=/c 0)
(label-point-size size) -> void?
  size : (>=/c 0)
=  4
parameter
(plot3d-samples) -> (and/c exact-integer? (>=/c 2))
(plot3d-samples samples) -> void?
  samples : (and/c exact-integer? (>=/c 2))
=  41
parameter
(plot3d-angle) -> real?
(plot3d-angle angle) -> void?
  angle : real?
=  30
parameter
(plot3d-altitude) -> real?
(plot3d-altitude altitude) -> void?
  altitude : real?
=  60
parameter
(plot3d-ambient-light) -> (real-in 0 1)
(plot3d-ambient-light light) -> void?
  light : (real-in 0 1)
=  2/3
parameter
(plot3d-diffuse-light?) -> boolean?
(plot3d-diffuse-light? light?) -> void?
  light? : boolean?
=  #t
parameter
(plot3d-specular-light?) -> boolean?
(plot3d-specular-light? light?) -> void?
  light? : boolean?
=  #t
parameter
(surface-color) -> plot-color/c
(surface-color color) -> void?
  color : plot-color/c
=  0
parameter
(surface-style) -> plot-brush-style/c
(surface-style style) -> void?
  style : plot-brush-style/c
=  'solid
parameter
(surface-line-color) -> plot-color/c
(surface-line-color color) -> void?
  color : plot-color/c
=  0
parameter
(surface-line-width) -> (>=/c 0)
(surface-line-width width) -> void?
  width : (>=/c 0)
=  1/3
parameter
(surface-line-style) -> plot-pen-style/c
(surface-line-style style) -> void?
  style : plot-pen-style/c
=  'solid
parameter
(surface-alpha) -> (real-in 0 1)
(surface-alpha alpha) -> void?
  alpha : (real-in 0 1)
=  1
parameter
(contour-interval-line-colors) -> (plot-colors/c (listof ivl?))
(contour-interval-line-colors colors) -> void?
  colors : (plot-colors/c (listof ivl?))
=  '(0)
parameter
(contour-interval-line-widths) -> (pen-widths/c (listof ivl?))
(contour-interval-line-widths widths) -> void?
  widths : (pen-widths/c (listof ivl?))
=  '(1/3)
parameter
(contour-interval-line-styles)
 -> (plot-pen-styles/c (listof ivl?))
(contour-interval-line-styles styles) -> void?
  styles : (plot-pen-styles/c (listof ivl?))
=  '(solid)
procedure
(default-isosurface-colors zs) -> (listof plot-color/c)
  zs : (listof real?)
=  (color-seq* (list (->brush-color 5) (->brush-color 0) (->brush-color 1))
               (length zs))
procedure
(default-isosurface-line-colors zs) -> (listof plot-color/c)
  zs : (listof real?)
=  (color-seq* (list (->pen-color 5) (->pen-color 0) (->pen-color 1))
               (length zs))
parameter
(isosurface-levels)
 -> (or/c 'auto exact-positive-integer? (listof real?))
(isosurface-levels levels) -> void?
  levels : (or/c 'auto exact-positive-integer? (listof real?))
=  'auto
parameter
(isosurface-colors) -> (plot-colors/c (listof real?))
(isosurface-colors colors) -> void?
  colors : (plot-colors/c (listof real?))
=  default-isosurface-colors
parameter
(isosurface-styles) -> (plot-brush-styles/c (listof real?))
(isosurface-styles styles) -> void?
  styles : (plot-brush-styles/c (listof real?))
=  '(solid)
parameter
(isosurface-line-colors) -> (plot-colors/c (listof real?))
(isosurface-line-colors colors) -> void?
  colors : (plot-colors/c (listof real?))
=  default-isosurface-line-colors
parameter
(isosurface-line-widths) -> (pen-widths/c (listof real?))
(isosurface-line-widths widths) -> void?
  widths : (pen-widths/c (listof real?))
=  '(1/3)
parameter
(isosurface-line-styles) -> (plot-pen-styles/c (listof real?))
(isosurface-line-styles styles) -> void?
  styles : (plot-pen-styles/c (listof real?))
=  '(solid)
parameter
(isosurface-alphas) -> (alphas/c (listof real?))
(isosurface-alphas alphas) -> void?
  alphas : (alphas/c (listof real?))
=  '(1/2)
procedure
(renderer2d? value) -> boolean?
  value : any/c
procedure
(renderer3d? value) -> boolean?
  value : any/c
procedure
(nonrenderer? value) -> boolean?
  value : any/c
value
anchor/c : contract?
=  (one-of/c 'top-left    'top    'top-right
             'left        'center 'right
             'bottom-left 'bottom 'bottom-right)
value
color/c : contract?
=  (or/c (list/c real? real? real?)
         string? symbol?
         (is-a?/c color%))
value
plot-color/c : contract?
=  (or/c exact-integer? color/c)
value
plot-pen-style/c : contract?
=  (or/c exact-integer?
         (one-of/c 'transparent 'solid    'dot 'long-dash
                   'short-dash  'dot-dash))
value
plot-brush-style/c : contract?
=  (or/c exact-integer?
         (one-of/c 'transparent      'solid
                   'bdiagonal-hatch  'fdiagonal-hatch 'crossdiag-hatch
                   'horizontal-hatch 'vertical-hatch  'cross-hatch))
value
font-family/c : contract?
=  (one-of/c 'default 'decorative 'roman  'script 'swiss
             'modern  'symbol     'system)
value
point-sym/c : contract?
=  (or/c char? string? integer? (apply one-of/c known-point-symbols))
value
known-point-symbols : (listof symbol?)
=  (list 'dot               'point            'pixel
         'plus              'times            'asterisk
         '5asterisk         'odot             'oplus
         'otimes            'oasterisk        'o5asterisk
         'circle            'square           'diamond
         'triangle          'fullcircle       'fullsquare
         'fulldiamond       'fulltriangle     'triangleup
         'triangledown      'triangleleft     'triangleright
         'fulltriangleup    'fulltriangledown 'fulltriangleleft
         'fulltriangleright 'rightarrow       'leftarrow
         'uparrow           'downarrow        '4star
         '5star             '6star            '7star
         '8star             'full4star        'full5star
         'full6star         'full7star        'full8star
         'circle1           'circle2          'circle3
         'circle4           'circle5          'circle6
         'circle7           'circle8          'bullet
         'fullcircle1       'fullcircle2      'fullcircle3
         'fullcircle4       'fullcircle5      'fullcircle6
         'fullcircle7       'fullcircle8)
procedure
(maybe-function/c in-contract out-contract) -> contract?
  in-contract : contract?
  out-contract : contract?
=  (or/c out-contract (in-contract . -> . out-contract))
procedure
(maybe-apply f arg) -> any/c
  f : (maybe-function/c any/c any/c)
  arg : any/c
procedure
(plot-colors/c in-contract) -> contract?
  in-contract : contract?
=  (maybe-function/c in-contract (listof plot-color/c))
procedure
(plot-pen-styles/c in-contract) -> contract?
  in-contract : contract?
=  (maybe-function/c in-contract (listof plot-pen-style/c))
procedure
(pen-widths/c in-contract) -> contract?
  in-contract : contract?
=  (maybe-function/c in-contract (listof (>=/c 0)))
procedure
(plot-brush-styles/c in-contract) -> contract?
  in-contract : contract?
=  (maybe-function/c in-contract (listof plot-brush-style/c))
procedure
(alphas/c in-contract) -> contract?
  in-contract : contract?
=  (maybe-function/c in-contract (listof (real-in 0 1)))
procedure
(labels/c in-contract) -> contract?
  in-contract : contract?
=  (maybe-function/c in-contract (listof (or/c string? #f)))
procedure
(mix plot-data ...) -> (any/c . -> . void?)
  plot-data : (any/c . -> . void?)
procedure
(line  f                     
      [#:samples samples     
       #:width width         
       #:color color         
       #:mode mode           
       #:mapping mapping     
       #:t-min t-min         
       #:t-max t-max])   -> renderer2d?
  f : (real? . -> . (or/c real? (vector/c real? real?)))
  samples : (and/c exact-integer? (>=/c 2)) = 150
  width : (>=/c 0) = 1
  color : plot-color/c = 'red
  mode : (one-of/c 'standard 'parametric) = 'standard
  mapping : (one-of/c 'cartesian 'polar) = 'cartesian
  t-min : real? = -5
  t-max : real? = 5
procedure
(contour  f                     
         [#:samples samples     
          #:width width         
          #:color color         
          #:levels levels]) -> renderer2d?
  f : (real? real? . -> . real?)
  samples : (and/c exact-integer? (>=/c 2)) = 50
  width : (>=/c 0) = 1
  color : plot-color/c = 'black
  levels : (or/c (and/c exact-integer? (>=/c 2)) (listof real?))
         = 10
procedure
(shade f [#:samples samples #:levels levels]) -> renderer2d?
  f : (real? real? . -> . real?)
  samples : (and/c exact-integer? (>=/c 2)) = 50
  levels : (or/c (and/c exact-integer? (>=/c 2)) (listof real?))
         = 10
procedure
(surface  f                     
         [#:samples samples     
          #:width width         
          #:color color])   -> renderer3d?
  f : (real? real? . -> . real?)
  samples : (and/c exact-integer? (>=/c 2)) = 50
  width : (>=/c 0) = 1
  color : plot-color/c = 'black
procedure
(plot  data                      
      [#:width width             
       #:height height           
       #:x-min x-min             
       #:x-max x-max             
       #:y-min y-min             
       #:y-max y-max             
       #:x-label x-label         
       #:y-label y-label         
       #:title title             
       #:fgcolor fgcolor         
       #:bgcolor bgcolor         
       #:lncolor lncolor         
       #:out-file out-file]) -> (is-a?/c image-snip%)
  data : ((is-a?/c 2d-plot-area%) . -> . void?)
  width : real? = 400
  height : real? = 400
  x-min : real? = -5
  x-max : real? = 5
  y-min : real? = -5
  y-max : real? = 5
  x-label : string? = "X axis"
  y-label : string? = "Y axis"
  title : string? = ""
  fgcolor : (list/c byte? byte? byte?) = '(0 0 0)
  bgcolor : (list/c byte? byte? byte?) = '(255 255 255)
  lncolor : (list/c byte? byte? byte?) = '(255 0 0)
  out-file : (or/c path-string? output-port? #f) = #f
procedure
(plot3d  data                      
        [#:width width             
         #:height height           
         #:x-min x-min             
         #:x-max x-max             
         #:y-min y-min             
         #:y-max y-max             
         #:z-min z-min             
         #:z-max z-max             
         #:alt alt                 
         #:az az                   
         #:x-label x-label         
         #:y-label y-label         
         #:z-label z-label         
         #:title title             
         #:fgcolor fgcolor         
         #:bgcolor bgcolor         
         #:lncolor lncolor         
         #:out-file out-file]) -> (is-a?/c image-snip%)
  data : ((is-a?/c 3d-plot-area%) . -> . void?)
  width : real? = 400
  height : real? = 400
  x-min : real? = -5
  x-max : real? = 5
  y-min : real? = -5
  y-max : real? = 5
  z-min : real? = -5
  z-max : real? = 5
  alt : real? = 30
  az : real? = 45
  x-label : string? = "X axis"
  y-label : string? = "Y axis"
  z-label : string? = "Z axis"
  title : string? = ""
  fgcolor : (list/c byte? byte? byte?) = '(0 0 0)
  bgcolor : (list/c byte? byte? byte?) = '(255 255 255)
  lncolor : (list/c byte? byte? byte?) = '(255 0 0)
  out-file : (or/c path-string? output-port? #f) = #f
procedure
(points vecs [#:sym sym #:color color])
 -> ((is-a?/c 2d-plot-area%) . -> . void?)
  vecs : (listof (vectorof real?))
  sym : (or/c char? string? exact-integer? symbol?) = 'square
  color : plot-color? = 'black
procedure
(line  f                 
      [#:samples samples 
       #:width width     
       #:color color     
       #:mode mode       
       #:mapping mapping 
       #:t-min t-min     
       #:t-max t-max])   
 -> ((is-a?/c 2d-plot-area%) . -> . void?)
  f : (real? . -> . (or/c real? (vector/c real? real?)))
  samples : (and/c exact-integer? (>=/c 2)) = 150
  width : (>=/c 0) = 1
  color : plot-color/c = 'red
  mode : (one-of/c 'standard 'parametric) = 'standard
  mapping : (one-of/c 'cartesian 'polar) = 'cartesian
  t-min : real? = -5
  t-max : real? = 5
procedure
(error-bars vecs [#:color color])
 -> ((is-a?/c 2d-plot-area%) . -> . void?)
  vecs : (listof (vector/c real? real? real?))
  color : plot-color? = 'black
procedure
(vector-field  f                 
              [#:samples samples 
               #:width width     
               #:color color     
               #:style style])   
 -> ((is-a?/c 2d-plot-area%) . -> . void?)
  f : ((vector/c real? real?) . -> . (vector/c real? real?))
  samples : (and/c exact-integer? (>=/c 2)) = 20
  width : exact-positive-integer? = 1
  color : plot-color? = 'red
  style : (one-of/c 'scaled 'normalized 'real) = 'scaled
procedure
(contour  f                 
         [#:samples samples 
          #:width width     
          #:color color     
          #:levels levels]) 
 -> ((is-a?/c 2d-plot-area%) . -> . void?)
  f : (real? real? . -> . real?)
  samples : exact-nonnegative-integer? = 50
  width : (>=/c 0) = 1
  color : plot-color/c = 'black
  levels : (or/c (and/c exact-integer? (>=/c 2)) (listof real?))
         = 10
procedure
(shade f [#:samples samples #:levels levels])
 -> ((is-a?/c 2d-plot-area%) . -> . void?)
  f : (real? real? . -> . real?)
  samples : (and/c exact-integer? (>=/c 2)) = 50
  levels : (or/c (and/c exact-integer? (>=/c 2)) (listof real?))
         = 10
procedure
(surface  f                 
         [#:samples samples 
          #:width width     
          #:color color])   
 -> ((is-a?/c 3d-plot-area%) . -> . void?)
  f : (real? real? . -> . real?)
  samples : (and/c exact-integer? (>=/c 2)) = 50
  width : (>=/c 0) = 1
  color : plot-color/c = 'black
procedure
(mix data ...) -> (any/c . -> . void?)
  data : (any/c . -> . void?)
procedure
(plot-color? v) -> boolean?
  v : any/c
procedure
(derivative f [h]) -> (real? . -> . real?)
  f : (real? . -> . real?)
  h : real? = 1e-06
procedure
(gradient f [h])
 -> ((vector/c real? real?) . -> . (vector/c real? real?))
  f : (real? real? . -> . real?)
  h : real? = 1e-06
procedure
(make-vec fx fy)
 -> ((vector/c real? real?) . -> . (vector/c real? real?))
  fx : (real? real? . -> . real?)
  fy : (real? real? . -> . real?)
