26651
((3) 0 () 14 ((q lib "plot/main.rkt") (q lib "plot/utils.rkt") (c (? . 1) q plot-metrics<%>) (q lib "plot/compat.rkt") (q 99811 . 5) (q 114453 . 5) (q 108042 . 5) (q 107623 . 5) (q 114898 . 7) (q 107757 . 4) (q lib "plot/pict.rkt") (q lib "plot/snip.rkt") (c (? . 11) q 2d-plot-snip%) (q lib "plot/bitmap.rkt")) () (h ! (equal) ((c def c (c (? . 0) q plot-y-tick-labels?)) q (123333 . 5)) ((c def c (c (? . 0) q plot-deprecation-warnings?)) q (116217 . 5)) ((c def c (c (? . 0) q isosurface-line-colors)) q (139278 . 5)) ((c def c (c (? . 0) q contour-ticks)) q (99216 . 11)) ((c def c (c (? . 0) q point-size)) q (126486 . 5)) ((c def c (c (? . 0) q pre-tick-value)) c (? . 7)) ((c def c (c (? . 0) q invisible-rect)) q (96241 . 6)) ((c def c (c (? . 0) q plot3d-snip)) q (3598 . 4)) ((c meth c (c (? . 2) q plane-vector)) q (115631 . 2)) ((c def c (c (? . 1) q plot-color/c)) q (141215 . 2)) ((c def c (c (? . 0) q points)) q (7197 . 29)) ((c def c (c (? . 0) q plot-legend-font-family)) q (120450 . 5)) ((c def c (c (? . 0) q point-label)) q (52283 . 29)) ((c def c (c (? . 0) q parametric)) q (18747 . 27)) ((c def c (c (? . 0) q color-field-alpha)) q (131023 . 5)) ((c def c (c (? . 0) q point-pict)) q (53835 . 19)) ((c def c (c (? . 0) q currency-ticks-format)) q (104402 . 8)) ((c def c (c (? . 0) q vector-field-color)) q (127971 . 5)) ((c def c (c (? . 0) q vector-field)) q (8502 . 27)) ((c def c (c (? . 0) q plot-legend-font-face)) q (120309 . 5)) ((c def c (c (? . 1) q struct:ivl)) c (? . 5)) ((c def c (c (? . 0) q plot-y-axis?)) q (122677 . 5)) ((c def c (c (? . 0) q plot3d-angle)) q (118261 . 5)) ((c def c (c (? . 0) q x-axis-alpha)) q (136762 . 5)) ((c def c (c (? . 0) q plot-pen-color-map)) q (124279 . 5)) ((c def c (c (? . 0) q point-y-jitter)) q (126812 . 5)) ((c def c (c (? . 3) q make-vec)) q (152700 . 5)) ((c def c (c (? . 1) q ->brush-color)) q (112049 . 3)) ((c def c (c (? . 0) q plot-z-tick-labels?)) q (123450 . 5)) ((c def c (c (? . 0) q isosurface-colors)) q (138911 . 5)) ((c def c (c (? . 1) q color-seq*)) q (111567 . 10)) ((c def c (? . 2)) q (115272 . 2)) ((c def c (c (? . 0) q color-field)) q (12114 . 16)) ((c def c (c (? . 1) q legend-anchor/c)) q (140534 . 9)) ((c def c (c (? . 0) q point-sym)) q (126382 . 5)) ((c def c (c (? . 0) q plot-z-far-axis?)) q (123105 . 5)) ((c def c (c (? . 0) q polar-axes-ticks?)) q (137135 . 5)) ((c def c (c (? . 0) q x-axis-far?)) q (136564 . 5)) ((c def c (c (? . 0) q plot-y-tick-label-angle)) q (122204 . 5)) ((c def c (c (? . 0) q ticks-scale)) q (107529 . 4)) ((c def c (c (? . 0) q id-function)) q (108203 . 3)) ((c def c (c (? . 0) q ticks?)) c (? . 4)) ((c def c (c (? . 0) q contour-colors)) q (131959 . 5)) ((c def c (c (? . 0) q plot-z-far-ticks)) q (99084 . 5)) ((c def c (c (? . 0) q plot-x-tick-label-anchor)) q (121540 . 5)) ((c def c (c (? . 0) q z-ticks)) q (96127 . 4)) ((c def c (c (? . 0) q interval-style)) q (125359 . 5)) ((c def c (c (? . 0) q plot-legend-font-size)) q (120164 . 5)) ((c def c (c (? . 0) q rectangle-line-color)) q (133996 . 5)) ((c def c (c (? . 0) q label-alpha)) q (127462 . 5)) ((c def c (c (? . 0) q animated-samples)) q (124037 . 3)) ((c def c (c (? . 0) q contour-intervals)) q (36620 . 36)) ((c def c (c (? . 1) q plot-pict-dc->plot)) q (115994 . 4)) ((c def c (c (? . 0) q isosurface-line-styles)) q (139670 . 5)) ((c def c (c (? . 1) q vrational?)) q (114385 . 3)) ((c def c (c (? . 0) q arrow-head-size-or-scale)) q (129162 . 6)) ((c def c (c (? . 0) q currency-ticks-scales)) q (105266 . 5)) ((c def c (c (? . 0) q isosurface-styles)) q (139097 . 5)) ((c def c (c (? . 1) q plot-file-format/c)) q (143657 . 3)) ((c def c (c (? . 0) q isosurface-levels)) q (138698 . 6)) ((c def c (c (? . 0) q fraction-ticks)) q (107092 . 5)) ((c def c (c (? . 0) q interval-alpha)) q (126260 . 5)) ((c def c (c (? . 0) q contour-styles)) q (132293 . 5)) ((c def c (c (? . 0) q plot-snip)) q (3437 . 4)) ((c def c (c (? . 0) q cbrt-transform)) q (97635 . 2)) ((c def c (c (? . 0) q ticks-default-number)) q (100078 . 5)) ((c def c (c (? . 0) q vector-field-line-style)) q (128221 . 5)) ((c def c (c (? . 0) q function-interval)) q (24799 . 35)) ((c def c (c (? . 0) q default-isosurface-line-colors)) q (138476 . 5)) ((c def c (c (? . 0) q plot3d-diffuse-light?)) q (118597 . 5)) ((c def c (c (? . 0) q 24h-descending-date-ticks-formats)) q (102560 . 18)) ((c def c (c (? . 0) q polar-axes-number)) q (136994 . 5)) ((c meth c (c (? . 2) q get-plot-bounds)) q (115313 . 3)) ((c def c (c (? . 0) q plot-d-ticks)) q (99589 . 5)) ((c def c (c (? . 0) q plot-frame)) q (3753 . 3)) ((c def c (c (? . 0) q y-axis-far?)) q (136663 . 5)) ((c def c (c (? . 0) q plot-y-ticks)) q (98730 . 5)) ((c def c (c (? . 0) q id-transform)) q (97343 . 2)) ((c def c (c (? . 0) q surface-color)) q (137495 . 5)) ((c def c (c (? . 0) q plot3d-altitude)) q (118358 . 5)) ((c def c (c (? . 0) q us-currency-scales)) q (105621 . 2)) ((c def c (c (? . 1) q known-point-symbols)) q (142009 . 22)) ((c def c (c (? . 0) q candlesticks)) q (10956 . 23)) ((c def c (c (? . 0) q lines)) q (16786 . 36)) ((c def c (c (? . 0) q plot-x-ticks)) q (98487 . 5)) ((c def c (c (? . 0) q plot-foreground-alpha)) q (119535 . 5)) ((c def c (c (? . 0) q ticks-layout/c)) q (107864 . 2)) ((c def c (c (? . 0) q x-axis-ticks?)) q (136128 . 5)) ((c def c (c (? . 1) q ivl->plot-label)) q (109113 . 4)) ((c def c (c (? . 0) q plot-font-face)) q (119910 . 5)) ((c def c (c (? . 3) q points)) q (149549 . 6)) ((c def c (c (? . 3) q vector-field)) q (150684 . 12)) ((c def c (c (? . 0) q time-ticks-formats)) q (103774 . 5)) ((c def c (c (? . 0) q line-style)) q (124907 . 5)) ((c def c (c (? . 0) q struct:tick)) c (? . 9)) ((c def c (c (? . 1) q ->pen-color)) q (111964 . 3)) ((c def c (c (? . 1) q maybe-inexact->exact)) q (112998 . 3)) ((c def c (c (? . 0) q axis-transform/c)) q (97760 . 3)) ((c def c (c (? . 0) q ticks-format)) c (? . 4)) ((c def c (c (? . 0) q error-bar-color)) q (129588 . 5)) ((c def c (c (? . 1) q plot-time-minute)) c (? . 8)) ((c def c (c (? . 0) q plot3d)) q (1479 . 41)) ((c def c (c (? . 0) q ticks-add)) q (107403 . 5)) ((c def c (c (? . 3) q plot3d)) q (147995 . 39)) ((c def c (c (? . 1) q plot-pen-styles/c)) q (144348 . 4)) ((c def c (c (? . 0) q linear-ticks-layout)) q (100228 . 10)) ((c def c (c (? . 1) q 3d-polar->3d-cartesian)) q (112629 . 5)) ((c def c (c (? . 0) q interval-line1-width)) q (125616 . 5)) ((c def c (c (? . 0) q plot-x-far-axis?)) q (122883 . 5)) ((c def c (c (? . 0) q axes)) q (51060 . 17)) ((c def c (c (? . 1) q ivl)) c (? . 5)) ((c def c (c (? . 0) q polygons3d)) q (78259 . 29)) ((c def c (c (? . 0) q invertible-function?)) c (? . 6)) ((c def c (c (? . 0) q make-ticks)) c (? . 4)) ((c def c (c (? . 1) q register-color-map)) q (112393 . 4)) ((c def c (c (? . 0) q point-color)) q (127040 . 5)) ((c def c (c (? . 0) q plot-x-far-tick-label-anchor)) q (121804 . 5)) ((c def c (c (? . 0) q isoline)) q (34386 . 25)) ((c def c (c (? . 0) q invertible-function)) c (? . 6)) ((c def c (c (? . 0) q polar-pict)) q (64311 . 21)) ((c def c (c (? . 1) q real->decimal-string*)) q (109424 . 7)) ((c def c (c (? . 0) q plot-x-label)) q (117324 . 5)) ((c def c (c (? . 3) q mix)) q (152298 . 3)) ((c def c (c (? . 1) q plot-pict-plane-vector)) q (116129 . 3)) ((c def c (c (? . 1) q nonrenderer?)) q (140152 . 3)) ((c def c (c (? . 0) q error-bar-alpha)) q (129979 . 5)) ((c def c (c (? . 0) q bit/byte-ticks)) q (106535 . 7)) ((c def c (c (? . 1) q floor-log/base)) q (112881 . 4)) ((c def c (c (? . 0) q time-ticks)) q (103547 . 5)) ((c def c (c (? . 1) q v=)) q (113652 . 4)) ((c def c (c (? . 0) q lines3d)) q (69079 . 25)) ((c def c (c (? . 0) q plot-x-tick-label-angle)) q (122086 . 5)) ((c def c (c (? . 0) q struct:ticks)) c (? . 4)) ((c def c (c (? . 1) q v*)) q (113476 . 4)) ((c def c (c (? . 1) q plot-brush-style/c)) q (141559 . 6)) ((c def c (c (? . 0) q plot-x-transform)) q (96908 . 5)) ((c def c (c (? . 0) q polar3d)) q (74582 . 31)) ((c def c (c (? . 0) q plot-y-far-axis?)) q (122994 . 5)) ((c def c (c (? . 0) q polar-label)) q (62677 . 31)) ((c def c (c (? . 0) q plot-x-far-label)) q (117711 . 5)) ((c def c (c (? . 0) q make-pre-tick)) c (? . 7)) ((c def c (c (? . 1) q plot-time?)) c (? . 8)) ((c def c (c (? . 0) q axis-transform-compose)) q (98131 . 4)) ((c def c (c (? . 1) q plot-pen-style/c)) q (141284 . 5)) ((c def c (c (? . 0) q isosurface3d)) q (84791 . 33)) ((c def c (c (? . 0) q candlestick-down-color)) q (130343 . 5)) ((c def c (c (? . 0) q plot-y-far-label)) q (117844 . 5)) ((c def c (c (? . 1) q linear-seq*)) q (110138 . 9)) ((c def c (c (? . 1) q plot-pict?)) q (115698 . 3)) ((c def c (c (? . 1) q max*)) q (113145 . 3)) ((c def c (c (? . 0) q plot/dc)) q (5481 . 16)) ((c def c (c (? . 0) q point-alpha)) q (126584 . 5)) ((c def c (c (? . 1) q color-map-names)) q (112274 . 2)) ((c def c (c (? . 0) q rectangle-alpha)) q (134539 . 5)) ((c def c (c (? . 1) q plot-pict-bounds)) q (115758 . 3)) ((c def c (c (? . 13) q plot)) q (6965 . 3)) ((c def c (c (? . 1) q pen-widths/c)) q (144207 . 4)) ((c def c (c (? . 0) q vrule)) q (24167 . 17)) ((c def c (c (? . 0) q plot3d-ambient-light)) q (118467 . 5)) ((c def c (c (? . 0) q box-and-whisker)) q (46664 . 66)) ((c def c (c (? . 1) q linear-seq)) q (109778 . 11)) ((c def c (c (? . 0) q plot-x-far-ticks)) q (98598 . 5)) ((c def c (c (? . 0) q contour-interval-line-styles)) q (133549 . 6)) ((c def c (c (? . 0) q fraction-ticks-format)) q (106829 . 5)) ((c def c (c (? . 0) q candlestick-alpha)) q (130756 . 5)) ((c def c (c (? . 0) q vector-field-alpha)) q (128559 . 5)) ((c def c (c (? . 1) q alphas/c)) q (144658 . 4)) ((c def c (c (? . 0) q arrows-line-width)) q (128797 . 5)) ((c def c (c (? . 0) q plot-tick-size)) q (121433 . 5)) ((c def c (c (? . 0) q inverse-pict)) q (58981 . 22)) ((c def c (c (? . 0) q function)) q (12840 . 37)) ((c def c (c (? . 0) q function-pict)) q (56391 . 22)) ((c def c (c (? . 0) q no-ticks-layout)) q (106180 . 2)) ((c def c (c (? . 1) q point-sym/c)) q (141899 . 3)) ((c def c (c (? . 10) q plot3d)) q (6858 . 3)) ((c def c (c (? . 0) q uk-currency-formats)) q (105963 . 3)) ((c def c (c (? . 0) q vector-field-line-width)) q (128093 . 5)) ((c def c (c (? . 1) q rational-ivl?)) q (114564 . 3)) ((c def c (c (? . 1) q plot-time-day)) c (? . 8)) ((c def c (c (? . 1) q silverman-bandwidth)) q (111139 . 3)) ((c def c (c (? . 0) q polar-axes-alpha)) q (137369 . 5)) ((c def c (c (? . 0) q log-ticks)) q (101589 . 7)) ((c def c (c (? . 0) q stacked-histogram-styles)) q (135241 . 5)) ((c def c (c (? . 0) q parametric3d)) q (70098 . 31)) ((c def c (c (? . 0) q hrule)) q (23535 . 17)) ((c def c (c (? . 0) q isosurface-alphas)) q (139865 . 5)) ((c def c (c (? . 0) q uk-currency-scales)) q (105698 . 2)) ((c def c (c (? . 1) q ivl?)) c (? . 5)) ((c def c (c (? . 0) q plot-width)) q (116477 . 5)) ((c def c (c (? . 0) q error-bar-line-width)) q (129704 . 5)) ((c def c (c (? . 0) q ticks-mimic)) q (107333 . 3)) ((c def c (c (? . 0) q line)) q (145056 . 17)) ((c def c (c (? . 0) q interval-line2-width)) q (126001 . 5)) ((c def c (c (? . 0) q plot-y-transform)) q (97053 . 5)) ((c def c (c (? . 0) q candlestick-width)) q (130103 . 5)) ((c def c (c (? . 1) q vmag^2)) q (114102 . 3)) ((c def c (c (? . 0) q plot-legend-padding)) q (121190 . 6)) ((c def c (c (? . 0) q plot-font-size)) q (119803 . 5)) ((c def c (c (? . 3) q plot-color?)) q (152381 . 3)) ((c def c (c (? . 0) q discrete-histogram-gap)) q (134661 . 5)) ((c def c (c (? . 0) q isoline3d)) q (79648 . 29)) ((c def c (c (? . 0) q interval-line2-style)) q (126121 . 5)) ((c def c (c (? . 1) q ceiling-log/base)) q (112762 . 4)) ((c def c (c (? . 0) q contour-widths)) q (132136 . 5)) ((c def c (c (? . 0) q rectangle-line-style)) q (134392 . 5)) ((c def c (c (? . 0) q point-z-jitter)) q (126926 . 5)) ((c def c (c (? . 1) q vmag)) q (114163 . 3)) ((c def c (c (? . 0) q y-tick-lines)) q (52192 . 2)) ((c def c (c (? . 0) q arrows-alpha)) q (129046 . 5)) ((c def c (c (? . 0) q arrows-color)) q (128687 . 5)) ((c def c (c (? . 0) q plot-legend-anchor)) q (120611 . 5)) ((c def c (c (? . 1) q vdot)) q (114008 . 4)) ((c def c (c (? . 0) q invisible-rect3d)) q (96458 . 13)) ((c meth c (c (? . 12) q set-mouse-event-callback)) q (65420 . 3)) ((c def c (c (? . 0) q mix)) q (144955 . 3)) ((c def c (c (? . 1) q v-)) q (113301 . 4)) ((c def c (c (? . 0) q plot3d-file)) q (4447 . 9)) ((c def c (c (? . 0) q invertible-function-f)) c (? . 6)) ((c def c (c (? . 0) q 24h-descending-time-ticks-formats)) q (103942 . 12)) ((c def c (c (? . 0) q ticks-format/c)) q (107943 . 3)) ((c def c (c (? . 0) q pre-tick?)) c (? . 7)) ((c def c (c (? . 0) q tick?)) c (? . 9)) ((c def c (c (? . 0) q plot3d-bitmap)) q (5316 . 4)) ((c def c (c (? . 0) q label-angle)) q (127368 . 5)) ((c def c (c (? . 0) q y-axis-labels?)) q (136453 . 5)) ((c def c (c (? . 0) q plot-foreground)) q (119303 . 5)) ((c def c (c (? . 0) q function-label)) q (54809 . 32)) ((c def c (c (? . 1) q v/)) q (113564 . 4)) ((c def c (c (? . 0) q error-bar-line-style)) q (129832 . 5)) ((c def c (c (? . 0) q vector-field-samples)) q (127686 . 5)) ((c def c (c (? . 0) q tick)) c (? . 9)) ((c def c (c (? . 0) q line-cap)) q (125026 . 5)) ((c def c (c (? . 0) q plot-file)) q (3989 . 9)) ((c def c (c (? . 0) q date-ticks-format)) q (102034 . 3)) ((c def c (c (? . 0) q rectangle-line-width)) q (134130 . 5)) ((c def c (c (? . 1) q plot-colors/c)) q (144062 . 4)) ((c def c (c (? . 0) q pre-tick-major?)) c (? . 7)) ((c def c (c (? . 3) q line)) q (149798 . 17)) ((c def c (c (? . 0) q time-ticks-format)) q (103416 . 3)) ((c def c (c (? . 0) q struct:pre-tick)) c (? . 7)) ((c def c (c (? . 0) q linear-scale)) q (108521 . 4)) ((c def c (c (? . 0) q contour-interval-styles)) q (132822 . 6)) ((c def c (c (? . 0) q no-ticks-format)) q (106221 . 2)) ((c def c (c (? . 0) q surface-style)) q (137607 . 5)) ((c def c (c (? . 0) q contour-samples)) q (131599 . 5)) ((c def c (c (? . 0) q plot-background)) q (119419 . 5)) ((c def c (c (? . 0) q interval-line1-color)) q (125490 . 5)) ((c def c (c (? . 0) q x-axis-labels?)) q (136342 . 5)) ((c def c (c (? . 0) q surface)) q (146481 . 9)) ((c def c (c (? . 1) q vnormalize)) q (114222 . 3)) ((c def c (c (? . 1) q plot-pen-cap/c)) q (141481 . 2)) ((c def c (c (? . 0) q contour-interval-colors)) q (132624 . 5)) ((c def c (c (? . 0) q plot-r-ticks)) q (99700 . 5)) ((c def c (c (? . 0) q plot-height)) q (116607 . 5)) ((c def c (c (? . 0) q hand-drawn-transform)) q (97677 . 3)) ((c def c (c (? . 0) q stacked-histogram)) q (43075 . 41)) ((c def c (c (? . 1) q digits-for-range)) q (108626 . 9)) ((c def c (c (? . 0) q rectangle-color)) q (133747 . 5)) ((c def c (c (? . 0) q date-ticks)) q (102165 . 5)) ((c def c (c (? . 0) q make-tick)) c (? . 9)) ((c def c (c (? . 0) q plot-y-far-tick-labels?)) q (123684 . 4)) ((c def c (c (? . 0) q plot-x-far-tick-labels?)) q (123567 . 4)) ((c def c (c (? . 0) q vector-field-scale)) q (128366 . 6)) ((c def c (c (? . 0) q plot-pict)) q (4933 . 3)) ((c def c (c (? . 0) q plot-decorations?)) q (124166 . 5)) ((c def c (c (? . 0) q y-ticks)) q (96013 . 4)) ((c def c (c (? . 0) q plot-title)) q (117203 . 5)) ((c def c (c (? . 0) q stacked-histogram-line-styles)) q (135790 . 5)) ((c def c (c (? . 0) q violin)) q (45100 . 35)) ((c def c (c (? . 0) q y-axis-ticks?)) q (136235 . 5)) ((c def c (c (? . 1) q plot-time)) c (? . 8)) ((c def c (c (? . 3) q gradient)) q (152547 . 5)) ((c def c (c (? . 0) q point-x-jitter)) q (126698 . 5)) ((c def c (c (? . 0) q plot-line-cap)) q (118965 . 5)) ((c def c (c (? . 0) q label-point-size)) q (127576 . 5)) ((c def c (c (? . 1) q maybe-function/c)) q (143763 . 5)) ((c def c (c (? . 0) q interval-line1-style)) q (125736 . 5)) ((c def c (c (? . 0) q surface-line-color)) q (137736 . 5)) ((c def c (c (? . 1) q ->brush-style)) q (112203 . 3)) ((c def c (c (? . 1) q vneg)) q (113405 . 3)) ((c def c (c (? . 0) q y-axis)) q (50648 . 11)) ((c def c (c (? . 0) q contour-interval-line-colors)) q (133179 . 5)) ((c def c (c (? . 1) q anchor/c)) q (140299 . 6)) ((c def c (c (? . 0) q polar-axes)) q (51747 . 9)) ((c def c (c (? . 10) q plot)) q (6759 . 3)) ((c def c (c (? . 0) q date-ticks-formats)) q (102392 . 5)) ((c def c (c (? . 0) q interval-line2-color)) q (125875 . 5)) ((c def c (c (? . 3) q plot)) q (146823 . 29)) ((c def c (c (? . 0) q arrows-line-style)) q (128913 . 5)) ((c def c (c (? . 1) q plot-time-hour)) c (? . 8)) ((c def c (c (? . 3) q derivative)) q (152438 . 4)) ((c def c (c (? . 0) q inverse)) q (14822 . 37)) ((c def c (c (? . 0) q tick-label)) c (? . 9)) ((c def c (c (? . 0) q discrete-histogram3d)) q (89942 . 41)) ((c def c (c (? . 0) q surface-line-style)) q (137992 . 5)) ((c def c (c (? . 1) q labels/c)) q (144801 . 4)) ((c def c (c (? . 0) q make-axis-transform)) q (98252 . 3)) ((c meth c (c (? . 2) q plot->dc)) q (115403 . 3)) ((c def c (c (? . 0) q ticks)) c (? . 4)) ((c def c (c (? . 0) q candlestick-up-color)) q (130217 . 5)) ((c def c (c (? . 0) q rectangles)) q (38421 . 25)) ((c def c (c (? . 0) q area-histogram)) q (39642 . 29)) ((c def c (c (? . 3) q shade)) q (151660 . 7)) ((c def c (c (? . 0) q plot-font-family)) q (120037 . 5)) ((c def c (c (? . 0) q plot-z-transform)) q (97198 . 5)) ((c def c (c (? . 0) q point-label3d)) q (94407 . 30)) ((c def c (c (? . 0) q default-isosurface-colors)) q (138253 . 5)) ((c def c (c (? . 0) q plot-x-far-tick-label-angle)) q (122322 . 5)) ((c def c (c (? . 0) q 12h-descending-date-ticks-formats)) q (102908 . 18)) ((c def c (c (? . 0) q ticks-layout)) c (? . 4)) ((c def c (c (? . 0) q eu-currency-scales)) q (105777 . 2)) ((c def c (c (? . 0) q stacked-histogram-colors)) q (135054 . 5)) ((c def c (c (? . 0) q point-line-width)) q (127148 . 5)) ((c def c (c (? . 0) q contour-intervals3d)) q (82270 . 49)) ((c def c (c (? . 0) q contours)) q (35406 . 26)) ((c def c (c (? . 0) q stacked-histogram-alphas)) q (135979 . 5)) ((c def c (c (? . 0) q plot-x-axis?)) q (122574 . 5)) ((c def c (c (? . 1) q make-ivl)) c (? . 5)) ((c def c (c (? . 1) q renderer3d?)) q (140087 . 3)) ((c def c (c (? . 0) q plot3d-samples)) q (118110 . 5)) ((c def c (c (? . 0) q log-ticks-layout)) q (101140 . 5)) ((c def c (c (? . 1) q polar->cartesian)) q (112530 . 4)) ((c def c (c (? . 0) q parametric-interval)) q (30280 . 39)) ((c def c (c (? . 0) q line-alpha)) q (125133 . 5)) ((c def c (c (? . 0) q vector-field3d-samples)) q (127827 . 5)) ((c def c (c (? . 0) q density)) q (20961 . 27)) ((c def c (c (? . 1) q make-plot-time)) c (? . 8)) ((c def c (c (? . 0) q log-ticks-format)) q (101375 . 5)) ((c def c (c (? . 11) q plot-mouse-event-callback/c)) q (65681 . 7)) ((c def c (c (? . 0) q lines-interval)) q (28526 . 33)) ((c def c (c (? . 0) q surface-alpha)) q (138135 . 5)) ((c def c (c (? . 0) q 12h-descending-time-ticks-formats)) q (104164 . 12)) ((c def c (c (? . 0) q plot-new-window?)) q (116354 . 5)) ((c def c (c (? . 1) q vcross2)) q (113897 . 4)) ((c def c (c (? . 1) q color-seq)) q (111213 . 12)) ((c def c (c (? . 1) q nonlinear-seq)) q (110455 . 13)) ((c def c (c (? . 0) q contour)) q (145737 . 12)) ((c def c (c (? . 1) q renderer2d?)) q (140022 . 3)) ((c def c (c (? . 0) q contours3d)) q (80861 . 30)) ((c def c (c (? . 0) q apply-axis-transform)) q (98344 . 5)) ((c def c (c (? . 0) q axis-transform-bound)) q (98008 . 5)) ((c def c (c (? . 0) q bit/byte-ticks-format)) q (106334 . 5)) ((c def c (c (? . 0) q plot-aspect-ratio)) q (117024 . 5)) ((c def c (c (? . 0) q invertible-inverse)) q (108430 . 3)) ((c def c (c (? . 1) q ->plot-label)) q (109230 . 4)) ((c def c (c (? . 0) q linear-ticks-format)) q (100687 . 4)) ((c def c (c (? . 1) q vcross)) q (113747 . 4)) ((c def c (c (? . 0) q plot-jpeg-quality)) q (116741 . 5)) ((c def c (c (? . 0) q make-invertible-function)) c (? . 6)) ((c def c (c (? . 0) q shade)) q (146212 . 6)) ((c def c (c (? . 1) q plot-brush-styles/c)) q (144501 . 4)) ((c def c (c (? . 0) q us-currency-formats)) q (105855 . 3)) ((c def c (c (? . 0) q candlestick-line-style)) q (130605 . 5)) ((c meth c (c (? . 12) q set-overlay-renderers)) q (65554 . 3)) ((c def c (c (? . 13) q plot3d)) q (7077 . 3)) ((c def c (c (? . 0) q log-transform)) q (97383 . 2)) ((c def c (c (? . 0) q struct:invertible-function)) c (? . 6)) ((c def c (c (? . 0) q color-field-samples)) q (130884 . 5)) ((c def c (c (? . 0) q x-ticks)) q (95899 . 4)) ((c def c (c (? . 0) q parametric-pict)) q (61620 . 22)) ((c def c (c (? . 0) q contour-interval-alphas)) q (133014 . 5)) ((c def c (c (? . 1) q font-family/c)) q (141860 . 2)) ((c def c (c (? . 0) q ticks-generate)) q (99956 . 5)) ((c def c (c (? . 0) q error-bars)) q (9868 . 23)) ((c def c (c (? . 1) q datetime->real)) q (114775 . 3)) ((c def c (c (? . 0) q plot-y-far-tick-label-anchor)) q (121946 . 5)) ((c def c (c (? . 0) q arrows)) q (22083 . 28)) ((c def c (c (? . 0) q plot3d/dc)) q (6097 . 16)) ((c def c (c (? . 1) q ivl-max)) c (? . 5)) ((c def c (c (? . 0) q discrete-histogram-skip)) q (134795 . 5)) ((c def c (c (? . 0) q line-width)) q (124807 . 5)) ((c def c (c (? . 0) q surface-line-width)) q (137866 . 5)) ((c def c (c (? . 0) q y-axis-alpha)) q (136878 . 5)) ((c def c (c (? . 0) q plot-legend-layout)) q (120899 . 6)) ((c def c (c (? . 0) q pre-tick)) c (? . 7)) ((c def c (c (? . 1) q ->color)) q (111888 . 3)) ((c def c (c (? . 0) q linear-ticks)) q (100791 . 7)) ((c def c (c (? . 0) q isosurfaces3d)) q (86383 . 42)) ((c def c (c (? . 1) q vcenter)) q (114299 . 3)) ((c def c (c (? . 1) q color/c)) q (141079 . 5)) ((c def c (c (? . 0) q plot-x-tick-labels?)) q (123216 . 5)) ((c def c (c (? . 1) q plot-pict-plot->dc)) q (115859 . 4)) ((c def c (c (? . 3) q contour)) q (151196 . 13)) ((c def c (c (? . 0) q isosurface-line-widths)) q (139487 . 5)) ((c def c (c (? . 0) q plot-bitmap)) q (5159 . 4)) ((c def c (c (? . 0) q stretch-transform)) q (97424 . 5)) ((c def c (c (? . 0) q no-ticks)) q (106262 . 2)) ((c def c (c (? . 0) q x-tick-lines)) q (52150 . 2)) ((c def c (c (? . 1) q v+)) q (113197 . 4)) ((c def c (c (? . 0) q plot-animating?)) q (123918 . 5)) ((c def c (c (? . 3) q error-bars)) q (150501 . 5)) ((c def c (c (? . 1) q treeof)) q (140218 . 3)) ((c def c (c (? . 0) q time-ticks-layout)) q (103280 . 3)) ((c def c (c (? . 0) q plot-ps/pdf-interactive?)) q (116883 . 5)) ((c def c (c (? . 0) q polar)) q (19885 . 27)) ((c def c (c (? . 0) q rectangle3d-line-width)) q (134258 . 5)) ((c def c (c (? . 0) q x-axis)) q (50236 . 11)) ((c def c (c (? . 0) q invertible-compose)) q (108301 . 4)) ((c def c (c (? . 0) q polar-interval)) q (32382 . 39)) ((c def c (c (? . 0) q stacked-histogram-line-colors)) q (135416 . 5)) ((c def c (c (? . 0) q plot-legend-box-alpha)) q (120763 . 5)) ((c def c (c (? . 0) q plot-z-far-label)) q (117977 . 5)) ((c def c (c (? . 1) q real->plot-label)) q (108963 . 5)) ((c def c (c (? . 0) q vector-field3d)) q (67475 . 31)) ((c def c (c (? . 0) q surface3d)) q (73110 . 31)) ((c def c (c (? . 0) q plot)) q (0 . 31)) ((c def c (c (? . 0) q contour-alphas)) q (132475 . 5)) ((c def c (c (? . 1) q real->string/trunc)) q (109333 . 4)) ((c def c (c (? . 0) q line-samples)) q (124553 . 5)) ((c def c (c (? . 0) q plot-brush-color-map)) q (124414 . 5)) ((c def c (c (? . 0) q collapse-transform)) q (97544 . 4)) ((c def c (c (? . 0) q currency-ticks-formats)) q (105423 . 5)) ((c def c (c (? . 0) q plot-background-alpha)) q (119669 . 5)) ((c def c (c (? . 0) q rectangles3d)) q (88507 . 29)) ((c def c (c (? . 0) q plot-y-far-ticks)) q (98841 . 5)) ((c def c (c (? . 0) q contour-levels)) q (131752 . 6)) ((c def c (c (? . 0) q axis-transform-append)) q (97865 . 5)) ((c def c (c (? . 1) q min*)) q (113093 . 3)) ((c def c (c (? . 0) q plot-y-label)) q (117455 . 5)) ((c def c (c (? . 0) q plot-y-tick-label-anchor)) q (121671 . 5)) ((c def c (c (? . 0) q eu-currency-formats)) q (106070 . 3)) ((c def c (c (? . 0) q discrete-histogram)) q (41094 . 36)) ((c def c (? . 12)) q (65366 . 3)) ((c def c (c (? . 0) q invertible-function-g)) c (? . 6)) ((c def c (c (? . 1) q kde)) q (110908 . 7)) ((c def c (c (? . 1) q seconds->plot-time)) q (115206 . 3)) ((c def c (c (? . 1) q integer->superscript)) q (109704 . 3)) ((c def c (c (? . 1) q color-map-size)) q (112325 . 3)) ((c def c (c (? . 0) q plot-z-ticks)) q (98973 . 5)) ((c def c (c (? . 0) q plot-z-far-tick-labels?)) q (123801 . 4)) ((c def c (c (? . 0) q polar-axes-labels?)) q (137250 . 5)) ((c def c (c (? . 0) q plot-z-label)) q (117586 . 5)) ((c def c (c (? . 3) q surface)) q (151952 . 10)) ((c def c (c (? . 0) q line-color)) q (124701 . 5)) ((c def c (c (? . 0) q discrete-histogram-invert?)) q (134919 . 5)) ((c def c (c (? . 0) q date-ticks-layout)) q (101898 . 3)) ((c def c (c (? . 0) q parametric-surface3d)) q (76028 . 43)) ((c def c (c (? . 1) q ivl-min)) c (? . 5)) ((c def c (c (? . 1) q clamp-real)) q (114704 . 4)) ((c def c (c (? . 1) q plot-time-second)) c (? . 8)) ((c def c (c (? . 1) q plot-time->seconds)) q (115140 . 3)) ((c def c (c (? . 0) q points3d)) q (65867 . 35)) ((c def c (c (? . 0) q default-contour-fill-colors)) q (131363 . 5)) ((c def c (c (? . 0) q plot-inset)) q (119082 . 6)) ((c def c (c (? . 1) q struct:plot-time)) c (? . 8)) ((c def c (c (? . 0) q currency-ticks)) q (104791 . 10)) ((c def c (c (? . 0) q arrow-head-angle)) q (129357 . 5)) ((c def c (c (? . 0) q plot-z-axis?)) q (122780 . 5)) ((c def c (c (? . 0) q stacked-histogram3d)) q (92100 . 45)) ((c def c (c (? . 0) q plot3d-specular-light?)) q (118724 . 5)) ((c def c (c (? . 0) q plot-y-far-tick-label-angle)) q (122448 . 5)) ((c def c (c (? . 0) q plot-line-width)) q (118855 . 5)) ((c def c (c (? . 1) q maybe-apply)) q (143958 . 4)) ((c def c (c (? . 0) q stacked-histogram-line-widths)) q (135615 . 5)) ((c def c (c (? . 0) q inverse-label)) q (57414 . 32)) ((c def c (c (? . 0) q rectangle-style)) q (133863 . 5)) ((c def c (c (? . 0) q default-contour-colors)) q (131149 . 5)) ((c def c (c (? . 0) q interval-color)) q (125245 . 5)) ((c def c (c (? . 0) q contour-interval-line-widths)) q (133364 . 5)) ((c def c (c (? . 0) q label-anchor)) q (127260 . 5)) ((c def c (c (? . 0) q error-bar-width)) q (129478 . 5)) ((c def c (c (? . 0) q arrows3d)) q (71438 . 32)) ((c def c (c (? . 0) q candlestick-line-width)) q (130473 . 5)) ((c def c (c (? . 0) q plot3d-frame)) q (3870 . 3)) ((c def c (c (? . 0) q plot3d-pict)) q (5042 . 3)) ((c def c (c (? . 0) q inverse-interval)) q (26671 . 35)) ((c def c (c (? . 1) q ->pen-style)) q (112136 . 3)) ((c meth c (c (? . 2) q dc->plot)) q (115517 . 3)) ((c def c (c (? . 0) q tick-grid)) q (52234 . 2)) ((c def c (c (? . 0) q parametric-label)) q (59994 . 32)) ((c def c (c (? . 1) q bounds->intervals)) q (114623 . 3))))
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             
       #:aspect-ratio aspect-ratio   
       #:legend-anchor legend-anchor 
       #:out-file out-file           
       #:out-kind out-kind])         
 -> (or/c (and/c (is-a?/c snip%) (is-a?/c plot-metrics<%>)) 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? pict? #f) = (plot-title)
  x-label : (or/c string? pict? #f) = (plot-x-label)
  y-label : (or/c string? pict? #f) = (plot-y-label)
  aspect-ratio : (or/c (and/c rational? positive?) #f)
               = (plot-aspect-ratio)
  legend-anchor : legend-anchor/c = (plot-legend-anchor)
  out-file : (or/c path-string? output-port? #f) = #f
  out-kind : plot-file-format/c = 'auto
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             
         #:aspect-ratio aspect-ratio   
         #:legend-anchor legend-anchor 
         #:out-file out-file           
         #:out-kind out-kind])         
 -> (or/c (and/c (is-a?/c snip%) (is-a/c plot-metrics<%>)) 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? pict? #f) = (plot-title)
  x-label : (or/c string? pict? #f) = (plot-x-label)
  y-label : (or/c string? pict? #f) = (plot-y-label)
  z-label : (or/c string? pict? #f) = (plot-z-label)
  aspect-ratio : (or/c (and/c rational? positive?) #f)
               = (plot-aspect-ratio)
  legend-anchor : legend-anchor/c = (plot-legend-anchor)
  out-file : (or/c path-string? output-port? #f) = #f
  out-kind : plot-file-format/c = 'auto
procedure
(plot-snip <plot-argument> ...)
 -> (and/c (is-a?/c 2d-plot-snip%) (is-a?/c plot-metrics<%>))
  <plot-argument> : <plot-argument-contract>
procedure
(plot3d-snip <plot-argument> ...)
 -> (and/c (is-a?/c snip%) (is-a?/c plot-metrics<%>))
  <plot-argument> : <plot-argument-contract>
procedure
(plot-frame <plot-argument> ...) -> (is-a?/c frame%)
  <plot-argument> : <plot-argument-contract>
procedure
(plot3d-frame <plot-argument> ...) -> (is-a?/c frame%)
  <plot-argument> : <plot-argument-contract>
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 : plot-file-format/c = 'auto
  <plot-keyword> : <plot-keyword-contract>
procedure
(plot3d-file  renderer-tree                                
              output                                       
             [kind]                                        
              #:<plot3d-keyword> <plot3d-keyword> ...) -> void?
  renderer-tree : (treeof (or/c renderer3d? nonrenderer?))
  output : (or/c path-string? output-port?)
  kind : plot-file-format/c = 'auto
  <plot3d-keyword> : <plot3d-keyword-contract>
procedure
(plot-pict <plot-argument> ...) -> plot-pict?
  <plot-argument> : <plot-argument-contract>
procedure
(plot3d-pict <plot3d-argument> ...) -> plot-pict?
  <plot3d-argument> : <plot3d-argument-contract>
procedure
(plot-bitmap <plot-argument> ...)
 -> (and/c (is-a?/c bitmap%) (is-a?/c plot-metrics<%>))
  <plot-argument> : <plot-argument-contract>
procedure
(plot3d-bitmap <plot3d-argument> ...)
 -> (and/c (is-a?/c bitmap%) (is-a?/c plot-metrics<%>))
  <plot3d-argument> : <plot3d-argument-contract>
procedure
(plot/dc renderer-tree                        
         dc                                   
         x                                    
         y                                    
         width                                
         height                               
         #:<plot-keyword> <plot-keyword> ...) 
 -> (is-a?/c plot-metrics<%>)
  renderer-tree : (treeof (or/c renderer2d? nonrenderer?))
  dc : (is-a?/c dc<%>)
  x : real?
  y : real?
  width : (>=/c 0)
  height : (>=/c 0)
  <plot-keyword> : <plot-keyword-contract>
procedure
(plot3d/dc renderer-tree                            
           dc                                       
           x                                        
           y                                        
           width                                    
           height                                   
           #:<plot3d-keyword> <plot3d-keyword> ...) 
 -> (is-a?/c plot-metrics<%>)
  renderer-tree : (treeof (or/c renderer3d? nonrenderer?))
  dc : (is-a?/c dc<%>)
  x : real?
  y : real?
  width : (>=/c 0)
  height : (>=/c 0)
  <plot3d-keyword> : <plot3d-keyword-contract>
procedure
(plot <plot-argument> ...) -> pict?
  <plot-argument> : <plot-argument-contract>
procedure
(plot3d <plot3d-argument> ...) -> pict?
  <plot3d-argument> : <plot3d-argument-contract>
procedure
(plot <plot-argument> ...) -> (is-a?/c bitmap%)
  <plot-argument> : <plot-argument-contract>
procedure
(plot3d <plot3d-argument> ...) -> (is-a?/c bitmap%)
  <plot3d-argument> : <plot3d-argument-contract>
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     
         #:x-jitter x-jitter         
         #:y-jitter y-jitter         
         #:size size                 
         #:line-width line-width     
         #:alpha alpha               
         #:label label])         -> renderer2d?
  vs : (sequence/c (sequence/c #:min-count 2 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
  x-jitter : (>=/c 0) = (point-x-jitter)
  y-jitter : (>=/c 0) = (point-y-jitter)
  size : (>=/c 0) = (point-size)
  line-width : (>=/c 0) = (point-line-width)
  alpha : (real-in 0 1) = (point-alpha)
  label : (or/c string? pict? #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? (sequence/c real?))
            (-> (vector/c real? real?) (sequence/c 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? pict? #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               
             #:invert? invert?])     -> renderer2d?
  bars : (sequence/c (sequence/c #:min-count 3 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)
  invert? : boolean? = #f
procedure
(candlesticks  candles                     
              [#:x-min x-min               
               #:x-max x-max               
               #:y-min y-min               
               #:y-max y-max               
               #:up-color up-color         
               #:down-color down-color     
               #:line-width line-width     
               #:line-style line-style     
               #:width width               
               #:alpha alpha])         -> renderer2d?
  candles : (sequence/c (sequence/c #:min-count 5 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
  up-color : plot-color/c = (candlestick-up-color)
  down-color : plot-color/c = (candlestick-down-color)
  line-width : (>=/c 0) = (candlestick-line-width)
  line-style : plot-pen-style/c = (candlestick-line-style)
  width : (>=/c 0) = (candlestick-width)
  alpha : (real-in 0 1) = (candlestick-alpha)
procedure
(color-field  f                     
             [x-min                 
              x-max                 
              y-min                 
              y-max                 
              #:samples samples     
              #:alpha alpha])   -> renderer2d?
  f : (or/c (-> real? real? plot-color/c)
            (-> (vector/c real? real?) plot-color/c))
  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? = (color-field-samples)
  alpha : (real-in 0 1) = (color-field-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                             
           #:marker marker                           
           #:marker-color marker-color               
           #:marker-fill-color marker-fill-color     
           #:marker-size marker-size                 
           #:marker-line-width marker-line-width     
           #:marker-alpha marker-alpha               
           #:marker-count marker-count               
           #: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)
  marker : point-sym/c = 'none
  marker-color : (or/c 'auto plot-color/c) = 'auto
  marker-fill-color : (or/c 'auto plot-color/c) = 'auto
  marker-size : (>=/c 0) = (point-size)
  marker-line-width : (>=/c 0) = (point-line-width)
  marker-alpha : (real-in 0 1) = (point-alpha)
  marker-count : positive-integer? = 20
  label : (or/c string? pict? #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                             
          #:marker marker                           
          #:marker-color marker-color               
          #:marker-fill-color marker-fill-color     
          #:marker-size marker-size                 
          #:marker-line-width marker-line-width     
          #:marker-alpha marker-alpha               
          #:marker-count marker-count               
          #: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)
  marker : point-sym/c = 'none
  marker-color : (or/c 'auto plot-color/c) = 'auto
  marker-fill-color : (or/c 'auto plot-color/c) = 'auto
  marker-size : (>=/c 0) = (point-size)
  marker-line-width : (>=/c 0) = (point-line-width)
  marker-alpha : (real-in 0 1) = (point-alpha)
  marker-count : positive-integer? = 20
  label : (or/c string? pict? #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                                       
        #:marker marker                                     
        #:marker-color marker-color                         
        #:marker-fill-color marker-fill-color               
        #:marker-size marker-size                           
        #:marker-line-width marker-line-width               
        #:marker-alpha marker-alpha                         
        #:label label                                       
        #:ignore-axis-transforms? ignore-axis-transforms?]) 
 -> renderer2d?
  vs : (sequence/c (sequence/c #:min-count 2 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)
  marker : point-sym/c = 'none
  marker-color : (or/c 'auto plot-color/c) = 'auto
  marker-fill-color : (or/c 'auto plot-color/c) = 'auto
  marker-size : (>=/c 0) = (point-size)
  marker-line-width : (>=/c 0) = (point-line-width)
  marker-alpha : (real-in 0 1) = (point-alpha)
  label : (or/c string? pict? #f) = #f
  ignore-axis-transforms? : boolean? = #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? . -> . (sequence/c 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? pict? #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? pict? #f) = #f
procedure
(density  xs                    
         [bw-adjust             
          ws                    
          #: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 : (sequence/c real?)
  bw-adjust : (>/c 0) = 1
  ws : (or/c (sequence/c (>=/c 0)) #f) = #f
  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? pict? #f) = #f
procedure
(arrows  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                       
         #:arrow-head-size-or-scale size     
         #:arrow-head-angle angle            
         #:label label])                 -> renderer2d?
  vs : (or/c (listof (sequence/c #:min-count 2 real?))
             (vectorof (vector/c (sequence/c #:min-count 2 real?)
                                 (sequence/c #:min-count 2 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 = (arrows-color)
  width : (>=/c 0) = (arrows-line-width)
  style : plot-pen-style/c = (arrows-line-style)
  alpha : (real-in 0 1) = (arrows-alpha)
  size : (or/c (list/c '= (>=/c 0)) (>=/c 0))
       = (arrow-head-size-or-scale)
  angle : (>=/c 0) = (arrow-head-angle)
  label : (or/c string? pict? #f) = #f
procedure
(hrule  y                   
       [x-min               
        x-max               
        #:color color       
        #:width width       
        #:style style       
        #:alpha alpha       
        #:label label]) -> renderer2d?
  y : real?
  x-min : (or/c rational? #f) = #f
  x-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? pict? #f) = #f
procedure
(vrule  x                   
       [y-min               
        y-max               
        #:color color       
        #:width width       
        #:style style       
        #:alpha alpha       
        #:label label]) -> renderer2d?
  x : real?
  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? pict? #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? pict? #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? pict? #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 : (sequence/c (sequence/c #:min-count 2 real?))
  v2s : (sequence/c (sequence/c #:min-count 2 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? pict? #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? . -> . (sequence/c real?))
  f2 : (real? . -> . (sequence/c 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? pict? #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? pict? #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? pict? #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? pict? #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? pict? #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 : (sequence/c (sequence/c #:min-count 2 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? pict? #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 : (sequence/c 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? pict? #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 : (sequence/c (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? pict? #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 : (sequence/c (or/c (vector/c any/c (sequence/c real?))
                               (list/c any/c (sequence/c 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
(violin  vs                           
        [#:x x                        
         #:width width                
         #:bandwidth bandwidth        
         #:invert? invert?            
         #:label label                
         #:add-ticks? add-ticks?      
         #:far-ticks? far-ticks?      
         #:y-min y-min                
         #:y-max y-max                
         #:samples samples            
         #:color color                
         #:style style                
         #:line-color line1-color     
         #:line-width line1-width     
         #:line-style line1-style     
         #:alpha alpha])          -> renderer2d?
  vs : (sequence/c real?)
  x : real? = 0
  width : (>=/c 0) = 1
  bandwidth : (or/c real? #f) = #f
  invert? : boolean? = #f
  label : (or/c string? pict? #f) = #f
  add-ticks? : boolean? = #t
  far-ticks? : boolean? = #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)
  alpha : (real-in 0 1) = (interval-alpha)
procedure
(box-and-whisker  vs                                      
                 [#:weights ws                            
                  #:x x                                   
                  #:width width                           
                  #:iqr-scale iqr-scale                   
                  #:invert? invert?                       
                  #:label label                           
                  #:add-ticks? add-ticks?                 
                  #:far-ticks? far-ticks?                 
                  #:box-color box-color                   
                  #:box-style box-style                   
                  #:box-line-color box-line-color         
                  #:box-line-width box-line-width         
                  #:box-line-style box-line-style         
                  #:box-alpha box-alpha                   
                  #:show-outliers? show-outliers?         
                  #:outlier-color outlier-color           
                  #:outlier-sym outlier-sym               
                  #:outlier-fill-color outlier-fill-color 
                  #:outlier-size outlier-size             
                  #:outlier-line-width outlier-line-width 
                  #:outlier-alpha outlier-alpha           
                  #:show-whiskers? show-whiskers?         
                  #:whisker-color whisker-color           
                  #:whisker-width whisker-width           
                  #:whisker-style whisker-style           
                  #:whisker-alpha whisker-alpha           
                  #:show-median? show-median?             
                  #:median-color median-color             
                  #:median-width median-width             
                  #:median-style median-style             
                  #:median-alpha median-alpha])           
 -> renderer2d?
  vs : (sequence/c real?)
  ws : (sequence/c real?) = #f
  x : real? = 0
  width : (>=/c 0) = 1
  iqr-scale : (>=/c 0) = 1.5
  invert? : boolean? = #f
  label : (or/c string? pict? #f) = #f
  add-ticks? : boolean? = #t
  far-ticks? : boolean? = #f
  box-color : plot-color/c = (rectangle-color)
  box-style : plot-brush-style/c = (rectangle-style)
  box-line-color : plot-color/c = (rectangle-line-color)
  box-line-width : (>=/c 0) = (rectangle-line-width)
  box-line-style : plot-pen-style/c = (rectangle-line-style)
  box-alpha : (real-in 0 1) = (rectangle-alpha)
  show-outliers? : boolean? = #t
  outlier-color : plot-color/c = (point-color)
  outlier-sym : point-sym/c = (point-sym)
  outlier-fill-color : (or/c plot-color/c 'auto) = 'auto
  outlier-size : (>=/c 0) = (point-size)
  outlier-line-width : (>=/c 0) = (point-line-width)
  outlier-alpha : (real-in 0 1) = (point-alpha)
  show-whiskers? : boolean? = #t
  whisker-color : plot-color/c = (line-color)
  whisker-width : (>=/c 0) = (line-width)
  whisker-style : plot-pen-style/c = (line-style)
  whisker-alpha : (real-in 0 1) = (line-alpha)
  show-median? : boolean? = #t
  median-color : plot-color/c = (line-color)
  median-width : (>=/c 0) = (line-width)
  median-style : plot-pen-style/c = (line-style)
  median-alpha : (real-in 0 1) = (line-alpha)
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                             
              #:face face                             
              #: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 : (sequence/c real?)
  label : (or/c string? #f) = #f
  color : plot-color/c = (plot-foreground)
  size : (>=/c 0) = (plot-font-size)
  face : (or/c string? #f) = (plot-font-face)
  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
(point-pict  v                                       
             pict                                    
            [#:anchor anchor                         
             #: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 : (sequence/c real?)
  pict : pict?
  anchor : anchor/c = (label-anchor)
  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                         
                 #:face face                         
                 #: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)
  face : (or/c string? #f) = (plot-font-face)
  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-pict  f                                   
                x                                   
                pict                                
               [#:anchor anchor                     
                #: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?
  pict : pict?
  anchor : anchor/c = (label-anchor)
  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                         
                #:face face                         
                #: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)
  face : (or/c string? #f) = (plot-font-face)
  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-pict  f                                   
               y                                   
               pict                                
              [#:anchor anchor                     
               #: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?
  pict : pict?
  anchor : anchor/c = (label-anchor)
  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                         
                   #:face face                         
                   #: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? . -> . (sequence/c real?))
  t : real?
  label : (or/c string? #f) = #f
  color : plot-color/c = (plot-foreground)
  size : (>=/c 0) = (plot-font-size)
  face : (or/c string? #f) = (plot-font-face)
  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-pict  f                                   
                  t                                   
                  pict                                
                 [#:anchor anchor                     
                  #: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? . -> . (sequence/c real?))
  t : real?
  pict : pict?
  anchor : anchor/c = (label-anchor)
  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                             
              #:face face                             
              #: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)
  face : (or/c string? #f) = (plot-font-face)
  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-pict  f                                       
             θ                                       
             pict                                    
            [#:anchor anchor                         
             #: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?
  pict : pict?
  anchor : anchor/c = (label-anchor)
  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)
class
2d-plot-snip% : class?
  superclass: snip%
method
(send a-2d-plot-snip set-mouse-event-callback callback) -> any/c
  callback : (or/c plot-mouse-event-callback/c #f)
method
(send a-2d-plot-snip set-overlay-renderers renderers) -> any/c
  renderers : (or/c (treeof renderer2d?) #f)
value
plot-mouse-event-callback/c : contract?
 = (-> (is-a?/c snip%)
       (is-a?/c mouse-event%)
       (or/c real? #f)
       (or/c real? #f)
       any/c)
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     
           #:x-jitter x-jitter         
           #:y-jitter y-jitter         
           #:z-jitter z-jitter         
           #:size size                 
           #:line-width line-width     
           #:alpha alpha               
           #:label label])         -> renderer3d?
  vs : (sequence/c (sequence/c #:min-count 3 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
  x-jitter : (>=/c 0) = (point-x-jitter)
  y-jitter : (>=/c 0) = (point-y-jitter)
  z-jitter : (>=/c 0) = (point-z-jitter)
  size : (>=/c 0) = (point-size)
  line-width : (>=/c 0) = (point-line-width)
  alpha : (real-in 0 1) = (point-alpha)
  label : (or/c string? pict? #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? . -> . (sequence/c real?))
            ((vector/c real? real? real?) . -> . (sequence/c 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? pict? #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 : (sequence/c (sequence/c #:min-count 3 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? pict? #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? . -> . (sequence/c 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? pict? #f) = #f
procedure
(arrows3d  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                       
           #:arrow-head-size-or-scale size     
           #:arrow-head-angle angle            
           #:label label])                 -> renderer3d?
  vs : (or/c (listof (sequence/c #:min-count 3 real?))
             (vectorof (vector/c (sequence/c #:min-count 3 real?)
                                 (sequence/c #:min-count 3 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 = (arrows-color)
  width : (>=/c 0) = (arrows-line-width)
  style : plot-pen-style/c = (arrows-line-style)
  alpha : (real-in 0 1) = (arrows-alpha)
  size : (or/c (list/c '= (>=/c 0)) (>=/c 0))
       = (arrow-head-size-or-scale)
  angle : (>=/c 0) = (arrow-head-angle)
  label : (or/c string? pict? #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? pict? #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? pict? #f) = #f
procedure
(parametric-surface3d  f                           
                       s-min                       
                       s-max                       
                       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           
                       #:s-samples s-samples       
                       #:t-samples t-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? . -> . (sequence/c real?))
  s-min : rational?
  s-max : rational?
  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)) = (plot3d-samples)
  s-samples : (and/c exact-integer? (>=/c 2)) = samples
  t-samples : (and/c exact-integer? (>=/c 2)) = 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? pict? #f) = #f
procedure
(polygons3d  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               
             #:style style               
             #:line-color line-color     
             #:line-width line-width     
             #:line-style line-style     
             #:alpha alpha               
             #:label label])         -> renderer3d?
  vs : (sequence/c (sequence/c (sequence/c 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 = (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? pict? #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? pict? #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? pict? #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? pict? #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? pict? #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? pict? #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 : (sequence/c (sequence/c #:min-count 3 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? pict? #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 : (sequence/c (or/c (vector/c any/c any/c (or/c real? ivl? #f))
                               (list/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? pict? #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 : (sequence/c (or/c (vector/c any/c any/c (sequence/c real?))
                               (list/c any/c any/c (sequence/c 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
(point-label3d  v                                   
               [label                               
                #:color color                       
                #:size size                         
                #:face face                         
                #: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])                     
 -> renderer3d?
  v : (sequence/c real?)
  label : (or/c string? #f) = #f
  color : plot-color/c = (plot-foreground)
  size : (>=/c 0) = (plot-font-size)
  face : (or/c string? #f) = (plot-font-face)
  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
(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?
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?
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
procedure
(ticks-generate ticks min max) -> (listof tick?)
  ticks : ticks?
  min : real?
  max : real?
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]       
                      #:scientific? scientific?) 
 -> 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)
  scientific? : #t
procedure
(linear-ticks-format #:scientific? scientific?)
 -> ticks-format/c
  scientific? : #t
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)
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]                   
                   #:scientific? scientific?) -> ticks-format/c
  base : (and/c exact-integer? (>=/c 2)) = 10
  scientific? : #t
procedure
(log-ticks [#:number number                
            #:base base]                   
            #:scientific? scientific?) -> ticks?
  number : exact-positive-integer? = (ticks-default-number)
  base : (and/c exact-integer? (>=/c 2)) = 10
  scientific? : #t
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)
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)
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)
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
value
no-ticks-format : ticks-format/c
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
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)
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?
 = (invertible-function (λ (x) x) (λ (x) x))
procedure
(invertible-compose f1 f2) -> invertible-function?
  f1 : invertible-function?
  f2 : invertible-function?
procedure
(invertible-inverse h) -> invertible-function?
  h : invertible-function?
procedure
(linear-scale m [b]) -> invertible-function?
  m : rational?
  b : rational? = 0
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?]) -> string?
  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
procedure
(kde xs h [ws]) -> (-> real? real?)
                   (or/c rational? #f)
                   (or/c rational? #f)
  xs : (listof real?)
  h : (>/c 0)
  ws : (or/c (listof (>=/c 0)) #f) = #f
procedure
(silverman-bandwidth xs) -> real?
  xs : (listof 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
(color-map-names) -> (listof symbol?)
procedure
(color-map-size name) -> integer?
  name : symbol?
procedure
(register-color-map name color-map) -> void
  name : symbol?
  color-map : (vectorof (list byte? byte? byte?))
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
(min* r ...) -> real?
  r : real?
procedure
(max* r ...) -> real?
  r : real?
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?
interface
plot-metrics<%> : interface?
method
(send a-plot-metrics get-plot-bounds)
 -> (vectorof (vector/c real? real?))
method
(send a-plot-metrics plot->dc coordinates) -> (vectorof real?)
  coordinates : (vectorof real?)
method
(send a-plot-metrics dc->plot coordinates) -> (vectorof real?)
  coordinates : (vectorof real?)
method
(send a-plot-metrics plane-vector) -> (vectorof real?)
procedure
(plot-pict? any) -> boolean?
  any : any/c
procedure
(plot-pict-bounds plot) -> (vectorof (vector/c real? real?))
  plot : plot-pict?
procedure
(plot-pict-plot->dc plot coordinates) -> (vectorof real?)
  plot : plot-pict?
  coordinates : (vectorof real?)
procedure
(plot-pict-dc->plot plot coordinates) -> (vectorof real?)
  plot : plot-pict?
  coordinates : (vectorof real?)
procedure
(plot-pict-plane-vector plot) -> (vectorof real?)
  plot : plot-pict?
parameter
(plot-deprecation-warnings?) -> boolean?
(plot-deprecation-warnings? warnings) -> void?
  warnings : boolean?
 = #f
parameter
(plot-new-window?) -> boolean?
(plot-new-window? new-window?) -> void?
  new-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-aspect-ratio) -> (or/c (and/c rational? positive?) #f)
(plot-aspect-ratio ratio) -> void?
  ratio : (or/c (and/c rational? positive?) #f)
 = #f
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
(plot3d-samples) -> (and/c exact-integer? (>=/c 2))
(plot3d-samples n) -> void?
  n : (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 amt) -> void?
  amt : (real-in 0 1)
 = 2/3
parameter
(plot3d-diffuse-light?) -> boolean?
(plot3d-diffuse-light? diffuse?) -> void?
  diffuse? : boolean?
 = #t
parameter
(plot3d-specular-light?) -> boolean?
(plot3d-specular-light? specular?) -> void?
  specular? : boolean?
 = #t
parameter
(plot-line-width) -> (>=/c 0)
(plot-line-width width) -> void?
  width : (>=/c 0)
 = 1
parameter
(plot-line-cap) -> plot-pen-cap/c
(plot-line-cap cap) -> void?
  cap : plot-pen-cap/c
 = 'round
parameter
(plot-inset)
 -> (or/c (>=/c 0) (list (>=/c 0) (>=/c 0) (>=/c 0) (>=/c 0)))
(plot-inset inset) -> void?
  inset : (or/c (>=/c 0) (list (>=/c 0) (>=/c 0) (>=/c 0) (>=/c 0)))
 = 0
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-face) -> (or/c string? #f)
(plot-font-face face) -> void?
  face : (or/c string? #f)
 = #f
parameter
(plot-font-family) -> font-family/c
(plot-font-family family) -> void?
  family : font-family/c
 = 'roman
parameter
(plot-legend-font-size) -> (or/c (>=/c 0) #f)
(plot-legend-font-size size) -> void?
  size : (or/c (>=/c 0) #f)
 = #f
parameter
(plot-legend-font-face) -> (or/c string? #f)
(plot-legend-font-face face) -> void?
  face : (or/c string? #f)
 = #f
parameter
(plot-legend-font-family) -> (or/c font-family/c #f)
(plot-legend-font-family family) -> void?
  family : (or/c font-family/c #f)
 = #f
parameter
(plot-legend-anchor) -> legend-anchor/c
(plot-legend-anchor legend-anchor) -> void?
  legend-anchor : legend-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-legend-layout)
 -> (list/c (or/c 'columns 'rows) positive-integer? (or/c 'equal-size 'compact))
(plot-legend-layout layout) -> void?
  layout : (list/c (or/c 'columns 'rows) positive-integer? (or/c 'equal-size 'compact))
 = '(columns 1 equal-size)
parameter
(plot-legend-padding)
 -> (or/c (>=/c 0) (list (>=/c 0) (>=/c 0) (>=/c 0) (>=/c 0)))
(plot-legend-padding padding) -> void?
  padding : (or/c (>=/c 0) (list (>=/c 0) (>=/c 0) (>=/c 0) (>=/c 0)))
 = 0
parameter
(plot-tick-size) -> (>=/c 0)
(plot-tick-size size) -> void?
  size : (>=/c 0)
 = 10
parameter
(plot-x-tick-label-anchor) -> anchor/c
(plot-x-tick-label-anchor anchor) -> void?
  anchor : anchor/c
 = 'top
parameter
(plot-y-tick-label-anchor) -> anchor/c
(plot-y-tick-label-anchor anchor) -> void?
  anchor : anchor/c
 = 'right
parameter
(plot-x-far-tick-label-anchor) -> anchor/c
(plot-x-far-tick-label-anchor anchor) -> void?
  anchor : anchor/c
 = 'bottom
parameter
(plot-y-far-tick-label-anchor) -> anchor/c
(plot-y-far-tick-label-anchor anchor) -> void?
  anchor : anchor/c
 = 'left
parameter
(plot-x-tick-label-angle) -> real?
(plot-x-tick-label-angle angle) -> void?
  angle : real?
 = 0
parameter
(plot-y-tick-label-angle) -> real?
(plot-y-tick-label-angle angle) -> void?
  angle : real?
 = 0
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-angle) -> real?
(plot-y-far-tick-label-angle angle) -> void?
  angle : real?
 = 0
parameter
(plot-x-axis?) -> boolean?
(plot-x-axis? draw?) -> void?
  draw? : boolean?
 = #t
parameter
(plot-y-axis?) -> boolean?
(plot-y-axis? draw?) -> void?
  draw? : boolean?
 = #t
parameter
(plot-z-axis?) -> boolean?
(plot-z-axis? draw?) -> void?
  draw? : boolean?
 = #t
parameter
(plot-x-far-axis?) -> boolean?
(plot-x-far-axis? draw?) -> void?
  draw? : boolean?
 = #t
parameter
(plot-y-far-axis?) -> boolean?
(plot-y-far-axis? draw?) -> void?
  draw? : boolean?
 = #t
parameter
(plot-z-far-axis?) -> boolean?
(plot-z-far-axis? draw?) -> void?
  draw? : boolean?
 = #t
parameter
(plot-x-tick-labels?) -> boolean?
(plot-x-tick-labels? draw?) -> void?
  draw? : boolean?
 = #t
parameter
(plot-y-tick-labels?) -> boolean?
(plot-y-tick-labels? draw?) -> void?
  draw? : boolean?
 = #t
parameter
(plot-z-tick-labels?) -> boolean?
(plot-z-tick-labels? draw?) -> void?
  draw? : boolean?
 = #t
parameter
(plot-x-far-tick-labels?) -> boolean?
(plot-x-far-tick-labels? draw?) -> void?
  draw? : boolean?
parameter
(plot-y-far-tick-labels?) -> boolean?
(plot-y-far-tick-labels? draw?) -> void?
  draw? : boolean?
parameter
(plot-z-far-tick-labels?) -> boolean?
(plot-z-far-tick-labels? draw?) -> void?
  draw? : boolean?
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))
parameter
(plot-decorations?) -> boolean?
(plot-decorations? draw?) -> void?
  draw? : boolean?
 = #t
parameter
(plot-pen-color-map) -> (or/c symbol? #f)
(plot-pen-color-map name) -> void?
  name : (or/c symbol? #f)
 = #f
parameter
(plot-brush-color-map) -> (or/c symbol? #f)
(plot-brush-color-map name) -> void?
  name : (or/c symbol? #f)
 = #f
parameter
(line-samples) -> (and/c exact-integer? (>=/c 2))
(line-samples n) -> void?
  n : (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-cap) -> plot-pen-cap/c
(line-cap cap) -> void?
  cap : plot-pen-cap/c
 = 'round
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-size) -> (>=/c 0)
(point-size size) -> void?
  size : (>=/c 0)
 = 6
parameter
(point-alpha) -> (real-in 0 1)
(point-alpha alpha) -> void?
  alpha : (real-in 0 1)
 = 1
parameter
(point-x-jitter) -> (>=/c 0)
(point-x-jitter x-jitter) -> void?
  x-jitter : (>=/c 0)
 = 0
parameter
(point-y-jitter) -> (>=/c 0)
(point-y-jitter y-jitter) -> void?
  y-jitter : (>=/c 0)
 = 0
parameter
(point-z-jitter) -> (>=/c 0)
(point-z-jitter z-jitter) -> void?
  z-jitter : (>=/c 0)
 = 0
parameter
(point-color) -> plot-color/c
(point-color color) -> void?
  color : plot-color/c
 = 0
parameter
(point-line-width) -> (>=/c 0)
(point-line-width width) -> void?
  width : (>=/c 0)
 = 1
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
(vector-field-samples) -> exact-positive-integer?
(vector-field-samples n) -> void?
  n : exact-positive-integer?
 = 20
parameter
(vector-field3d-samples) -> exact-positive-integer?
(vector-field3d-samples n) -> void?
  n : exact-positive-integer?
 = 9
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
(arrows-color) -> plot-color/c
(arrows-color color) -> void?
  color : plot-color/c
 = 1
parameter
(arrows-line-width) -> (>=/c 0)
(arrows-line-width width) -> void?
  width : (>=/c 0)
 = 2/3
parameter
(arrows-line-style) -> plot-pen-style/c
(arrows-line-style style) -> void?
  style : plot-pen-style/c
 = 'solid
parameter
(arrows-alpha) -> (real-in 0 1)
(arrows-alpha alpha) -> void?
  alpha : (real-in 0 1)
 = 1
parameter
(arrow-head-size-or-scale)
 -> (or/c (>=/c 0) (list/c '= (>=/c 0)))
(arrow-head-size-or-scale size) -> void?
  size : (or/c (>=/c 0) (list/c '= (>=/c 0)))
 = 2/5
parameter
(arrow-head-angle) -> (>=/c 0)
(arrow-head-angle alpha) -> void?
  alpha : (>=/c 0)
 = (/ pi 6)
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 pen-width) -> void?
  pen-width : (>=/c 0)
 = 1
parameter
(error-bar-line-style) -> plot-pen-style/c
(error-bar-line-style pen-style) -> void?
  pen-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
parameter
(candlestick-width) -> (>=/c 0)
(candlestick-width width) -> void?
  width : (>=/c 0)
 = 1
parameter
(candlestick-up-color) -> plot-color/c
(candlestick-up-color color) -> void?
  color : plot-color/c
 = 2
parameter
(candlestick-down-color) -> plot-color/c
(candlestick-down-color color) -> void?
  color : plot-color/c
 = 1
parameter
(candlestick-line-width) -> (>=/c 0)
(candlestick-line-width pen-width) -> void?
  pen-width : (>=/c 0)
 = 1
parameter
(candlestick-line-style) -> plot-pen-style/c
(candlestick-line-style pen-style) -> void?
  pen-style : plot-pen-style/c
 = 'solid
parameter
(candlestick-alpha) -> (real-in 0 1)
(candlestick-alpha alpha) -> void?
  alpha : (real-in 0 1)
 = 2/3
parameter
(color-field-samples) -> exact-positive-integer?
(color-field-samples n) -> void?
  n : exact-positive-integer?
 = 20
parameter
(color-field-alpha) -> (real-in 0 1)
(color-field-alpha alpha) -> void?
  alpha : (real-in 0 1)
 = 1
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 n) -> void?
  n : (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
(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)
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 pen-color) -> void?
  pen-color : plot-color/c
 = 3
parameter
(rectangle-line-width) -> (>=/c 0)
(rectangle-line-width pen-width) -> void?
  pen-width : (>=/c 0)
 = 1
parameter
(rectangle3d-line-width) -> (>=/c 0)
(rectangle3d-line-width pen-width) -> void?
  pen-width : (>=/c 0)
 = 1/3
parameter
(rectangle-line-style) -> plot-pen-style/c
(rectangle-line-style pen-style) -> void?
  pen-style : plot-pen-style/c
 = 'solid
parameter
(rectangle-alpha) -> (real-in 0 1)
(rectangle-alpha alpha) -> void?
  alpha : (real-in 0 1)
 = 1
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-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-styles) -> (plot-brush-styles/c nat/c)
(stacked-histogram-styles styles) -> void?
  styles : (plot-brush-styles/c nat/c)
 = '(solid)
parameter
(stacked-histogram-line-colors) -> (plot-colors/c nat/c)
(stacked-histogram-line-colors pen-colors) -> void?
  pen-colors : (plot-colors/c nat/c)
 = (stacked-histogram-colors)
parameter
(stacked-histogram-line-widths) -> (pen-widths/c nat/c)
(stacked-histogram-line-widths pen-widths) -> void?
  pen-widths : (pen-widths/c nat/c)
 = '(1)
parameter
(stacked-histogram-line-styles) -> (plot-pen-styles/c nat/c)
(stacked-histogram-line-styles pen-styles) -> void?
  pen-styles : (plot-pen-styles/c nat/c)
 = '(solid)
parameter
(stacked-histogram-alphas) -> (alphas/c nat/c)
(stacked-histogram-alphas alphas) -> void?
  alphas : (alphas/c nat/c)
 = '(1)
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
(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
(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
(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
(polar-axes-number) -> exact-nonnegative-integer?
(polar-axes-number n) -> void?
  n : exact-nonnegative-integer?
 = 12
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
(polar-axes-alpha) -> (real-in 0 1)
(polar-axes-alpha alpha) -> void?
  alpha : (real-in 0 1)
 = 1/2
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 pen-color) -> void?
  pen-color : plot-color/c
 = 0
parameter
(surface-line-width) -> (>=/c 0)
(surface-line-width pen-width) -> void?
  pen-width : (>=/c 0)
 = 1/3
parameter
(surface-line-style) -> plot-pen-style/c
(surface-line-style pen-style) -> void?
  pen-style : plot-pen-style/c
 = 'solid
parameter
(surface-alpha) -> (real-in 0 1)
(surface-alpha alpha) -> void?
  alpha : (real-in 0 1)
 = 1
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 pen-colors) -> void?
  pen-colors : (plot-colors/c (listof real?))
 = default-isosurface-line-colors
parameter
(isosurface-line-widths) -> (pen-widths/c (listof real?))
(isosurface-line-widths pen-widths) -> void?
  pen-widths : (pen-widths/c (listof real?))
 = '(1/3)
parameter
(isosurface-line-styles) -> (plot-pen-styles/c (listof real?))
(isosurface-line-styles pen-styles) -> void?
  pen-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
procedure
(treeof elem-contract) -> contract?
  elem-contract : contract?
value
anchor/c : contract?
 = (one-of/c 'top-left    'top    'top-right
             'left        'center 'right
             'bottom-left 'bottom 'bottom-right
             'auto)
value
legend-anchor/c : contract?
 = (or/c anchor/c
         (one-of/c 'outside-top-left    'outside-top    'outside-top-right
                   'outside-left-top    'outside-left   'outside-left-bottom
                   'outside-right-top   'outside-right  'outside-right-bottom
                   'outside-bottom-left 'outside-bottom 'outside-bottom-right
                   'outside-global-top
                   'no-legend))
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-pen-cap/c : contract? = (one-of/c 'round 'projecting 'butt)
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 : flat-contract?
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      'none)
value
plot-file-format/c : contract?
 = (or/c 'auto 'png 'jpeg 'xmb 'xpm 'bmp 'ps 'pdf 'svg)
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
(pen-widths/c in-contract) -> contract?
  in-contract : contract?
 = (maybe-function/c in-contract (listof (>=/c 0)))
procedure
(plot-pen-styles/c in-contract) -> contract?
  in-contract : contract?
 = (maybe-function/c in-contract (listof plot-pen-style/c))
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? pict? #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-6
procedure
(gradient f [h])
 -> (-> (vector/c real? real?) (vector/c real? real?))
  f : (-> real? real? real?)
  h : real? = 1e-6
procedure
(make-vec fx fy)
 -> (-> (vector/c real? real?) (vector/c real? real?))
  fx : (-> real? real? real?)
  fy : (-> real? real? real?)
