23921
((3) 0 () 13 ((q lib "plot/main.rkt") (q lib "plot/utils.rkt") (q 97278 . 5) (q 91301 . 5) (q lib "plot/compat.rkt") (q 91016 . 4) (q 97723 . 7) (c (? . 10) q 2d-plot-snip%) (q 90882 . 5) (q 83417 . 5) (q lib "plot/snip.rkt") (q lib "plot/pict.rkt") (q lib "plot/bitmap.rkt")) () (h ! (equal) ((c def c (c (? . 0) q surface3d)) q (60399 . 31)) ((c def c (c (? . 0) q log-ticks)) q (84968 . 4)) ((c def c (c (? . 0) q vector-field3d)) q (56457 . 31)) ((c def c (c (? . 0) q function-pict)) q (45380 . 22)) ((c def c (c (? . 1) q ivl?)) c (? . 2)) ((c def c (c (? . 0) q struct:invertible-function)) c (? . 3)) ((c def c (c (? . 0) q plot-width)) q (98357 . 5)) ((c def c (c (? . 0) q invisible-rect3d)) q (80064 . 13)) ((c def c (c (? . 0) q currency-ticks-format)) q (87661 . 8)) ((c def c (c (? . 0) q plot3d)) q (1328 . 39)) ((c def c (c (? . 1) q make-ivl)) c (? . 2)) ((c def c (c (? . 0) q collapse-transform)) q (81150 . 4)) ((c def c (c (? . 1) q seconds->plot-time)) q (98031 . 3)) ((c def c (c (? . 1) q vcross)) q (96572 . 4)) ((c def c (c (? . 0) q invisible-rect)) q (79847 . 6)) ((c def c (c (? . 0) q point-label)) q (41272 . 29)) ((c def c (c (? . 0) q plot-x-ticks)) q (82093 . 5)) ((c def c (c (? . 0) q plot3d-bitmap)) q (4994 . 3)) ((c def c (c (? . 0) q plot-y-far-label)) q (99545 . 5)) ((c def c (c (? . 1) q v=)) q (96477 . 4)) ((c def c (c (? . 0) q plot-x-far-tick-labels?)) q (103811 . 4)) ((c def c (c (? . 0) q contours3d)) q (64509 . 30)) ((c def c (c (? . 0) q interval-line2-color)) q (105738 . 5)) ((c def c (c (? . 1) q nonlinear-seq)) q (93714 . 13)) ((c def c (c (? . 0) q plot-z-transform)) q (80804 . 5)) ((c def c (c (? . 0) q date-ticks-formats)) q (85651 . 5)) ((c def c (c (? . 0) q plot-font-family)) q (101290 . 5)) ((c def c (c (? . 0) q plot3d-file)) q (4117 . 10)) ((c def c (c (? . 0) q x-axis)) q (39225 . 11)) ((c def c (c (? . 0) q line-style)) q (104877 . 5)) ((c def c (c (? . 0) q plot-pict)) q (4659 . 3)) ((c def c (c (? . 0) q point-sym)) q (106245 . 5)) ((c def c (c (? . 0) q make-tick)) c (? . 5)) ((c def c (c (? . 0) q inverse)) q (12656 . 23)) ((c def c (c (? . 1) q plot-time-hour)) c (? . 6)) ((c def c (c (? . 1) q ->pen-style)) q (95321 . 3)) ((c def c (c (? . 0) q tick-grid)) q (41223 . 2)) ((c def c (c (? . 0) q currency-ticks-formats)) q (88682 . 5)) ((c def c (c (? . 0) q invertible-inverse)) q (91689 . 3)) ((c def c (c (? . 4) q vector-field)) q (128755 . 12)) ((c def c (c (? . 0) q invertible-function)) c (? . 3)) ((c def c (c (? . 0) q plot-y-far-axis?)) q (103238 . 5)) ((c def c (c (? . 0) q interval-color)) q (105108 . 5)) ((c def c (c (? . 0) q x-axis-alpha)) q (115569 . 5)) ((c def c (c (? . 1) q bounds->intervals)) q (97448 . 3)) ((c def c (c (? . 0) q plot-height)) q (98487 . 5)) ((c def c (c (? . 0) q axis-transform-bound)) q (81614 . 5)) ((c def c (c (? . 0) q eu-currency-scales)) q (89036 . 2)) ((c def c (c (? . 0) q plot-y-axis?)) q (102921 . 5)) ((c def c (c (? . 0) q line-alpha)) q (104996 . 5)) ((c def c (c (? . 11) q plot)) q (6435 . 3)) ((c def c (c (? . 0) q lines-interval)) q (22714 . 33)) ((c def c (c (? . 0) q vector-field-color)) q (107834 . 5)) ((c def c (c (? . 0) q contour-interval-styles)) q (111629 . 6)) ((c def c (c (? . 0) q ticks-generate)) q (83562 . 5)) ((c def c (c (? . 0) q contours)) q (29566 . 26)) ((c def c (c (? . 4) q plot)) q (124894 . 29)) ((c def c (c (? . 0) q function-interval)) q (19001 . 35)) ((c def c (c (? . 0) q contour-ticks)) q (82822 . 11)) ((c def c (c (? . 1) q plot-pen-style/c)) q (119546 . 5)) ((c def c (c (? . 0) q parametric-label)) q (48983 . 32)) ((c def c (c (? . 0) q contour-interval-colors)) q (111431 . 5)) ((c def c (c (? . 0) q time-ticks)) q (86806 . 5)) ((c def c (c (? . 0) q plot3d-samples)) q (99811 . 5)) ((c def c (c (? . 0) q interval-line1-width)) q (105479 . 5)) ((c def c (c (? . 0) q candlestick-alpha)) q (109828 . 5)) ((c def c (c (? . 0) q isosurface-styles)) q (117904 . 5)) ((c def c (c (? . 1) q v*)) q (96301 . 4)) ((c def c (c (? . 0) q function)) q (11695 . 23)) ((c def c (c (? . 0) q error-bar-width)) q (108550 . 5)) ((c def c (c (? . 0) q linear-ticks-layout)) q (83834 . 7)) ((c def c (c (? . 0) q pre-tick)) c (? . 8)) ((c def c (c (? . 1) q datetime->real)) q (97600 . 3)) ((c def c (c (? . 0) q date-ticks-layout)) q (85157 . 3)) ((c def c (c (? . 0) q mix)) q (123026 . 3)) ((c def c (c (? . 0) q stacked-histogram3d)) q (75706 . 45)) ((c def c (c (? . 0) q plot-y-far-tick-label-anchor)) q (102190 . 5)) ((c def c (c (? . 0) q rectangle-line-color)) q (112803 . 5)) ((c def c (c (? . 0) q animated-samples)) q (104281 . 3)) ((c def c (c (? . 0) q plot-deprecation-warnings?)) q (98097 . 5)) ((c def c (c (? . 0) q plot-file)) q (3603 . 10)) ((c def c (c (? . 1) q clamp-real)) q (97529 . 4)) ((c def c (c (? . 1) q renderer2d?)) q (118829 . 3)) ((c def c (c (? . 0) q candlestick-width)) q (109175 . 5)) ((c def c (c (? . 1) q ivl->plot-label)) q (92372 . 4)) ((c def c (c (? . 1) q maybe-inexact->exact)) q (95927 . 3)) ((c def c (c (? . 0) q tick?)) c (? . 5)) ((c def c (c (? . 0) q ticks)) c (? . 9)) ((c def c (c (? . 1) q nonrenderer?)) q (118959 . 3)) ((c def c (c (? . 0) q surface-alpha)) q (116942 . 5)) ((c meth c (c (? . 7) q set-mouse-event-callback)) q (54409 . 3)) ((c def c (c (? . 0) q candlesticks)) q (10537 . 23)) ((c def c (c (? . 0) q 12h-descending-time-ticks-formats)) q (87423 . 12)) ((c def c (c (? . 0) q plot-z-far-ticks)) q (82690 . 5)) ((c def c (c (? . 0) q y-axis-alpha)) q (115685 . 5)) ((c def c (c (? . 0) q point-alpha)) q (106447 . 5)) ((c def c (c (? . 0) q y-tick-lines)) q (41181 . 2)) ((c def c (c (? . 12) q plot)) q (6641 . 3)) ((c def c (c (? . 0) q plot-d-ticks)) q (83195 . 5)) ((c def c (c (? . 0) q discrete-histogram-invert?)) q (113726 . 5)) ((c def c (c (? . 1) q anchor/c)) q (119106 . 6)) ((c def c (c (? . 0) q surface-style)) q (116414 . 5)) ((c def c (c (? . 0) q contour-interval-alphas)) q (111821 . 5)) ((c def c (c (? . 0) q area-histogram)) q (33781 . 29)) ((c def c (c (? . 1) q plot-time?)) c (? . 6)) ((c def c (c (? . 1) q integer->superscript)) q (92963 . 3)) ((c def c (c (? . 0) q polar-axes-ticks?)) q (115942 . 5)) ((c def c (c (? . 1) q plot-brush-style/c)) q (119743 . 6)) ((c def c (c (? . 0) q parametric-interval)) q (24461 . 39)) ((c def c (c (? . 0) q plot3d-frame)) q (3484 . 3)) ((c def c (c (? . 0) q plot-font-face)) q (101163 . 5)) ((c def c (c (? . 0) q inverse-pict)) q (47970 . 22)) ((c def c (c (? . 4) q gradient)) q (130621 . 5)) ((c meth c (c (? . 7) q set-overlay-renderers)) q (54543 . 3)) ((c def c (c (? . 0) q plot3d-specular-light?)) q (100425 . 5)) ((c def c (c (? . 0) q polar-interval)) q (26556 . 39)) ((c def c (c (? . 0) q vector-field-samples)) q (107549 . 5)) ((c def c (c (? . 1) q ceiling-log/base)) q (95691 . 4)) ((c def c (c (? . 1) q plot-brush-styles/c)) q (122579 . 4)) ((c def c (c (? . 0) q contour-intervals3d)) q (65911 . 49)) ((c def c (c (? . 0) q plot3d-diffuse-light?)) q (100298 . 5)) ((c def c (c (? . 0) q stacked-histogram-colors)) q (113861 . 5)) ((c def c (c (? . 0) q polar-pict)) q (53300 . 21)) ((c def c (c (? . 0) q surface-line-color)) q (116543 . 5)) ((c def c (c (? . 0) q error-bar-line-style)) q (108904 . 5)) ((c def c (c (? . 1) q ivl-min)) c (? . 2)) ((c def c (c (? . 1) q ->brush-style)) q (95388 . 3)) ((c def c (c (? . 0) q error-bar-color)) q (108660 . 5)) ((c def c (c (? . 0) q rectangle-style)) q (112670 . 5)) ((c def c (c (? . 0) q candlestick-line-width)) q (109545 . 5)) ((c def c (c (? . 1) q plot-time)) c (? . 6)) ((c def c (c (? . 0) q candlestick-down-color)) q (109415 . 5)) ((c def c (c (? . 0) q line-width)) q (104777 . 5)) ((c def c (c (? . 0) q pre-tick-major?)) c (? . 8)) ((c def c (c (? . 1) q plot-pen-styles/c)) q (122426 . 4)) ((c def c (c (? . 1) q rational-ivl?)) q (97389 . 3)) ((c def c (c (? . 0) q plot3d-pict)) q (4763 . 3)) ((c def c (c (? . 0) q axis-transform-compose)) q (81737 . 4)) ((c def c (c (? . 0) q x-tick-lines)) q (41139 . 2)) ((c def c (c (? . 1) q vcross2)) q (96722 . 4)) ((c def c (c (? . 0) q label-point-size)) q (107439 . 5)) ((c def c (c (? . 1) q v/)) q (96389 . 4)) ((c def c (c (? . 0) q plot-x-far-tick-label-angle)) q (102566 . 5)) ((c def c (c (? . 0) q stacked-histogram)) q (37200 . 41)) ((c def c (c (? . 0) q vector-field-alpha)) q (108422 . 5)) ((c def c (c (? . 0) q candlestick-line-style)) q (109677 . 5)) ((c def c (c (? . 0) q contour-styles)) q (111100 . 5)) ((c def c (c (? . 0) q isoline)) q (28553 . 25)) ((c def c (c (? . 0) q stacked-histogram-line-styles)) q (114597 . 5)) ((c def c (c (? . 0) q plot3d-snip)) q (3250 . 3)) ((c def c (c (? . 0) q ticks-add)) q (90662 . 5)) ((c def c (c (? . 0) q plot-x-far-axis?)) q (103127 . 5)) ((c def c (c (? . 0) q uk-currency-formats)) q (89222 . 3)) ((c def c (c (? . 1) q point-sym/c)) q (120083 . 3)) ((c def c (c (? . 0) q pre-tick-value)) c (? . 8)) ((c def c (c (? . 4) q plot3d)) q (126066 . 39)) ((c def c (c (? . 0) q bit/byte-ticks)) q (89794 . 7)) ((c def c (c (? . 4) q contour)) q (129267 . 13)) ((c def c (c (? . 0) q isosurface3d)) q (68425 . 33)) ((c def c (c (? . 0) q point-line-width)) q (107011 . 5)) ((c def c (c (? . 0) q stacked-histogram-line-widths)) q (114422 . 5)) ((c def c (c (? . 0) q cbrt-transform)) q (81241 . 2)) ((c def c (c (? . 0) q inverse-label)) q (46403 . 32)) ((c def c (c (? . 0) q currency-ticks-scales)) q (88525 . 5)) ((c def c (c (? . 0) q default-contour-colors)) q (109956 . 5)) ((c def c (c (? . 0) q discrete-histogram-skip)) q (113602 . 5)) ((c def c (c (? . 1) q ivl-max)) c (? . 2)) ((c def c (c (? . 0) q point-color)) q (106903 . 5)) ((c def c (c (? . 1) q vmag)) q (96988 . 3)) ((c def c (c (? . 0) q plot-title)) q (98904 . 5)) ((c def c (c (? . 0) q contour-widths)) q (110943 . 5)) ((c def c (c (? . 0) q time-ticks-format)) q (86675 . 3)) ((c def c (c (? . 0) q plot-background)) q (100672 . 5)) ((c def c (c (? . 0) q id-transform)) q (80949 . 2)) ((c def c (c (? . 0) q stacked-histogram-alphas)) q (114786 . 5)) ((c def c (c (? . 1) q maybe-apply)) q (122036 . 4)) ((c def c (c (? . 0) q plot-x-axis?)) q (102818 . 5)) ((c def c (c (? . 0) q plot-y-transform)) q (80659 . 5)) ((c def c (c (? . 1) q maybe-function/c)) q (121841 . 5)) ((c def c (c (? . 0) q line-samples)) q (104523 . 5)) ((c def c (c (? . 0) q log-ticks-layout)) q (84613 . 5)) ((c def c (c (? . 0) q ticks-format/c)) q (91202 . 3)) ((c def c (c (? . 1) q font-family/c)) q (120044 . 2)) ((c def c (c (? . 0) q 24h-descending-time-ticks-formats)) q (87201 . 12)) ((c def c (c (? . 1) q pen-widths/c)) q (122285 . 4)) ((c def c (c (? . 0) q plot)) q (0 . 29)) ((c def c (c (? . 0) q make-ticks)) c (? . 9)) ((c def c (c (? . 0) q error-bar-line-width)) q (108776 . 5)) ((c def c (c (? . 0) q ticks-mimic)) q (90592 . 3)) ((c def c (c (? . 0) q error-bars)) q (9530 . 21)) ((c def c (c (? . 0) q line-color)) q (104671 . 5)) ((c def c (c (? . 0) q ticks-layout)) c (? . 9)) ((c def c (c (? . 1) q 3d-polar->3d-cartesian)) q (95558 . 5)) ((c def c (c (? . 4) q error-bars)) q (128572 . 5)) ((c def c (c (? . 0) q plot-z-far-axis?)) q (103349 . 5)) ((c def c (c (? . 0) q label-angle)) q (107231 . 5)) ((c def c (c (? . 0) q contour-levels)) q (110559 . 6)) ((c def c (c (? . 0) q stacked-histogram-line-colors)) q (114223 . 5)) ((c def c (c (? . 0) q plot-y-tick-label-angle)) q (102448 . 5)) ((c def c (c (? . 0) q interval-alpha)) q (106123 . 5)) ((c def c (c (? . 0) q x-ticks)) q (79505 . 4)) ((c def c (c (? . 0) q struct:ticks)) c (? . 9)) ((c def c (c (? . 0) q plot-font-size)) q (101056 . 5)) ((c def c (c (? . 0) q rectangle-alpha)) q (113346 . 5)) ((c def c (c (? . 1) q color/c)) q (119341 . 5)) ((c def c (c (? . 0) q contour-alphas)) q (111282 . 5)) ((c def c (c (? . 0) q isosurface-alphas)) q (118672 . 5)) ((c def c (c (? . 0) q shade)) q (124283 . 6)) ((c def c (c (? . 0) q isosurface-line-styles)) q (118477 . 5)) ((c def c (c (? . 0) q default-isosurface-colors)) q (117060 . 5)) ((c def c (c (? . 10) q plot-mouse-event-callback/c)) q (54670 . 7)) ((c def c (c (? . 1) q ivl)) c (? . 2)) ((c def c (c (? . 0) q polar)) q (15567 . 27)) ((c def c (c (? . 0) q rectangle3d-line-width)) q (113065 . 5)) ((c def c (c (? . 1) q color-seq*)) q (94752 . 10)) ((c def c (c (? . 0) q y-axis-far?)) q (115470 . 5)) ((c def c (c (? . 0) q candlestick-up-color)) q (109289 . 5)) ((c def c (c (? . 0) q interval-line1-color)) q (105353 . 5)) ((c def c (c (? . 0) q plot-tick-size)) q (101677 . 5)) ((c def c (c (? . 0) q x-axis-far?)) q (115371 . 5)) ((c def c (c (? . 1) q vneg)) q (96230 . 3)) ((c def c (c (? . 1) q v+)) q (96022 . 4)) ((c def c (c (? . 0) q plot-x-far-ticks)) q (82204 . 5)) ((c def c (c (? . 4) q line)) q (127869 . 17)) ((c def c (c (? . 0) q plot-x-transform)) q (80514 . 5)) ((c def c (c (? . 0) q plot-legend-anchor)) q (101417 . 5)) ((c def c (c (? . 1) q alphas/c)) q (122736 . 4)) ((c def c (c (? . 0) q plot-bitmap)) q (4875 . 3)) ((c def c (c (? . 0) q parametric)) q (14436 . 27)) ((c def c (c (? . 1) q vnormalize)) q (97047 . 3)) ((c def c (c (? . 4) q mix)) q (130369 . 3)) ((c def c (c (? . 0) q surface-line-width)) q (116673 . 5)) ((c def c (c (? . 0) q no-ticks)) q (89521 . 2)) ((c def c (c (? . 0) q isoline3d)) q (63303 . 29)) ((c def c (c (? . 4) q surface)) q (130023 . 10)) ((c def c (c (? . 0) q polar-axes-labels?)) q (116057 . 5)) ((c def c (c (? . 0) q plot-z-label)) q (99287 . 5)) ((c def c (c (? . 0) q fraction-ticks-format)) q (90088 . 5)) ((c def c (c (? . 0) q surface-line-style)) q (116799 . 5)) ((c def c (c (? . 0) q surface-color)) q (116302 . 5)) ((c def c (c (? . 0) q eu-currency-formats)) q (89329 . 3)) ((c def c (c (? . 0) q points3d)) q (54856 . 35)) ((c def c (c (? . 0) q bit/byte-ticks-format)) q (89593 . 5)) ((c def c (c (? . 1) q labels/c)) q (122879 . 4)) ((c def c (c (? . 4) q points)) q (127620 . 6)) ((c def c (c (? . 0) q plot3d-angle)) q (99962 . 5)) ((c def c (c (? . 0) q y-axis-ticks?)) q (115042 . 5)) ((c def c (c (? . 4) q shade)) q (129731 . 7)) ((c def c (c (? . 0) q invertible-function?)) c (? . 3)) ((c def c (c (? . 0) q plot-x-label)) q (99025 . 5)) ((c def c (c (? . 0) q plot-r-ticks)) q (83306 . 5)) ((c def c (c (? . 0) q rectangles)) q (32567 . 25)) ((c def c (c (? . 0) q ticks-default-number)) q (83684 . 5)) ((c def c (c (? . 0) q interval-line2-style)) q (105984 . 5)) ((c def c (c (? . 0) q plot-y-tick-label-anchor)) q (101915 . 5)) ((c def c (c (? . 0) q apply-axis-transform)) q (81950 . 5)) ((c def c (c (? . 0) q plot-y-far-tick-label-angle)) q (102692 . 5)) ((c def c (c (? . 0) q invertible-function-f)) c (? . 3)) ((c def c (c (? . 0) q id-function)) q (91462 . 3)) ((c def c (c (? . 1) q plot-time->seconds)) q (97965 . 3)) ((c def c (c (? . 0) q plot-x-far-label)) q (99412 . 5)) ((c def c (c (? . 1) q vrational?)) q (97210 . 3)) ((c def c (c (? . 0) q isosurface-line-widths)) q (118294 . 5)) ((c def c (c (? . 0) q plot-decorations?)) q (104410 . 5)) ((c def c (c (? . 0) q vector-field3d-samples)) q (107690 . 5)) ((c def c (c (? . 1) q plot-color/c)) q (119477 . 2)) ((c def c (c (? . 0) q linear-ticks-format)) q (84212 . 2)) ((c def c (c (? . 0) q tick)) c (? . 5)) ((c def c (c (? . 0) q linear-ticks)) q (84264 . 7)) ((c def c (c (? . 1) q color-seq)) q (94398 . 12)) ((c def c (c (? . 4) q plot-color?)) q (130452 . 3)) ((c def c (c (? . 0) q vrule)) q (18376 . 17)) ((c def c (c (? . 0) q axes)) q (40049 . 17)) ((c def c (c (? . 0) q rectangles3d)) q (72127 . 29)) ((c def c (c (? . 0) q label-alpha)) q (107325 . 5)) ((c def c (c (? . 1) q ->color)) q (95073 . 3)) ((c def c (c (? . 1) q vdot)) q (96833 . 4)) ((c def c (c (? . 0) q plot-foreground)) q (100556 . 5)) ((c def c (c (? . 1) q vmag^2)) q (96927 . 3)) ((c def c (c (? . 0) q z-ticks)) q (79733 . 4)) ((c def c (c (? . 0) q fraction-ticks)) q (90351 . 5)) ((c def c (c (? . 1) q make-plot-time)) c (? . 6)) ((c def c (c (? . 0) q vector-field-scale)) q (108229 . 6)) ((c def c (c (? . 1) q real->plot-label)) q (92222 . 5)) ((c def c (c (? . 0) q us-currency-formats)) q (89114 . 3)) ((c def c (c (? . 0) q pre-tick?)) c (? . 8)) ((c def c (c (? . 0) q 12h-descending-date-ticks-formats)) q (86167 . 18)) ((c def c (c (? . 0) q plot-animating?)) q (104162 . 5)) ((c def c (c (? . 0) q default-contour-fill-colors)) q (110170 . 5)) ((c def c (c (? . 1) q plot-time-minute)) c (? . 6)) ((c def c (c (? . 0) q time-ticks-formats)) q (87033 . 5)) ((c def c (c (? . 0) q no-ticks-layout)) q (89439 . 2)) ((c def c (c (? . 0) q inverse-interval)) q (20866 . 35)) ((c def c (c (? . 0) q point-z-jitter)) q (106789 . 5)) ((c def c (c (? . 0) q x-axis-ticks?)) q (114935 . 5)) ((c def c (c (? . 0) q plot3d-altitude)) q (100059 . 5)) ((c def c (c (? . 1) q ->plot-label)) q (92489 . 4)) ((c def c (c (? . 0) q make-pre-tick)) c (? . 8)) ((c def c (c (? . 0) q x-axis-labels?)) q (115149 . 5)) ((c def c (c (? . 0) q isosurfaces3d)) q (70010 . 42)) ((c def c (c (? . 1) q struct:ivl)) c (? . 2)) ((c def c (c (? . 0) q tick-label)) c (? . 5)) ((c def c (c (? . 1) q known-point-symbols)) q (120193 . 22)) ((c def c (c (? . 0) q isosurface-line-colors)) q (118085 . 5)) ((c def c (c (? . 0) q surface)) q (124552 . 9)) ((c def c (c (? . 0) q ticks-scale)) q (90788 . 4)) ((c def c (c (? . 11) q plot3d)) q (6534 . 3)) ((c def c (c (? . 0) q date-ticks-format)) q (85293 . 3)) ((c def c (c (? . 0) q struct:pre-tick)) c (? . 8)) ((c def c (c (? . 1) q digits-for-range)) q (91885 . 9)) ((c def c (c (? . 0) q rectangle-line-style)) q (113199 . 5)) ((c def c (c (? . 0) q contour-intervals)) q (30773 . 36)) ((c def c (c (? . 0) q contour-interval-line-styles)) q (112356 . 6)) ((c def c (c (? . 0) q isosurface-levels)) q (117505 . 6)) ((c def c (c (? . 0) q plot-y-label)) q (99156 . 5)) ((c def c (c (? . 0) q us-currency-scales)) q (88880 . 2)) ((c def c (c (? . 0) q contour-interval-line-widths)) q (112171 . 5)) ((c def c (c (? . 0) q point-pict)) q (42824 . 19)) ((c def c (c (? . 1) q linear-seq*)) q (93397 . 9)) ((c def c (c (? . 0) q label-anchor)) q (107123 . 5)) ((c def c (c (? . 1) q ->pen-color)) q (95149 . 3)) ((c def c (c (? . 0) q uk-currency-scales)) q (88957 . 2)) ((c def c (c (? . 0) q plot-x-tick-labels?)) q (103460 . 5)) ((c def c (c (? . 0) q lines)) q (13606 . 21)) ((c def c (c (? . 0) q line)) q (123127 . 17)) ((c def c (c (? . 1) q ->brush-color)) q (95234 . 3)) ((c def c (c (? . 0) q plot/dc)) q (5121 . 15)) ((c def c (c (? . 1) q floor-log/base)) q (95810 . 4)) ((c def c (c (? . 0) q plot-x-tick-label-angle)) q (102330 . 5)) ((c def c (c (? . 1) q vcenter)) q (97124 . 3)) ((c def c (c (? . 0) q plot3d-ambient-light)) q (100168 . 5)) ((c def c (c (? . 0) q make-axis-transform)) q (81858 . 3)) ((c def c (c (? . 0) q rectangle-color)) q (112554 . 5)) ((c def c (c (? . 0) q plot-y-tick-labels?)) q (103577 . 5)) ((c def c (c (? . 0) q plot-snip)) q (3127 . 3)) ((c def c (c (? . 0) q ticks-layout/c)) q (91123 . 2)) ((c def c (c (? . 0) q plot-y-far-tick-labels?)) q (103928 . 4)) ((c def c (c (? . 0) q contour-interval-line-colors)) q (111986 . 5)) ((c def c (c (? . 0) q point-x-jitter)) q (106561 . 5)) ((c def c (c (? . 1) q kde)) q (94167 . 7)) ((c def c (c (? . 0) q rectangle-line-width)) q (112937 . 5)) ((c def c (c (? . 0) q interval-line1-style)) q (105599 . 5)) ((c def c (c (? . 0) q plot-x-far-tick-label-anchor)) q (102048 . 5)) ((c def c (c (? . 0) q y-axis)) q (39637 . 11)) ((c def c (c (? . 0) q point-size)) q (106349 . 5)) ((c def c (c (? . 1) q real->decimal-string*)) q (92683 . 7)) ((c def c (c (? . 0) q polar-axes-number)) q (115801 . 5)) ((c def c (c (? . 0) q point-y-jitter)) q (106675 . 5)) ((c def c (c (? . 0) q date-ticks)) q (85424 . 5)) ((c def c (c (? . 0) q plot-y-ticks)) q (82336 . 5)) ((c def c (c (? . 0) q polar-axes-alpha)) q (116176 . 5)) ((c def c (c (? . 0) q contour-samples)) q (110406 . 5)) ((c def c (c (? . 0) q polar3d)) q (61864 . 31)) ((c def c (c (? . 0) q axis-transform/c)) q (81366 . 3)) ((c def c (c (? . 0) q y-axis-labels?)) q (115260 . 5)) ((c def c (c (? . 1) q plot-colors/c)) q (122140 . 4)) ((c def c (c (? . 0) q interval-style)) q (105222 . 5)) ((c def c (c (? . 0) q vector-field-line-width)) q (107956 . 5)) ((c def c (c (? . 0) q plot-jpeg-quality)) q (98621 . 5)) ((c def c (c (? . 1) q struct:plot-time)) c (? . 6)) ((c def c (c (? . 0) q plot-z-axis?)) q (103024 . 5)) ((c def c (c (? . 0) q function-label)) q (43798 . 32)) ((c def c (c (? . 0) q invertible-function-g)) c (? . 3)) ((c def c (c (? . 0) q plot-x-tick-label-anchor)) q (101784 . 5)) ((c def c (c (? . 12) q plot3d)) q (6753 . 3)) ((c def c (c (? . 0) q point-label3d)) q (78013 . 30)) ((c def c (c (? . 0) q plot-y-far-ticks)) q (82447 . 5)) ((c def c (c (? . 1) q linear-seq)) q (93037 . 11)) ((c def c (c (? . 0) q lines3d)) q (58054 . 25)) ((c def c (c (? . 0) q struct:tick)) c (? . 5)) ((c def c (c (? . 0) q error-bar-alpha)) q (109051 . 5)) ((c def c (c (? . 0) q log-ticks-format)) q (84848 . 3)) ((c def c (c (? . 4) q derivative)) q (130509 . 4)) ((c def c (c (? . 1) q plot-time-day)) c (? . 6)) ((c def c (c (? . 1) q real->string/trunc)) q (92592 . 4)) ((c def c (c (? . 0) q plot-legend-box-alpha)) q (101541 . 5)) ((c def c (c (? . 0) q plot3d/dc)) q (5755 . 15)) ((c def c (c (? . 0) q default-isosurface-line-colors)) q (117283 . 5)) ((c def c (c (? . 0) q y-ticks)) q (79619 . 4)) ((c def c (c (? . 0) q ticks?)) c (? . 9)) ((c def c (c (? . 0) q plot-new-window?)) q (98234 . 5)) ((c def c (c (? . 0) q time-ticks-layout)) q (86539 . 3)) ((c def c (c (? . 0) q plot-frame)) q (3367 . 3)) ((c def c (c (? . 0) q hand-drawn-transform)) q (81283 . 3)) ((c def c (c (? . 0) q discrete-histogram)) q (35226 . 36)) ((c def c (c (? . 1) q polar->cartesian)) q (95459 . 4)) ((c def c (c (? . 0) q parametric3d)) q (59066 . 31)) ((c def c (c (? . 4) q make-vec)) q (130777 . 5)) ((c def c (c (? . 0) q contour)) q (123808 . 12)) ((c def c (c (? . 0) q plot-z-far-tick-labels?)) q (104045 . 4)) ((c def c (c (? . 0) q plot-z-ticks)) q (82579 . 5)) ((c def c (c (? . 1) q renderer3d?)) q (118894 . 3)) ((c def c (c (? . 0) q plot-ps/pdf-interactive?)) q (98763 . 5)) ((c def c (c (? . 0) q stretch-transform)) q (81030 . 5)) ((c def c (c (? . 0) q currency-ticks)) q (88050 . 10)) ((c def c (c (? . 0) q isosurface-colors)) q (117718 . 5)) ((c def c (c (? . 0) q plot-z-far-label)) q (99678 . 5)) ((c def c (c (? . 0) q polar-axes)) q (40736 . 9)) ((c def c (c (? . 1) q v-)) q (96126 . 4)) ((c def c (c (? . 0) q stacked-histogram-styles)) q (114048 . 5)) ((c def c (c (? . 0) q ticks-format)) c (? . 9)) ((c def c (c (? . 0) q contour-colors)) q (110766 . 5)) ((c def c (c (? . 0) q interval-line2-width)) q (105864 . 5)) ((c def c (c (? . 0) q discrete-histogram3d)) q (73555 . 41)) ((c def c (c (? . 0) q invertible-compose)) q (91560 . 4)) ((c def c (c (? . 0) q vector-field-line-style)) q (108084 . 5)) ((c def c (c (? . 0) q plot-background-alpha)) q (100922 . 5)) ((c def c (c (? . 0) q plot-z-tick-labels?)) q (103694 . 5)) ((c def c (c (? . 0) q points)) q (6873 . 29)) ((c def c (c (? . 0) q vector-field)) q (8171 . 27)) ((c def c (c (? . 0) q no-ticks-format)) q (89480 . 2)) ((c def c (c (? . 0) q log-transform)) q (80989 . 2)) ((c def c (c (? . 0) q density)) q (16636 . 27)) ((c def c (? . 7)) q (54355 . 3)) ((c def c (c (? . 0) q linear-scale)) q (91780 . 4)) ((c def c (c (? . 0) q axis-transform-append)) q (81471 . 5)) ((c def c (c (? . 0) q 24h-descending-date-ticks-formats)) q (85819 . 18)) ((c def c (c (? . 0) q plot-foreground-alpha)) q (100788 . 5)) ((c def c (c (? . 0) q make-invertible-function)) c (? . 3)) ((c def c (c (? . 0) q hrule)) q (17751 . 17)) ((c def c (c (? . 0) q discrete-histogram-gap)) q (113468 . 5)) ((c def c (c (? . 0) q polar-label)) q (51666 . 31)) ((c def c (c (? . 1) q plot-time-second)) c (? . 6)) ((c def c (c (? . 1) q treeof)) q (119025 . 3)) ((c def c (c (? . 0) q parametric-pict)) q (50609 . 22))))
procedure
(plot  renderer-tree                 
      [#:x-min x-min                 
       #:x-max x-max                 
       #:y-min y-min                 
       #:y-max y-max                 
       #:width width                 
       #:height height               
       #:title title                 
       #:x-label x-label             
       #:y-label y-label             
       #:legend-anchor legend-anchor 
       #:out-file out-file           
       #:out-kind out-kind])         
 -> (or/c (is-a?/c snip%) void?)
  renderer-tree : (treeof (or/c renderer2d? nonrenderer?))
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  width : exact-positive-integer? = (plot-width)
  height : exact-positive-integer? = (plot-height)
  title : (or/c string? #f) = (plot-title)
  x-label : (or/c string? #f) = (plot-x-label)
  y-label : (or/c string? #f) = (plot-y-label)
  legend-anchor : anchor/c = (plot-legend-anchor)
  out-file : (or/c path-string? output-port? #f) = #f
  out-kind : (one-of/c 'auto 'png 'jpeg 'xmb 'xpm 'bmp 'ps 'pdf 'svg)
           = 'auto
procedure
(plot3d  renderer-tree                 
        [#:x-min x-min                 
         #:x-max x-max                 
         #:y-min y-min                 
         #:y-max y-max                 
         #:z-min z-min                 
         #:z-max z-max                 
         #:width width                 
         #:height height               
         #:angle angle                 
         #:altitude altitude           
         #:title title                 
         #:x-label x-label             
         #:y-label y-label             
         #:z-label z-label             
         #:legend-anchor legend-anchor 
         #:out-file out-file           
         #:out-kind out-kind])         
 -> (or/c (is-a?/c snip%) void?)
  renderer-tree : (treeof (or/c renderer3d? nonrenderer?))
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = #f
  z-max : (or/c rational? #f) = #f
  width : exact-positive-integer? = (plot-width)
  height : exact-positive-integer? = (plot-height)
  angle : real? = (plot3d-angle)
  altitude : real? = (plot3d-altitude)
  title : (or/c string? #f) = (plot-title)
  x-label : (or/c string? #f) = (plot-x-label)
  y-label : (or/c string? #f) = (plot-y-label)
  z-label : (or/c string? #f) = (plot-z-label)
  legend-anchor : anchor/c = (plot-legend-anchor)
  out-file : (or/c path-string? output-port? #f) = #f
  out-kind : (one-of/c 'auto 'png 'jpeg 'xmb 'xpm 'bmp 'ps 'pdf 'svg)
           = 'auto
procedure
(plot-snip <plot-argument> ...) -> (is-a?/c 2d-plot-snip%)
  <plot-argument> : <plot-argument-contract>
procedure
(plot3d-snip <plot-argument> ...) -> (is-a?/c snip%)
  <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 : (one-of/c 'auto 'png 'jpeg 'xmb 'xpm 'bmp 'ps 'pdf 'svg)
       = '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 : (one-of/c 'auto 'png 'jpeg 'xmb 'xpm 'bmp 'ps 'pdf 'svg)
       = 'auto
  <plot3d-keyword> : <plot3d-keyword-contract>
procedure
(plot-pict <plot-argument> ...) -> pict?
  <plot-argument> : <plot-argument-contract>
procedure
(plot3d-pict <plot3d-argument> ...) -> pict?
  <plot3d-argument> : <plot3d-argument-contract>
procedure
(plot-bitmap <plot-argument> ...) -> (is-a?/c bitmap%)
  <plot-argument> : <plot-argument-contract>
procedure
(plot3d-bitmap <plot3d-argument> ...) -> (is-a?/c bitmap%)
  <plot3d-argument> : <plot3d-argument-contract>
procedure
(plot/dc renderer-tree                            
         dc                                       
         x                                        
         y                                        
         width                                    
         height                                   
         #:<plot-keyword> <plot-keyword> ...) -> void?
  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> ...) -> void?
  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? #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? #f) = #f
procedure
(error-bars  bars                        
            [#:x-min x-min               
             #:x-max x-max               
             #:y-min y-min               
             #:y-max y-max               
             #:color color               
             #:line-width line-width     
             #:line-style line-style     
             #:width width               
             #:alpha alpha])         -> renderer2d?
  bars : (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)
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
(function  f                     
          [x-min                 
           x-max                 
           #:y-min y-min         
           #:y-max y-max         
           #:samples samples     
           #:color color         
           #:width width         
           #:style style         
           #:alpha alpha         
           #:label label])   -> renderer2d?
  f : (real? . -> . real?)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (line-samples)
  color : plot-color/c = (line-color)
  width : (>=/c 0) = (line-width)
  style : plot-pen-style/c = (line-style)
  alpha : (real-in 0 1) = (line-alpha)
  label : (or/c string? #f) = #f
procedure
(inverse  f                     
         [y-min                 
          y-max                 
          #:x-min x-min         
          #:x-max x-max         
          #:samples samples     
          #:color color         
          #:width width         
          #:style style         
          #:alpha alpha         
          #:label label])   -> renderer2d?
  f : (real? . -> . real?)
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (line-samples)
  color : plot-color/c = (line-color)
  width : (>=/c 0) = (line-width)
  style : plot-pen-style/c = (line-style)
  alpha : (real-in 0 1) = (line-alpha)
  label : (or/c string? #f) = #f
procedure
(lines  vs                  
       [#:x-min x-min       
        #:x-max x-max       
        #:y-min y-min       
        #:y-max y-max       
        #:color color       
        #:width width       
        #:style style       
        #:alpha alpha       
        #:label label]) -> renderer2d?
  vs : (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)
  label : (or/c string? #f) = #f
procedure
(parametric  f                     
             t-min                 
             t-max                 
            [#:x-min x-min         
             #:x-max x-max         
             #:y-min y-min         
             #:y-max y-max         
             #:samples samples     
             #:color color         
             #:width width         
             #:style style         
             #:alpha alpha         
             #:label label])   -> renderer2d?
  f : (real? . -> . (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? #f) = #f
procedure
(polar  f                     
       [θ-min                 
        θ-max                 
        #:x-min x-min         
        #:x-max x-max         
        #:y-min y-min         
        #:y-max y-max         
        #:samples samples     
        #:color color         
        #:width width         
        #:style style         
        #:alpha alpha         
        #:label label])   -> renderer2d?
  f : (real? . -> . real?)
  θ-min : real? = 0
  θ-max : real? = (* 2 pi)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (line-samples)
  color : plot-color/c = (line-color)
  width : (>=/c 0) = (line-width)
  style : plot-pen-style/c = (line-style)
  alpha : (real-in 0 1) = (line-alpha)
  label : (or/c string? #f) = #f
procedure
(density  xs                    
         [bw-adjust             
          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? #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? #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? #f) = #f
procedure
(function-interval  f1                            
                    f2                            
                   [x-min                         
                    x-max                         
                    #:y-min y-min                 
                    #:y-max y-max                 
                    #:samples samples             
                    #:color color                 
                    #:style style                 
                    #:line1-color line1-color     
                    #:line1-width line1-width     
                    #:line1-style line1-style     
                    #:line2-color line2-color     
                    #:line2-width line2-width     
                    #:line2-style line2-style     
                    #:alpha alpha                 
                    #:label label])           -> renderer2d?
  f1 : (real? . -> . real?)
  f2 : (real? . -> . real?)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (line-samples)
  color : plot-color/c = (interval-color)
  style : plot-brush-style/c = (interval-style)
  line1-color : plot-color/c = (interval-line1-color)
  line1-width : (>=/c 0) = (interval-line1-width)
  line1-style : plot-pen-style/c = (interval-line1-style)
  line2-color : plot-color/c = (interval-line2-color)
  line2-width : (>=/c 0) = (interval-line2-width)
  line2-style : plot-pen-style/c = (interval-line2-style)
  alpha : (real-in 0 1) = (interval-alpha)
  label : (or/c string? #f) = #f
procedure
(inverse-interval  f1                            
                   f2                            
                  [y-min                         
                   y-max                         
                   #:x-min x-min                 
                   #:x-max x-max                 
                   #:samples samples             
                   #:color color                 
                   #:style style                 
                   #:line1-color line1-color     
                   #:line1-width line1-width     
                   #:line1-style line1-style     
                   #:line2-color line2-color     
                   #:line2-width line2-width     
                   #:line2-style line2-style     
                   #:alpha alpha                 
                   #:label label])           -> renderer2d?
  f1 : (real? . -> . real?)
  f2 : (real? . -> . real?)
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (line-samples)
  color : plot-color/c = (interval-color)
  style : plot-brush-style/c = (interval-style)
  line1-color : plot-color/c = (interval-line1-color)
  line1-width : (>=/c 0) = (interval-line1-width)
  line1-style : plot-pen-style/c = (interval-line1-style)
  line2-color : plot-color/c = (interval-line2-color)
  line2-width : (>=/c 0) = (interval-line2-width)
  line2-style : plot-pen-style/c = (interval-line2-style)
  alpha : (real-in 0 1) = (interval-alpha)
  label : (or/c string? #f) = #f
procedure
(lines-interval  v1s                           
                 v2s                           
                [#:x-min x-min                 
                 #:x-max x-max                 
                 #:y-min y-min                 
                 #:y-max y-max                 
                 #:color color                 
                 #:style style                 
                 #:line1-color line1-color     
                 #:line1-width line1-width     
                 #:line1-style line1-style     
                 #:line2-color line2-color     
                 #:line2-width line2-width     
                 #:line2-style line2-style     
                 #:alpha alpha                 
                 #:label label])           -> renderer2d?
  v1s : (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? #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? #f) = #f
procedure
(polar-interval  f1                            
                 f2                            
                [θ-min                         
                 θ-max                         
                 #:x-min x-min                 
                 #:x-max x-max                 
                 #:y-min y-min                 
                 #:y-max y-max                 
                 #:samples samples             
                 #:color color                 
                 #:style style                 
                 #:line1-color line1-color     
                 #:line1-width line1-width     
                 #:line1-style line1-style     
                 #:line2-color line2-color     
                 #:line2-width line2-width     
                 #:line2-style line2-style     
                 #:alpha alpha                 
                 #:label label])           -> renderer2d?
  f1 : (real? . -> . real?)
  f2 : (real? . -> . real?)
  θ-min : rational? = 0
  θ-max : rational? = (* 2 pi)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (line-samples)
  color : plot-color/c = (interval-color)
  style : plot-brush-style/c = (interval-style)
  line1-color : plot-color/c = (interval-line1-color)
  line1-width : (>=/c 0) = (interval-line1-width)
  line1-style : plot-pen-style/c = (interval-line1-style)
  line2-color : plot-color/c = (interval-line2-color)
  line2-width : (>=/c 0) = (interval-line2-width)
  line2-style : plot-pen-style/c = (interval-line2-style)
  alpha : (real-in 0 1) = (interval-alpha)
  label : (or/c string? #f) = #f
procedure
(isoline  f                     
          z                     
         [x-min                 
          x-max                 
          y-min                 
          y-max                 
          #:samples samples     
          #:color color         
          #:width width         
          #:style style         
          #:alpha alpha         
          #:label label])   -> renderer2d?
  f : (real? real? . -> . real?)
  z : real?
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (contour-samples)
  color : plot-color/c = (line-color)
  width : (>=/c 0) = (line-width)
  style : plot-pen-style/c = (line-style)
  alpha : (real-in 0 1) = (line-alpha)
  label : (or/c string? #f) = #f
procedure
(contours  f                     
          [x-min                 
           x-max                 
           y-min                 
           y-max                 
           #:samples samples     
           #:levels levels       
           #:colors colors       
           #:widths widths       
           #:styles styles       
           #:alphas alphas       
           #:label label])   -> renderer2d?
  f : (real? real? . -> . real?)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (contour-samples)
  levels : (or/c 'auto exact-positive-integer? (listof real?))
         = (contour-levels)
  colors : (plot-colors/c (listof real?)) = (contour-colors)
  widths : (pen-widths/c (listof real?)) = (contour-widths)
  styles : (plot-pen-styles/c (listof real?)) = (contour-styles)
  alphas : (alphas/c (listof real?)) = (contour-alphas)
  label : (or/c string? #f) = #f
procedure
(contour-intervals  f                               
                   [x-min                           
                    x-max                           
                    y-min                           
                    y-max                           
                    #:samples samples               
                    #:levels levels                 
                    #:colors colors                 
                    #:styles styles                 
                    #:contour-colors contour-colors 
                    #:contour-widths contour-widths 
                    #:contour-styles contour-styles 
                    #:alphas alphas                 
                    #:label label])                 
 -> renderer2d?
  f : (real? real? . -> . real?)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (contour-samples)
  levels : (or/c 'auto exact-positive-integer? (listof real?))
         = (contour-levels)
  colors : (plot-colors/c (listof ivl?))
         = (contour-interval-colors)
  styles : (plot-brush-styles/c (listof ivl?))
         = (contour-interval-styles)
  contour-colors : (plot-colors/c (listof real?))
                 = (contour-colors)
  contour-widths : (pen-widths/c (listof real?))
                 = (contour-widths)
  contour-styles : (plot-pen-styles/c (listof real?))
                 = (contour-styles)
  alphas : (alphas/c (listof ivl?)) = (contour-interval-alphas)
  label : (or/c string? #f) = #f
procedure
(rectangles  rects                       
            [#:x-min x-min               
             #:x-max x-max               
             #:y-min y-min               
             #:y-max y-max               
             #:color color               
             #:style style               
             #:line-color line-color     
             #:line-width line-width     
             #:line-style line-style     
             #:alpha alpha               
             #:label label])         -> renderer2d?
  rects : (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? #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? #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? #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
(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? #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? #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? #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? #f) = #f
procedure
(surface3d  f                           
           [x-min                       
            x-max                       
            y-min                       
            y-max                       
            #:z-min z-min               
            #:z-max z-max               
            #:samples samples           
            #:color color               
            #:style style               
            #:line-color line-color     
            #:line-width line-width     
            #:line-style line-style     
            #:alpha alpha               
            #:label label])         -> renderer3d?
  f : (real? real? . -> . real?)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = #f
  z-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (plot3d-samples)
  color : plot-color/c = (surface-color)
  style : plot-brush-style/c = (surface-style)
  line-color : plot-color/c = (surface-line-color)
  line-width : (>=/c 0) = (surface-line-width)
  line-style : plot-pen-style/c = (surface-line-style)
  alpha : (real-in 0 1) = (surface-alpha)
  label : (or/c string? #f) = #f
procedure
(polar3d  f                           
         [#:x-min x-min               
          #:x-max x-max               
          #:y-min y-min               
          #:y-max y-max               
          #:z-min z-min               
          #:z-max z-max               
          #:samples samples           
          #:color color               
          #:style style               
          #:line-color line-color     
          #:line-width line-width     
          #:line-style line-style     
          #:alpha alpha               
          #:label label])         -> renderer3d?
  f : (real? real? . -> . real?)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = #f
  z-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (plot3d-samples)
  color : plot-color/c = (surface-color)
  style : plot-brush-style/c = (surface-style)
  line-color : plot-color/c = (surface-line-color)
  line-width : (>=/c 0) = (surface-line-width)
  line-style : plot-pen-style/c = (surface-line-style)
  alpha : (real-in 0 1) = (surface-alpha)
  label : (or/c string? #f) = #f
procedure
(isoline3d  f                     
            z                     
           [x-min                 
            x-max                 
            y-min                 
            y-max                 
            #:z-min z-min         
            #:z-max z-max         
            #:samples samples     
            #:color color         
            #:width width         
            #:style style         
            #:alpha alpha         
            #:label label])   -> renderer3d?
  f : (real? real? . -> . real?)
  z : real?
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = #f
  z-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (plot3d-samples)
  color : plot-color/c = (line-color)
  width : (>=/c 0) = (line-width)
  style : plot-pen-style/c = (line-style)
  alpha : (real-in 0 1) = (line-alpha)
  label : (or/c string? #f) = #f
procedure
(contours3d  f                     
            [x-min                 
             x-max                 
             y-min                 
             y-max                 
             #:z-min z-min         
             #:z-max z-max         
             #:samples samples     
             #:levels levels       
             #:colors colors       
             #:widths widths       
             #:styles styles       
             #:alphas alphas       
             #:label label])   -> renderer3d?
  f : (real? real? . -> . real?)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = #f
  z-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (plot3d-samples)
  levels : (or/c 'auto exact-positive-integer? (listof real?))
         = (contour-levels)
  colors : (plot-colors/c (listof real?)) = (contour-colors)
  widths : (pen-widths/c (listof real?)) = (contour-widths)
  styles : (plot-pen-styles/c (listof real?)) = (contour-styles)
  alphas : (alphas/c (listof real?)) = (contour-alphas)
  label : (or/c string? #f) = #f
procedure
(contour-intervals3d  f                               
                     [x-min                           
                      x-max                           
                      y-min                           
                      y-max                           
                      #:z-min z-min                   
                      #:z-max z-max                   
                      #:samples samples               
                      #:levels levels                 
                      #:colors colors                 
                      #:styles styles                 
                      #:line-colors line-colors       
                      #:line-widths line-widths       
                      #:line-styles line-styles       
                      #:contour-colors contour-colors 
                      #:contour-widths contour-widths 
                      #:contour-styles contour-styles 
                      #:alphas alphas                 
                      #:label label])                 
 -> renderer3d?
  f : (real? real? . -> . real?)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = #f
  z-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (plot3d-samples)
  levels : (or/c 'auto exact-positive-integer? (listof real?))
         = (contour-levels)
  colors : (plot-colors/c (listof ivl?))
         = (contour-interval-colors)
  styles : (plot-brush-styles/c (listof ivl?))
         = (contour-interval-styles)
  line-colors : (plot-colors/c (listof ivl?))
              = (contour-interval-line-colors)
  line-widths : (pen-widths/c (listof ivl?))
              = (contour-interval-line-widths)
  line-styles : (plot-pen-styles/c (listof ivl?))
              = (contour-interval-line-styles)
  contour-colors : (plot-colors/c (listof real?))
                 = (contour-colors)
  contour-widths : (pen-widths/c (listof real?))
                 = (contour-widths)
  contour-styles : (plot-pen-styles/c (listof real?))
                 = (contour-styles)
  alphas : (alphas/c (listof ivl?)) = (contour-interval-alphas)
  label : (or/c string? #f) = #f
procedure
(isosurface3d  f                           
               d                           
              [x-min                       
               x-max                       
               y-min                       
               y-max                       
               z-min                       
               z-max                       
               #:samples samples           
               #:color color               
               #:style style               
               #:line-color line-color     
               #:line-width line-width     
               #:line-style line-style     
               #:alpha alpha               
               #:label label])         -> renderer3d?
  f : (real? real? real? . -> . real?)
  d : rational?
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = #f
  z-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (plot3d-samples)
  color : plot-color/c = (surface-color)
  style : plot-brush-style/c = (surface-style)
  line-color : plot-color/c = (surface-line-color)
  line-width : (>=/c 0) = (surface-line-width)
  line-style : plot-pen-style/c = (surface-line-style)
  alpha : (real-in 0 1) = (surface-alpha)
  label : (or/c string? #f) = #f
procedure
(isosurfaces3d  f                             
               [x-min                         
                x-max                         
                y-min                         
                y-max                         
                z-min                         
                z-max                         
                #:d-min d-min                 
                #:d-max d-max                 
                #:samples samples             
                #:levels levels               
                #:colors colors               
                #:styles styles               
                #:line-colors line-colors     
                #:line-widths line-widths     
                #:line-styles line-styles     
                #:alphas alphas               
                #:label label])           -> renderer3d?
  f : (real? real? real? . -> . real?)
  x-min : (or/c rational? #f) = #f
  x-max : (or/c rational? #f) = #f
  y-min : (or/c rational? #f) = #f
  y-max : (or/c rational? #f) = #f
  z-min : (or/c rational? #f) = #f
  z-max : (or/c rational? #f) = #f
  d-min : (or/c rational? #f) = #f
  d-max : (or/c rational? #f) = #f
  samples : (and/c exact-integer? (>=/c 2)) = (plot3d-samples)
  levels : (or/c 'auto exact-positive-integer? (listof real?))
         = (isosurface-levels)
  colors : (plot-colors/c (listof real?)) = (isosurface-colors)
  styles : (plot-brush-styles/c (listof real?))
         = (isosurface-styles)
  line-colors : (plot-colors/c (listof real?))
              = (isosurface-line-colors)
  line-widths : (pen-widths/c (listof real?))
              = (isosurface-line-widths)
  line-styles : (plot-pen-styles/c (listof real?))
              = (isosurface-line-styles)
  alphas : (alphas/c (listof real?)) = (isosurface-alphas)
  label : (or/c string? #f) = #f
procedure
(rectangles3d  rects                       
              [#:x-min x-min               
               #:x-max x-max               
               #:y-min y-min               
               #:y-max y-max               
               #:z-min z-min               
               #:z-max z-max               
               #:color color               
               #:style style               
               #:line-color line-color     
               #:line-width line-width     
               #:line-style line-style     
               #:alpha alpha               
               #:label label])         -> renderer3d?
  rects : (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? #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? #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]) -> ticks-layout/c
  number : exact-positive-integer? = (ticks-default-number)
  base : (and/c exact-integer? (>=/c 2)) = 10
  divisors : (listof exact-positive-integer?) = '(1 2 4 5)
procedure
(linear-ticks-format) -> ticks-format/c
procedure
(linear-ticks [#:number number           
               #:base base               
               #:divisors divisors]) -> ticks?
  number : exact-positive-integer? = (ticks-default-number)
  base : (and/c exact-integer? (>=/c 2)) = 10
  divisors : (listof exact-positive-integer?) = '(1 2 4 5)
procedure
(log-ticks-layout [#:number number     
                   #:base base])   -> ticks-layout/c
  number : exact-positive-integer? = (ticks-default-number)
  base : (and/c exact-integer? (>=/c 2)) = 10
procedure
(log-ticks-format [#:base base]) -> ticks-format/c
  base : (and/c exact-integer? (>=/c 2)) = 10
procedure
(log-ticks [#:number number #:base base]) -> ticks?
  number : exact-positive-integer? = (ticks-default-number)
  base : (and/c exact-integer? (>=/c 2)) = 10
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
(color-seq  c1              
            c2              
            num             
           [#:start? start? 
            #:end? end?])   
 -> (listof (list/c real? real? real?))
  c1 : color/c
  c2 : color/c
  num : exact-nonnegative-integer?
  start? : boolean? = #t
  end? : boolean? = #t
procedure
(color-seq*  colors          
             num             
            [#:start? start? 
             #:end? end?])   
 -> (listof (list/c real? real? real?))
  colors : (listof color/c)
  num : exact-nonnegative-integer?
  start? : boolean? = #t
  end? : boolean? = #t
procedure
(->color c) -> (list/c real? real? real?)
  c : color/c
procedure
(->pen-color c) -> (list/c real? real? real?)
  c : plot-color/c
procedure
(->brush-color c) -> (list/c real? real? real?)
  c : plot-color/c
procedure
(->pen-style s) -> symbol?
  s : plot-pen-style/c
procedure
(->brush-style s) -> symbol?
  s : plot-brush-style/c
procedure
(polar->cartesian θ r) -> (vector/c real? real?)
  θ : real?
  r : real?
procedure
(3d-polar->3d-cartesian θ ρ r) -> (vector/c real? real? real?)
  θ : real?
  ρ : real?
  r : real?
procedure
(ceiling-log/base b x) -> exact-integer?
  b : (and/c exact-integer? (>=/c 2))
  x : (>/c 0)
procedure
(floor-log/base b x) -> exact-integer?
  b : (and/c exact-integer? (>=/c 2))
  x : (>/c 0)
procedure
(maybe-inexact->exact x) -> (or/c rational? #f)
  x : (or/c rational? #f)
procedure
(v+ v1 v2) -> (vectorof real?)
  v1 : (vectorof real?)
  v2 : (vectorof real?)
procedure
(v- v1 v2) -> (vectorof real?)
  v1 : (vectorof real?)
  v2 : (vectorof real?)
procedure
(vneg v) -> (vectorof real?)
  v : (vectorof real?)
procedure
(v* v c) -> (vectorof real?)
  v : (vectorof real?)
  c : real?
procedure
(v/ v c) -> (vectorof real?)
  v : (vectorof real?)
  c : real?
procedure
(v= v1 v2) -> boolean?
  v1 : (vectorof real?)
  v2 : (vectorof real?)
procedure
(vcross v1 v2) -> (vector/c real? real? real?)
  v1 : (vector/c real? real? real?)
  v2 : (vector/c real? real? real?)
procedure
(vcross2 v1 v2) -> real?
  v1 : (vector/c real? real?)
  v2 : (vector/c real? real?)
procedure
(vdot v1 v2) -> real?
  v1 : (vectorof real?)
  v2 : (vectorof real?)
procedure
(vmag^2 v) -> real?
  v : (vectorof real?)
procedure
(vmag v) -> real?
  v : (vectorof real?)
procedure
(vnormalize v) -> (vectorof real?)
  v : (vectorof real?)
procedure
(vcenter vs) -> (vectorof real?)
  vs : (listof (vectorof real?))
procedure
(vrational? v) -> boolean?
  v : (vectorof real?)
struct
(struct ivl (min max)
    #:extra-constructor-name make-ivl)
  min : real?
  max : real?
procedure
(rational-ivl? i) -> boolean?
  i : any/c
procedure
(bounds->intervals xs) -> (listof ivl?)
  xs : (listof real?)
procedure
(clamp-real x i) -> real?
  x : real?
  i : ivl?
procedure
(datetime->real x) -> real?
  x : (or/c plot-time? date? date*? sql-date? sql-time? sql-timestamp?)
struct
(struct plot-time (second minute hour day)
    #:extra-constructor-name make-plot-time)
  second : (and/c (>=/c 0) (</c 60))
  minute : (integer-in 0 59)
  hour : (integer-in 0 23)
  day : exact-integer?
procedure
(plot-time->seconds t) -> real?
  t : plot-time?
procedure
(seconds->plot-time s) -> plot-time?
  s : real?
parameter
(plot-deprecation-warnings?) -> boolean?
(plot-deprecation-warnings? warnings) -> void?
  warnings : boolean?
 = #f
parameter
(plot-new-window?) -> boolean?
(plot-new-window? 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-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-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-anchor) -> anchor/c
(plot-legend-anchor anchor) -> void?
  anchor : anchor/c
 = 'top-left
parameter
(plot-legend-box-alpha) -> (real-in 0 1)
(plot-legend-box-alpha alpha) -> void?
  alpha : (real-in 0 1)
 = 2/3
parameter
(plot-tick-size) -> (>=/c 0)
(plot-tick-size size) -> void?
  size : (>=/c 0)
 = 10
parameter
(plot-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
(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-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
(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
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
color/c : contract?
 = (or/c (list/c real? real? real?)
         string? symbol?
         (is-a?/c color%))
value
plot-color/c : contract? = (or/c exact-integer? color/c)
value
plot-pen-style/c : contract?
 = (or/c exact-integer?
         (one-of/c 'transparent 'solid    'dot 'long-dash
                   'short-dash  'dot-dash))
value
plot-brush-style/c : contract?
 = (or/c exact-integer?
         (one-of/c 'transparent      'solid
                   'bdiagonal-hatch  'fdiagonal-hatch 'crossdiag-hatch
                   'horizontal-hatch 'vertical-hatch  'cross-hatch))
value
font-family/c : 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)
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? #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? = #i1e-06
procedure
(gradient f [h])
 -> (-> (vector/c real? real?) (vector/c real? real?))
  f : (-> real? real? real?)
  h : real? = #i1e-06
procedure
(make-vec fx fy)
 -> (-> (vector/c real? real?) (vector/c real? real?))
  fx : (-> real? real? real?)
  fy : (-> real? real? real?)
