From 890356f397603117ad4ff90e0ecaa80bcdc36b80 Mon Sep 17 00:00:00 2001 From: Alex Harsanyi Date: Sat, 22 Aug 2020 06:58:23 +0800 Subject: [PATCH] Allow pictures to be used as title and axis labels in plots Updated the 2D and 3D plot procedures to accept a picture (from the pict library) or a string as the label for the `#:title` and`#:{x,y,z}-label`` keywords, as well as the corresponing parameters, `plot-title` and `plot-{x,y,z}-label`. The original request was to allow LaTeX notation for the labels, this changeset will enable doing that (and more) by installing the additional `latex-pict` package and using the pictures produced by that package as labels. The folowing caveats apply for the implementation: * the label position for the Y axis **is not** rotated when it is a picture, only when it is a string. This was done to allow full flexibility to users who chose to use pictures -- they can easily rotate the picture themselves. If the picture would be rotated by the plot package, the user might have to supply a rotated picture to have a horizontal picture for the y label, and this would result in a double rotation -- depending on the type of graphics used for the picture, this might create undesirable artifacts. * the font used for axis labels and title determines the gap between the label and the plot area and axis themselves. A bug was fixed, where passing incorect parameters to plot procedure could cause Racket to crash, an explanation for the fix is put as a comment in the "plot-gui-lib/plot/private/gui/plot2d.rkt" file. See also: * https://github.com/racket/plot/issues/58 * https://github.com/racket/racket/issues/3321 * https://github.com/racket/plot/pull/64 --- .github/workflows/ci.yml | 3 + plot-doc/plot/scribblings/plotting.scrbl | 18 +- plot-gui-lib/plot/private/gui/plot2d.rkt | 226 +++++++++++------- plot-gui-lib/plot/private/gui/plot3d.rkt | 101 +++++--- plot-lib/plot/private/common/draw.rkt | 11 +- .../plot/private/common/parameter-groups.rkt | 15 +- plot-lib/plot/private/common/parameters.rkt | 15 +- plot-lib/plot/private/common/plot-device.rkt | 2 +- plot-lib/plot/private/common/types.rkt | 2 +- .../plot/private/no-gui/plot2d-untyped.rkt | 18 +- plot-lib/plot/private/no-gui/plot2d.rkt | 25 +- .../plot/private/no-gui/plot3d-untyped.rkt | 9 +- plot-lib/plot/private/no-gui/plot3d.rkt | 33 +-- plot-lib/plot/private/plot2d/plot-area.rkt | 38 ++- plot-lib/plot/private/plot3d/plot-area.rkt | 11 +- plot-test/plot/tests/PRs/58.rkt | 42 +++- .../plot/tests/PRs/test-data/pr58-2d-t.dat | Bin 0 -> 12736 bytes .../plot/tests/PRs/test-data/pr58-2d-t.png | Bin 0 -> 43610 bytes .../plot/tests/PRs/test-data/pr58-3d-t.dat | Bin 0 -> 64428 bytes .../plot/tests/PRs/test-data/pr58-3d-t.png | Bin 0 -> 87538 bytes 20 files changed, 368 insertions(+), 201 deletions(-) create mode 100644 plot-test/plot/tests/PRs/test-data/pr58-2d-t.dat create mode 100644 plot-test/plot/tests/PRs/test-data/pr58-2d-t.png create mode 100644 plot-test/plot/tests/PRs/test-data/pr58-3d-t.dat create mode 100644 plot-test/plot/tests/PRs/test-data/pr58-3d-t.png diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9c230963..6cbc409d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,6 +5,9 @@ jobs: name: "Build on Racket '${{ matrix.racket-version }}' (${{ matrix.racket-variant }})" runs-on: ubuntu-latest strategy: + # Let all jobs run to completion -- this will allow us to determine if + # the failure is specific to a Racket version. + fail-fast: false matrix: racket-version: ["7.8", "current"] racket-variant: ["regular", "CS"] diff --git a/plot-doc/plot/scribblings/plotting.scrbl b/plot-doc/plot/scribblings/plotting.scrbl index a376ea86..cd95b841 100644 --- a/plot-doc/plot/scribblings/plotting.scrbl +++ b/plot-doc/plot/scribblings/plotting.scrbl @@ -25,9 +25,9 @@ Each 3D plotting procedure behaves the same way as its corresponding 2D procedur [#:y-min y-min (or/c rational? #f) #f] [#:y-max y-max (or/c rational? #f) #f] [#:width width exact-positive-integer? (plot-width)] [#:height height exact-positive-integer? (plot-height)] - [#:title title (or/c string? #f) (plot-title)] - [#:x-label x-label (or/c string? #f) (plot-x-label)] - [#:y-label y-label (or/c string? #f) (plot-y-label)] + [#:title title (or/c string? pict? #f) (plot-title)] + [#:x-label x-label (or/c string? pict? #f) (plot-x-label)] + [#:y-label y-label (or/c string? pict? #f) (plot-y-label)] [#:legend-anchor legend-anchor anchor/c (plot-legend-anchor)] [#:out-file out-file (or/c path-string? output-port? #f) #f] [#:out-kind out-kind plot-file-format/c 'auto] @@ -60,6 +60,8 @@ Here, the renderer draws in [-1,1] × [-1,1], but the plot area is [-1.5,1.5] × @bold{Deprecated keywords.} The @(racket #:fgcolor) and @(racket #:bgcolor) keyword arguments are currently supported for backward compatibility, but may not be in the future. Please set the @(racket plot-foreground) and @(racket plot-background) parameters instead of using these keyword arguments. The @(racket #:lncolor) keyword argument is also accepted for backward compatibility but deprecated. It does nothing. + +@history[#:changed "7.9" "Added support for pictures for #:title, #:x-label and #:y-label"] } @defproc[(plot3d [renderer-tree (treeof (or/c renderer3d? nonrenderer?))] @@ -70,10 +72,10 @@ The @(racket #:lncolor) keyword argument is also accepted for backward compatibi [#:height height exact-positive-integer? (plot-height)] [#:angle angle real? (plot3d-angle)] [#:altitude altitude real? (plot3d-altitude)] - [#:title title (or/c string? #f) (plot-title)] - [#:x-label x-label (or/c string? #f) (plot-x-label)] - [#:y-label y-label (or/c string? #f) (plot-y-label)] - [#:z-label z-label (or/c string? #f) (plot-z-label)] + [#:title title (or/c string? pict? #f) (plot-title)] + [#:x-label x-label (or/c string? pict? #f) (plot-x-label)] + [#:y-label y-label (or/c string? pict? #f) (plot-y-label)] + [#:z-label z-label (or/c string? pict? #f) (plot-z-label)] [#:legend-anchor legend-anchor anchor/c (plot-legend-anchor)] [#:out-file out-file (or/c path-string? output-port? #f) #f] [#:out-kind out-kind plot-file-format/c 'auto] @@ -91,6 +93,8 @@ Please set the @(racket plot-foreground) and @(racket plot-background) parameter The @(racket #:lncolor) keyword argument is also accepted for backward compatibility but deprecated. It does nothing. The @(racket #:az) and @(racket #:alt) keyword arguments are backward-compatible, deprecated aliases for @(racket #:angle) and @(racket #:altitude), respectively. + +@history[#:changed "7.9" "Added support for pictures for #:title, #:x-label, #:y-label and #:z-label"] } @defproc[(plot-snip [ ] ...) diff --git a/plot-gui-lib/plot/private/gui/plot2d.rkt b/plot-gui-lib/plot/private/gui/plot2d.rkt index ec12801d..88344f6c 100644 --- a/plot-gui-lib/plot/private/gui/plot2d.rkt +++ b/plot-gui-lib/plot/private/gui/plot2d.rkt @@ -1,8 +1,38 @@ -#lang typed/racket/base +#lang typed/racket/base #:no-optimize + +;;;; About `#:no-optimize` and `unsafe-provide` + +;; This file provides the toplevel plot functions for 2D plotting and there +;; are two peculiarities in this file: the use of `#:no-optimize` and using +;; `unsafe-provide` to export the symbols. +;; +;; The plot library is written in Typed Racket (TR), but needs to be usable +;; from Racket. TR will attach contracts to all functions it exports (as well +;; as values those functions return) to ensure the values for the parameters +;; are correct when these functions are called from Racket. Unfortunately, +;; when returning the snips for the plots, the attached contracts to the snip +;; interface will slow down interactive programs significantly. To avoid this +;; problem, the plot functions are exported using `unsafe-provide`, which will +;; tell TR to not create contracts for the function parameters and return +;; values. +;; +;; Using `unsafe-provide` leaves the functions vulnerable to bad parameter +;; passing: TR will still assume the parameters have valid values, and will +;; not perform any other checks, which can result in a crash (segmentation +;; fault). To mitigate this problem, there is code inside each plot function +;; to verify that the parameters are correct. Unfortunately, TR will also +;; notice that those checks are redundant (since it knows the types for the +;; parameters) and will remove this parameter verification code during the +;; optimization phase. To prevent this removal, optimizations are disabled in +;; this file using the #:no-optimize line above. +;; +;; The #:no-optimize only applies to this file, which is the "entry point" of +;; the plot package, so the rest of the plot package remains optimized. (require (only-in typed/mred/mred Snip% Frame%) (only-in racket/gui/base get-display-backing-scale) typed/racket/draw typed/racket/class racket/match + (only-in typed/pict pict pict?) plot/utils plot/private/common/parameter-group plot/private/common/draw @@ -33,9 +63,9 @@ #:y-min (U Real #f) #:y-max (U Real #f) #:width Positive-Integer #:height Positive-Integer - #:title (U String #f) - #:x-label (U String #f) - #:y-label (U String #f) + #:title (U String pict #f) + #:x-label (U String pict #f) + #:y-label (U String pict #f) #:legend-anchor Anchor] (Instance Snip%))) (define (plot-snip renderer-tree @@ -49,43 +79,50 @@ #:legend-anchor [legend-anchor (plot-legend-anchor)]) (define fail/kw (make-raise-keyword-error 'plot-snip)) (cond + ;; check arguments, see note at the top of this file [(and x-min (not (rational? x-min))) (fail/kw "#f or rational" '#:x-min x-min)] [(and x-max (not (rational? x-max))) (fail/kw "#f or rational" '#:x-max x-max)] [(and y-min (not (rational? y-min))) (fail/kw "#f or rational" '#:y-min y-min)] [(and y-max (not (rational? y-max))) (fail/kw "#f or rational" '#:y-max y-max)] - [else - (parameterize ([plot-title title] - [plot-x-label x-label] - [plot-y-label y-label] - [plot-legend-anchor legend-anchor]) - (define saved-plot-parameters (plot-parameters)) - (define renderer-list (get-renderer-list renderer-tree)) - (define bounds-rect (get-bounds-rect renderer-list x-min x-max y-min y-max)) - - (: make-bm (-> Boolean Rect Positive-Integer Positive-Integer - (Values (Instance Bitmap%) (U #f (Instance 2D-Plot-Area%))))) - (define (make-bm anim? bounds-rect width height) - (: area (U #f (Instance 2D-Plot-Area%))) - (define area #f) - (define bm (make-bitmap - width height #t - #:backing-scale (or (get-display-backing-scale) 1.0))) - (parameterize/group ([plot-parameters saved-plot-parameters] - [plot-animating? (if anim? #t (plot-animating?))]) - (define dc (make-object bitmap-dc% bm)) - (define-values (x-ticks x-far-ticks y-ticks y-far-ticks) - (get-ticks renderer-list bounds-rect)) - (define new-area - (make-object 2d-plot-area% - bounds-rect x-ticks x-far-ticks y-ticks y-far-ticks - dc 0 0 width height)) - (set! area new-area) - (plot-area new-area renderer-list)) - (values bm area)) - - (define-values (bm area) (make-bm #f bounds-rect width height)) - - (make-2d-plot-snip bm saved-plot-parameters make-bm bounds-rect area width height))])) + [(not (and (integer? width) (positive? width))) (fail/kw "positive integer" '#:width width)] + [(not (and (integer? height) (positive? height))) (fail/kw "positive integer" '#:height height)] + [(and title (not (or (string? title) (pict? title)))) (fail/kw "#f, string or pict" '#:title title)] + [(and x-label (not (or (string? x-label) (pict? x-label)))) (fail/kw "#f, string or pict" '#:x-label x-label)] + [(and y-label (not (or (string? y-label) (pict? y-label)))) (fail/kw "#f, string or pict" '#:y-label y-label)] + [(not (anchor/c legend-anchor)) (fail/kw "anchor/c" '#:legend-anchor legend-anchor)]) + + (parameterize ([plot-title title] + [plot-x-label x-label] + [plot-y-label y-label] + [plot-legend-anchor legend-anchor]) + (define saved-plot-parameters (plot-parameters)) + (define renderer-list (get-renderer-list renderer-tree)) + (define bounds-rect (get-bounds-rect renderer-list x-min x-max y-min y-max)) + + (: make-bm (-> Boolean Rect Positive-Integer Positive-Integer + (Values (Instance Bitmap%) (U #f (Instance 2D-Plot-Area%))))) + (define (make-bm anim? bounds-rect width height) + (: area (U #f (Instance 2D-Plot-Area%))) + (define area #f) + (define bm (make-bitmap + width height #t + #:backing-scale (or (get-display-backing-scale) 1.0))) + (parameterize/group ([plot-parameters saved-plot-parameters] + [plot-animating? (if anim? #t (plot-animating?))]) + (define dc (make-object bitmap-dc% bm)) + (define-values (x-ticks x-far-ticks y-ticks y-far-ticks) + (get-ticks renderer-list bounds-rect)) + (define new-area + (make-object 2d-plot-area% + bounds-rect x-ticks x-far-ticks y-ticks y-far-ticks + dc 0 0 width height)) + (set! area new-area) + (plot-area new-area renderer-list)) + (values bm area)) + + (define-values (bm area) (make-bm #f bounds-rect width height)) + + (make-2d-plot-snip bm saved-plot-parameters make-bm bounds-rect area width height))) ;; =================================================================================================== ;; Plot to a frame @@ -96,9 +133,9 @@ #:y-min (U Real #f) #:y-max (U Real #f) #:width Positive-Integer #:height Positive-Integer - #:title (U String #f) - #:x-label (U String #f) - #:y-label (U String #f) + #:title (U String pict #f) + #:x-label (U String pict #f) + #:y-label (U String pict #f) #:legend-anchor Anchor] (Instance Frame%))) (define (plot-frame renderer-tree @@ -112,29 +149,29 @@ #:legend-anchor [legend-anchor (plot-legend-anchor)]) (define fail/kw (make-raise-keyword-error 'plot-frame)) (cond + ;; check arguments, see note at the top of this file [(and x-min (not (rational? x-min))) (fail/kw "#f or rational" '#:x-min x-min)] [(and x-max (not (rational? x-max))) (fail/kw "#f or rational" '#:x-max x-max)] [(and y-min (not (rational? y-min))) (fail/kw "#f or rational" '#:y-min y-min)] [(and y-max (not (rational? y-max))) (fail/kw "#f or rational" '#:y-max y-max)] - [else - ;; make-snip will be called in a separate thread, make sure the - ;; parameters have the correct values in that thread as well. - (define saved-plot-parameters (plot-parameters)) - (cond ;; check arguments because function is provided unsafely - [(not (and (integer? width) (positive? width))) (fail/kw "positive integer" '#:width width)] - [(not (and (integer? height) (positive? height))) (fail/kw "positive integer" '#:height height)] - [(and title (not (string? title))) (fail/kw "#f or string" '#:title title)] - [(and x-label (not (string? x-label))) (fail/kw "#f or string" '#:x-label x-label)] - [(and y-label (not (string? y-label))) (fail/kw "#f or string" '#:y-label y-label)] - [(not (anchor/c legend-anchor)) (fail/kw "anchor/c" '#:legend-anchor legend-anchor)]) - (: make-snip (-> Positive-Integer Positive-Integer (Instance Snip%))) - (define (make-snip width height) - (parameterize/group ([plot-parameters saved-plot-parameters]) - (plot-snip - 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))) - (make-snip-frame make-snip width height (if title (format "Plot: ~a" title) "Plot"))])) + [(not (and (integer? width) (positive? width))) (fail/kw "positive integer" '#:width width)] + [(not (and (integer? height) (positive? height))) (fail/kw "positive integer" '#:height height)] + [(and title (not (or (string? title) (pict? title)))) (fail/kw "#f, string or pict" '#:title title)] + [(and x-label (not (or (string? x-label) (pict? x-label)))) (fail/kw "#f, string or pict" '#:x-label x-label)] + [(and y-label (not (or (string? y-label) (pict? y-label)))) (fail/kw "#f, string or pict" '#:y-label y-label)] + [(not (anchor/c legend-anchor)) (fail/kw "anchor/c" '#:legend-anchor legend-anchor)]) + + ;; make-snip will be called in a separate thread, make sure the + ;; parameters have the correct values in that thread as well. + (define saved-plot-parameters (plot-parameters)) + (: make-snip (-> Positive-Integer Positive-Integer (Instance Snip%))) + (define (make-snip width height) + (parameterize/group ([plot-parameters saved-plot-parameters]) + (plot-snip + 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))) + (make-snip-frame make-snip width height (if title (format "Plot: ~a" title) "Plot"))) ;; =================================================================================================== ;; Plot to a frame or a snip, depending on (plot-new-window?) @@ -145,9 +182,9 @@ #:y-min (U Real #f) #:y-max (U Real #f) #:width Positive-Integer #:height Positive-Integer - #:title (U String #f) - #:x-label (U String #f) - #:y-label (U String #f) + #:title (U String pict #f) + #:x-label (U String pict #f) + #:y-label (U String pict #f) #:legend-anchor Anchor #:out-file (U Path-String Output-Port #f) #:out-kind (U 'auto Image-File-Format) @@ -178,36 +215,43 @@ (define fail/kw (make-raise-keyword-error 'plot)) (cond + ;; check arguments, see note at the top of this file [(and x-min (not (rational? x-min))) (fail/kw "#f or rational" '#:x-min x-min)] [(and x-max (not (rational? x-max))) (fail/kw "#f or rational" '#:x-max x-max)] [(and y-min (not (rational? y-min))) (fail/kw "#f or rational" '#:y-min y-min)] [(and y-max (not (rational? y-max))) (fail/kw "#f or rational" '#:y-max y-max)] - [else - (cond ;; check arguments because function is provided unsafely - [(and out-kind (not (plot-file-format/c out-kind))) - (fail/kw "plot-file-format/c" '#:out-kind out-kind)] - [(and fgcolor (not (plot-color/c fgcolor))) - (fail/kw "plot-color/c" '#:fgcolor fgcolor)] - [(and bgcolor (not (plot-color/c bgcolor))) - (fail/kw "plot-color/c" '#:bgcolor bgcolor)]) - (parameterize ([plot-foreground (if fgcolor fgcolor (plot-foreground))] - [plot-background (if bgcolor bgcolor (plot-background))]) - (when out-file - (plot-file - renderer-tree out-file out-kind - #: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)) - - (cond [(plot-new-window?) - (define frame - (plot-frame - 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)) - (send frame show #t) - (void)] - [else - (plot-snip - 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)]))])) + [(not (and (integer? width) (positive? width))) (fail/kw "positive integer" '#:width width)] + [(not (and (integer? height) (positive? height))) (fail/kw "positive integer" '#:height height)] + [(and title (not (or (string? title) (pict? title)))) (fail/kw "#f, string or pict" '#:title title)] + [(and x-label (not (or (string? x-label) (pict? x-label)))) (fail/kw "#f, string or pict" '#:x-label x-label)] + [(and y-label (not (or (string? y-label) (pict? y-label)))) (fail/kw "#f, string or pict" '#:y-label y-label)] + [(not (anchor/c legend-anchor)) (fail/kw "anchor/c" '#:legend-anchor legend-anchor)] + [(and out-kind (not (plot-file-format/c out-kind))) (fail/kw "plot-file-format/c" '#:out-kind out-kind)] + [(not (plot-file-format/c out-kind)) (fail/kw "plot-file-format/c" '#:out-kind out-kind)] + [(and fgcolor (not (plot-color/c fgcolor))) (fail/kw "plot-color/c" '#:fgcolor fgcolor)] + [(and bgcolor (not (plot-color/c bgcolor))) (fail/kw "plot-color/c" '#:bgcolor bgcolor)] + ;; NOTE: don't check this one, as it is not used anyway + ;; [(and lncolor (not (plot-color/c lncolor))) (fail/kw "plot-color/c" '#:lncolor lncolor)] + [(and out-file (not (or (path-string? out-file) (output-port? out-file)))) + (fail/kw "#f, path-string or output port" '#:out-file out-file)]) + (parameterize ([plot-foreground (if fgcolor fgcolor (plot-foreground))] + [plot-background (if bgcolor bgcolor (plot-background))]) + (when out-file + (plot-file + renderer-tree out-file out-kind + #: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)) + + (cond [(plot-new-window?) + (define frame + (plot-frame + 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)) + (send frame show #t) + (void)] + [else + (plot-snip + 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)]))) diff --git a/plot-gui-lib/plot/private/gui/plot3d.rkt b/plot-gui-lib/plot/private/gui/plot3d.rkt index c1ea638a..9b9c2d96 100644 --- a/plot-gui-lib/plot/private/gui/plot3d.rkt +++ b/plot-gui-lib/plot/private/gui/plot3d.rkt @@ -1,8 +1,12 @@ -#lang typed/racket/base +#lang typed/racket/base #:no-optimize + +;; See note at the top of plot2d.rkt for the use of `#:no-optimize` and +;; `unsafe-provide` (require (only-in typed/mred/mred Snip% Frame%) (only-in racket/gui/base get-display-backing-scale) typed/racket/draw typed/racket/class racket/match racket/list + (only-in typed/pict pict pict?) plot/utils plot/private/common/parameter-group plot/private/common/draw @@ -36,10 +40,10 @@ #:width Positive-Integer #:height Positive-Integer #:angle Real #:altitude Real - #:title (U String #f) - #:x-label (U String #f) - #:y-label (U String #f) - #:z-label (U String #f) + #:title (U String pict #f) + #:x-label (U String pict #f) + #:y-label (U String pict #f) + #:z-label (U String pict #f) #:legend-anchor Anchor] (Instance Snip%))) (define (plot3d-snip renderer-tree @@ -57,15 +61,23 @@ #:legend-anchor [legend-anchor (plot-legend-anchor)]) (define fail/kw (make-raise-keyword-error 'plot3d-snip)) (cond + ;; check arguments, see note at the top of this file [(and x-min (not (rational? x-min))) (fail/kw "#f or rational" '#:x-min x-min)] [(and x-max (not (rational? x-max))) (fail/kw "#f or rational" '#:x-max x-max)] [(and y-min (not (rational? y-min))) (fail/kw "#f or rational" '#:y-min y-min)] [(and y-max (not (rational? y-max))) (fail/kw "#f or rational" '#:y-max y-max)] [(and z-min (not (rational? z-min))) (fail/kw "#f or rational" '#:z-min z-min)] - [(and z-max (not (rational? z-max))) (fail/kw "#f or rational" '#:z-max z-max)]) - (cond ;; because this function is exported via `unsafe-provide` - [(not (anchor/c legend-anchor)) (fail/kw "anchor/c" '#:legend-anchor legend-anchor)]) - + [(and z-max (not (rational? z-max))) (fail/kw "#f or rational" '#:z-max z-max)] + [(not (real? angle)) (fail/kw "real" '#:angle angle)] + [(not (real? altitude)) (fail/kw "real" '#:altitude altitude)] + [(not (and (integer? width) (positive? width))) (fail/kw "positive integer" '#:width width)] + [(not (and (integer? height) (positive? height))) (fail/kw "positive integer" '#:height height)] + [(and title (not (or (string? title) (pict? title)))) (fail/kw "#f, string or pict" '#:title title)] + [(and x-label (not (or (string? x-label) (pict? x-label)))) (fail/kw "#f, string or pict" '#:x-label x-label)] + [(and y-label (not (or (string? y-label) (pict? y-label)))) (fail/kw "#f, string or pict" '#:y-label y-label)] + [(and z-label (not (or (string? z-label) (pict? z-label)))) (fail/kw "#f, string or pict" '#:y-label z-label)] + [(not (anchor/c legend-anchor)) (fail/kw "anchor/c" '#:legend-anchor legend-anchor)]) + (parameterize ([plot-title title] [plot-x-label x-label] [plot-y-label y-label] @@ -76,10 +88,10 @@ (define bounds-rect (get-bounds-rect renderer-list x-min x-max y-min y-max z-min z-max)) (define-values (x-ticks x-far-ticks y-ticks y-far-ticks z-ticks z-far-ticks) (get-ticks renderer-list bounds-rect)) - + (define render-tasks-hash ((inst make-hash Boolean render-tasks))) (define legend-entries-hash ((inst make-hash Boolean (Listof legend-entry)))) - + (: make-bm (-> Boolean Real Real Positive-Integer Positive-Integer (Instance Bitmap%))) (define (make-bm anim? angle altitude width height) (parameterize/group ([plot-parameters saved-plot-parameters] @@ -94,7 +106,7 @@ bounds-rect x-ticks x-far-ticks y-ticks y-far-ticks z-ticks z-far-ticks dc 0 0 width height)) (send area start-plot) - + (cond [(not (hash-ref render-tasks-hash (plot-animating?) #f)) (hash-set! legend-entries-hash (plot-animating?) @@ -105,20 +117,20 @@ (rect-inexact->exact rend-bounds-rect) (unknown-rect 3))) (if render-proc (render-proc area) empty)))) - + (hash-set! render-tasks-hash (plot-animating?) (send area get-render-tasks))] [else (send area set-render-tasks (hash-ref render-tasks-hash (plot-animating?)))]) - + (send area end-renderers) - + (define legend-entries (hash-ref legend-entries-hash (plot-animating?) #f)) (when (and legend-entries (not (empty? legend-entries))) (send area draw-legend legend-entries)) - + (send area end-plot) bm)) - + (make-3d-plot-snip (make-bm #f angle altitude width height) saved-plot-parameters make-bm angle altitude width height))) @@ -134,10 +146,10 @@ #:width Positive-Integer #:height Positive-Integer #:angle Real #:altitude Real - #:title (U String #f) - #:x-label (U String #f) - #:y-label (U String #f) - #:z-label (U String #f) + #:title (U String pict #f) + #:x-label (U String pict #f) + #:y-label (U String pict #f) + #:z-label (U String pict #f) #:legend-anchor Anchor] (Instance Frame%))) (define (plot3d-frame renderer-tree @@ -155,12 +167,22 @@ #:legend-anchor [legend-anchor (plot-legend-anchor)]) (define fail/kw (make-raise-keyword-error 'plot3d-frame)) (cond + ;; check arguments, see note at the top of this file [(and x-min (not (rational? x-min))) (fail/kw "#f or rational" '#:x-min x-min)] [(and x-max (not (rational? x-max))) (fail/kw "#f or rational" '#:x-max x-max)] [(and y-min (not (rational? y-min))) (fail/kw "#f or rational" '#:y-min y-min)] [(and y-max (not (rational? y-max))) (fail/kw "#f or rational" '#:y-max y-max)] [(and z-min (not (rational? z-min))) (fail/kw "#f or rational" '#:z-min z-min)] - [(and z-max (not (rational? z-max))) (fail/kw "#f or rational" '#:z-max z-max)]) + [(and z-max (not (rational? z-max))) (fail/kw "#f or rational" '#:z-max z-max)] + [(not (real? angle)) (fail/kw "real" '#:angle angle)] + [(not (real? altitude)) (fail/kw "real" '#:altitude altitude)] + [(not (and (integer? width) (positive? width))) (fail/kw "positive integer" '#:width width)] + [(not (and (integer? height) (positive? height))) (fail/kw "positive integer" '#:height height)] + [(and title (not (or (string? title) (pict? title)))) (fail/kw "#f, string or pict" '#:title title)] + [(and x-label (not (or (string? x-label) (pict? x-label)))) (fail/kw "#f, string or pict" '#:x-label x-label)] + [(and y-label (not (or (string? y-label) (pict? y-label)))) (fail/kw "#f, string or pict" '#:y-label y-label)] + [(and z-label (not (or (string? z-label) (pict? z-label)))) (fail/kw "#f, string or pict" '#:y-label z-label)] + [(not (anchor/c legend-anchor)) (fail/kw "anchor/c" '#:legend-anchor legend-anchor)]) ;; make-snip will be called in a separate thread, make sure the ;; parameters have the correct values in that thread as well. @@ -187,10 +209,10 @@ #:height Positive-Integer #:angle Real #:altitude Real #:az Real #:alt Real - #:title (U String #f) - #:x-label (U String #f) - #:y-label (U String #f) - #:z-label (U String #f) + #:title (U String pict #f) + #:x-label (U String pict #f) + #:y-label (U String pict #f) + #:z-label (U String pict #f) #:legend-anchor Anchor #:out-file (U Path-String Output-Port #f) #:out-kind (U 'auto Image-File-Format) @@ -230,12 +252,33 @@ (define fail/kw (make-raise-keyword-error 'plot3d)) (cond + ;; check arguments, see note at the top of this file [(and x-min (not (rational? x-min))) (fail/kw "#f or rational" '#:x-min x-min)] [(and x-max (not (rational? x-max))) (fail/kw "#f or rational" '#:x-max x-max)] [(and y-min (not (rational? y-min))) (fail/kw "#f or rational" '#:y-min y-min)] [(and y-max (not (rational? y-max))) (fail/kw "#f or rational" '#:y-max y-max)] [(and z-min (not (rational? z-min))) (fail/kw "#f or rational" '#:z-min z-min)] - [(and z-max (not (rational? z-max))) (fail/kw "#f or rational" '#:z-max z-max)]) + [(and z-max (not (rational? z-max))) (fail/kw "#f or rational" '#:z-max z-max)] + [(and angle (not (real? angle))) (fail/kw "#f or real" '#:angle angle)] + [(and altitude (not (real? altitude))) (fail/kw "#f or real" '#:altitude altitude)] + [(and az (not (real? az))) (fail/kw "#f or real" '#:az az)] + [(and alt (not (real? alt))) (fail/kw "#f or real" '#:alt alt)] + [(not (and (integer? width) (positive? width))) (fail/kw "positive integer" '#:width width)] + [(not (and (integer? height) (positive? height))) (fail/kw "positive integer" '#:height height)] + [(and title (not (or (string? title) (pict? title)))) (fail/kw "#f, string or pict" '#:title title)] + [(and x-label (not (or (string? x-label) (pict? x-label)))) (fail/kw "#f, string or pict" '#:x-label x-label)] + [(and y-label (not (or (string? y-label) (pict? y-label)))) (fail/kw "#f, string or pict" '#:y-label y-label)] + [(and z-label (not (or (string? z-label) (pict? z-label)))) (fail/kw "#f, string or pict" '#:y-label z-label)] + [(not (anchor/c legend-anchor)) (fail/kw "anchor/c" '#:legend-anchor legend-anchor)] + [(and out-kind (not (plot-file-format/c out-kind))) (fail/kw "plot-file-format/c" '#:out-kind out-kind)] + [(not (plot-file-format/c out-kind)) (fail/kw "plot-file-format/c" '#:out-kind out-kind)] + [(and fgcolor (not (plot-color/c fgcolor))) (fail/kw "plot-color/c" '#:fgcolor fgcolor)] + [(and bgcolor (not (plot-color/c bgcolor))) (fail/kw "plot-color/c" '#:bgcolor bgcolor)] + ;; NOTE: don't check this one, as it is not used anyway + ;; [(and lncolor (not (plot-color/c lncolor))) (fail/kw "plot-color/c" '#:lncolor lncolor)] + [(and out-file (not (or (path-string? out-file) (output-port? out-file)))) + (fail/kw "#f, path-string or output port" '#:out-file out-file)]) + (cond ;; because this function is exported via `unsafe-provide` [(and out-kind (not (plot-file-format/c out-kind))) (fail/kw "plot-file-format/c" '#:out-kind out-kind)] @@ -243,7 +286,7 @@ (fail/kw "plot-color/c" '#:fgcolor fgcolor)] [(and bgcolor (not (plot-color/c bgcolor))) (fail/kw "plot-color/c" '#:bgcolor bgcolor)]) - + (parameterize ([plot-foreground (if fgcolor fgcolor (plot-foreground))] [plot-background (if bgcolor bgcolor (plot-background))]) (when out-file @@ -253,7 +296,7 @@ #:width width #:height height #:title title #:angle (or angle az (plot3d-angle)) #:altitude (or altitude alt (plot3d-altitude)) #:x-label x-label #:y-label y-label #:z-label z-label #:legend-anchor legend-anchor)) - + (cond [(plot-new-window?) (define frame (plot3d-frame diff --git a/plot-lib/plot/private/common/draw.rkt b/plot-lib/plot/private/common/draw.rkt index 9c7a5def..024216a0 100644 --- a/plot-lib/plot/private/common/draw.rkt +++ b/plot-lib/plot/private/common/draw.rkt @@ -114,13 +114,18 @@ (send dc draw-text str (- x rdx) (- y rdy) #t 0 angle))) -(: get-text-corners/anchor (->* [(Instance DC<%>) String Real Real] +(: get-text-corners/anchor (->* [(Instance DC<%>) (U String pict) Real Real] [Anchor Real Real] (Listof (Vector Real Real)))) (define (get-text-corners/anchor dc str x y [anchor 'top-left] [angle 0] [dist 0]) - (define-values (width height _1 _2) (send dc get-text-extent str #f #t 0)) + (define-values (width height _1 _2) + (if (string? str) + (send dc get-text-extent str #f #t 0) + (values (pict-width str) (pict-height str) 0 0))) (define nanchor (if (eq? anchor 'auto) - (resolve-auto-anchor/str dc str x y angle dist) + (if (string? str) + (resolve-auto-anchor/str dc str x y angle dist) + (resolve-auto-anchor/pict dc str x y dist)) anchor)) (get-box-corners/anchor x y width height nanchor angle dist)) diff --git a/plot-lib/plot/private/common/parameter-groups.rkt b/plot-lib/plot/private/common/parameter-groups.rkt index b92fdfb6..94e1b09f 100644 --- a/plot-lib/plot/private/common/parameter-groups.rkt +++ b/plot-lib/plot/private/common/parameter-groups.rkt @@ -71,6 +71,7 @@ (module typed-defs typed/racket/base (require typed/racket/draw + (only-in typed/pict pict) (submod ".." untyped-defs) "type-doc.rkt" "types.rkt" @@ -106,13 +107,13 @@ (U Symbol #f)) (List Positive-Integer Real Real Nonnegative-Real Boolean Boolean) (List - (U False String) - (U False String) - (U False String) - (U False String) - (U False String) - (U False String) - (U False String)) + (U False String pict) + (U False String pict) + (U False String pict) + (U False String pict) + (U False String pict) + (U False String pict) + (U False String pict)) (List Boolean Nonnegative-Integer Boolean (Instance PS-Setup%)) (List (List Axis-Transform ticks ticks) diff --git a/plot-lib/plot/private/common/parameters.rkt b/plot-lib/plot/private/common/parameters.rkt index c9c38395..cc278c3d 100644 --- a/plot-lib/plot/private/common/parameters.rkt +++ b/plot-lib/plot/private/common/parameters.rkt @@ -4,6 +4,7 @@ (require typed/racket/class typed/racket/draw + (only-in typed/pict pict) "type-doc.rkt" "types.rkt" "draw-attribs.rkt" @@ -141,14 +142,14 @@ ;; Labels -(defparam plot-title (U String #f) #f) -(defparam plot-x-label (U String #f) "x axis") -(defparam plot-y-label (U String #f) "y axis") -(defparam plot-z-label (U String #f) #f) +(defparam plot-title (U String pict #f) #f) +(defparam plot-x-label (U String pict #f) "x axis") +(defparam plot-y-label (U String pict #f) "y axis") +(defparam plot-z-label (U String pict #f) #f) -(defparam plot-x-far-label (U String #f) #f) -(defparam plot-y-far-label (U String #f) #f) -(defparam plot-z-far-label (U String #f) #f) +(defparam plot-x-far-label (U String pict #f) #f) +(defparam plot-y-far-label (U String pict #f) #f) +(defparam plot-z-far-label (U String pict #f) #f) ;; Axes: transform, ticks diff --git a/plot-lib/plot/private/common/plot-device.rkt b/plot-lib/plot/private/common/plot-device.rkt index f30bb5d7..69575d05 100644 --- a/plot-lib/plot/private/common/plot-device.rkt +++ b/plot-lib/plot/private/common/plot-device.rkt @@ -97,7 +97,7 @@ (full8star . 8star))) (define-type Tick-Params (List Boolean (Vectorof Real) Real Real)) -(define-type Label-Params (List (U #f String) (Vectorof Real) Anchor Real)) +(define-type Label-Params (List (U #f String pict) (Vectorof Real) Anchor Real)) (: plot-device% Plot-Device%) (define plot-device% diff --git a/plot-lib/plot/private/common/types.rkt b/plot-lib/plot/private/common/types.rkt index 6fc16c56..394ff78e 100644 --- a/plot-lib/plot/private/common/types.rkt +++ b/plot-lib/plot/private/common/types.rkt @@ -125,7 +125,7 @@ [draw-lines (-> (Listof (Vectorof Real)) Void)] [draw-line (-> (Vectorof Real) (Vectorof Real) Void)] [draw-text (->* [String (Vectorof Real)] [Anchor Real Real Boolean] Void)] - [get-text-corners (->* [String (Vectorof Real)] [Anchor Real Real] (Listof (Vectorof Real)))] + [get-text-corners (->* [(U String pict) (Vectorof Real)] [Anchor Real Real] (Listof (Vectorof Real)))] [draw-arrow (-> (Vectorof Real) (Vectorof Real) Void)] [get-tick-endpoints (-> (Vectorof Real) Real Real (List (Vectorof Real) (Vectorof Real)))] [draw-tick (-> (Vectorof Real) Real Real Void)] diff --git a/plot-lib/plot/private/no-gui/plot2d-untyped.rkt b/plot-lib/plot/private/no-gui/plot2d-untyped.rkt index 1eaeef61..95c62323 100644 --- a/plot-lib/plot/private/no-gui/plot2d-untyped.rkt +++ b/plot-lib/plot/private/no-gui/plot2d-untyped.rkt @@ -23,9 +23,9 @@ #:x-max (or/c real? #f) #:y-min (or/c real? #f) #:y-max (or/c real? #f) - #:title (or/c string? #f) - #:x-label (or/c string? #f) - #:y-label (or/c string? #f) + #:title (or/c string? pict? #f) + #:x-label (or/c string? pict? #f) + #:y-label (or/c string? pict? #f) #:legend-anchor anchor/c] void?)] [untyped-plot-bitmap @@ -34,11 +34,11 @@ #:x-max (or/c real? #f) #:y-min (or/c real? #f) #:y-max (or/c real? #f) - #:title (or/c string? #f) + #:title (or/c string? pict? #f) #:height (or/c real? #f) #:width (or/c real? #f) - #:x-label (or/c string? #f) - #:y-label (or/c string? #f) + #:x-label (or/c string? pict? #f) + #:y-label (or/c string? pict? #f) #:legend-anchor anchor/c] (is-a?/c bitmap%))] [untyped-plot-pict @@ -47,11 +47,11 @@ #:x-max (or/c real? #f) #:y-min (or/c real? #f) #:y-max (or/c real? #f) - #:title (or/c string? #f) - #:x-label (or/c string? #f) + #:title (or/c string? pict? #f) + #:x-label (or/c string? pict? #f) #:height (or/c real? #f) #:width (or/c real? #f) - #:y-label (or/c string? #f) + #:y-label (or/c string? pict? #f) #:legend-anchor anchor/c] pict?)])) diff --git a/plot-lib/plot/private/no-gui/plot2d.rkt b/plot-lib/plot/private/no-gui/plot2d.rkt index 96c54e09..47c0592d 100644 --- a/plot-lib/plot/private/no-gui/plot2d.rkt +++ b/plot-lib/plot/private/no-gui/plot2d.rkt @@ -1,6 +1,7 @@ #lang typed/racket/base (require typed/racket/draw typed/racket/class + (only-in typed/pict pict) "../common/type-doc.rkt" "../common/types.rkt" "../common/draw.rkt" @@ -31,9 +32,9 @@ Real Real Nonnegative-Real Nonnegative-Real] [#:x-min (U Real #f) #:x-max (U Real #f) #:y-min (U Real #f) #:y-max (U Real #f) - #:title (U String #f) - #:x-label (U String #f) - #:y-label (U String #f) + #:title (U String pict #f) + #:x-label (U String pict #f) + #:y-label (U String pict #f) #:legend-anchor Anchor] Void)) (define (plot/dc renderer-tree dc x y width height @@ -77,9 +78,9 @@ #:y-min (U Real #f) #:y-max (U Real #f) #:width Positive-Integer #:height Positive-Integer - #:title (U String #f) - #:x-label (U String #f) - #:y-label (U String #f) + #:title (U String pict #f) + #:x-label (U String pict #f) + #:y-label (U String pict #f) #:legend-anchor Anchor] (Instance Bitmap%))) (define (plot-bitmap renderer-tree @@ -107,9 +108,9 @@ #:y-min (U Real #f) #:y-max (U Real #f) #:width Positive-Integer #:height Positive-Integer - #:title (U String #f) - #:x-label (U String #f) - #:y-label (U String #f) + #:title (U String pict #f) + #:x-label (U String pict #f) + #:y-label (U String pict #f) #:legend-anchor Anchor] Pict)) (define (plot-pict renderer-tree @@ -140,9 +141,9 @@ #:y-min (U Real #f) #:y-max (U Real #f) #:width Positive-Integer #:height Positive-Integer - #:title (U String #f) - #:x-label (U String #f) - #:y-label (U String #f) + #:title (U String pict #f) + #:x-label (U String pict #f) + #:y-label (U String pict #f) #:legend-anchor Anchor] Void)) (define (plot-file renderer-tree output [kind 'auto] diff --git a/plot-lib/plot/private/no-gui/plot3d-untyped.rkt b/plot-lib/plot/private/no-gui/plot3d-untyped.rkt index 2d411f98..8b16e7a1 100644 --- a/plot-lib/plot/private/no-gui/plot3d-untyped.rkt +++ b/plot-lib/plot/private/no-gui/plot3d-untyped.rkt @@ -4,6 +4,7 @@ racket/contract racket/class racket/draw + (only-in pict pict?) (for-syntax racket/base "plot3d-evil-box.rkt") "../../utils.rkt" "../common/contract.rkt" @@ -27,10 +28,10 @@ #:z-max (or/c real? #f) #:angle real? #:altitude real? - #:title (or/c string? #f) - #:x-label (or/c string? #f) - #:y-label (or/c string? #f) - #:z-label (or/c string? #f) + #:title (or/c string? pict? #f) + #:x-label (or/c string? pict? #f) + #:y-label (or/c string? pict? #f) + #:z-label (or/c string? pict? #f) #:legend-anchor anchor/c] void?)])) diff --git a/plot-lib/plot/private/no-gui/plot3d.rkt b/plot-lib/plot/private/no-gui/plot3d.rkt index 3ce0b10b..ad3bf441 100644 --- a/plot-lib/plot/private/no-gui/plot3d.rkt +++ b/plot-lib/plot/private/no-gui/plot3d.rkt @@ -1,6 +1,7 @@ #lang typed/racket/base (require typed/racket/draw typed/racket/class + (only-in typed/pict pict) "../common/type-doc.rkt" "../common/types.rkt" "../common/draw.rkt" @@ -35,10 +36,10 @@ #:y-min (U Real #f) #:y-max (U Real #f) #:z-min (U Real #f) #:z-max (U Real #f) #:angle Real #:altitude Real - #:title (U String #f) - #:x-label (U String #f) - #:y-label (U String #f) - #:z-label (U String #f) + #:title (U String pict #f) + #:x-label (U String pict #f) + #:y-label (U String pict #f) + #:z-label (U String pict #f) #:legend-anchor Anchor] Void)) (define (plot3d/dc renderer-tree dc x y width height @@ -102,10 +103,10 @@ #:width Positive-Integer #:height Positive-Integer #:angle Real #:altitude Real - #:title (U String #f) - #:x-label (U String #f) - #:y-label (U String #f) - #:z-label (U String #f) + #:title (U String pict #f) + #:x-label (U String pict #f) + #:y-label (U String pict #f) + #:z-label (U String pict #f) #:legend-anchor Anchor] (Instance Bitmap%))) (define (plot3d-bitmap renderer-tree @@ -140,10 +141,10 @@ #:width Positive-Integer #:height Positive-Integer #:angle Real #:altitude Real - #:title (U String #f) - #:x-label (U String #f) - #:y-label (U String #f) - #:z-label (U String #f) + #:title (U String pict #f) + #:x-label (U String pict #f) + #:y-label (U String pict #f) + #:z-label (U String pict #f) #:legend-anchor Anchor] Pict)) (define (plot3d-pict renderer-tree @@ -181,10 +182,10 @@ #:width Positive-Integer #:height Positive-Integer #:angle Real #:altitude Real - #:title (U String #f) - #:x-label (U String #f) - #:y-label (U String #f) - #:z-label (U String #f) + #:title (U String pict #f) + #:x-label (U String pict #f) + #:y-label (U String pict #f) + #:z-label (U String pict #f) #:legend-anchor Anchor] Void)) (define (plot3d-file renderer-tree output [kind 'auto] diff --git a/plot-lib/plot/private/plot2d/plot-area.rkt b/plot-lib/plot/private/plot2d/plot-area.rkt index bfcdaeea..a1ecc7ee 100644 --- a/plot-lib/plot/private/plot2d/plot-area.rkt +++ b/plot-lib/plot/private/plot2d/plot-area.rkt @@ -226,8 +226,12 @@ (: init-top-margin Real) (define init-top-margin - (cond [(and (plot-decorations?) (plot-title)) (* 3/2 char-height)] - [else 0])) + (let ([title (plot-title)]) + (cond [(and (plot-decorations?) title) + (if (pict? title) + (+ (pict-height title) (* 1/2 char-height)) + (* 3/2 char-height))] + [else 0]))) (: view->dc (-> (Vectorof Real) (Vectorof Real))) ;; Initial view->dc (draws labels and half of every tick off the allotted space on the dc) @@ -469,9 +473,15 @@ (: get-y-label-params (-> Label-Params)) (define (get-y-label-params) - (define offset (vector (+ max-y-tick-offset max-y-tick-label-width half-char-height) + (define label (plot-y-label)) + (define half-label-width (if (pict? label) + (* 1/2 (pict-width label)) + half-char-height)) + (define offset (vector (+ max-y-tick-offset max-y-tick-label-width half-label-width) (ann 0 Real))) - (list (plot-y-label) (v- (view->dc (vector 0.0 0.5)) offset) 'bottom (/ pi 2))) + (if (string? label) + (list label (v- (view->dc (vector 0.0 0.5)) offset) 'bottom (/ pi 2)) + (list label (v- (view->dc (vector 0.0 0.5)) offset) 'center 0))) (: get-x-far-label-params (-> Label-Params)) (define (get-x-far-label-params) @@ -481,9 +491,15 @@ (: get-y-far-label-params (-> Label-Params)) (define (get-y-far-label-params) - (define offset (vector (+ max-y-far-tick-offset max-y-far-tick-label-width half-char-height) + (define label (plot-y-far-label)) + (define half-label-width (if (pict? label) + (* 1/2 (pict-width label)) + half-char-height)) + (define offset (vector (+ max-y-far-tick-offset max-y-far-tick-label-width half-label-width) (ann 0 Real))) - (list (plot-y-far-label) (v+ (view->dc (vector 1.0 0.5)) offset) 'top (/ pi 2))) + (if (string? label) + (list label (v+ (view->dc (vector 1.0 0.5)) offset) 'top (/ pi 2)) + (list label (v+ (view->dc (vector 1.0 0.5)) offset) 'center 0))) ;; ----------------------------------------------------------------------------------------------- @@ -593,7 +609,9 @@ (define (draw-title) (define title (plot-title)) (when (and (plot-decorations?) title) - (send pd draw-text title (vector (* 1/2 dc-x-size) (ann 0 Real)) 'top))) + (if (string? title) + (send pd draw-text title (vector (* 1/2 dc-x-size) (ann 0 Real)) 'top) + (send pd draw-pict title (vector (* 1/2 dc-x-size) (ann 0 Real)) 'top)))) (: draw-axes (-> Void)) (define (draw-axes) @@ -627,8 +645,10 @@ (define (draw-labels) (for ([p (in-list (get-all-label-params))]) (match-define (list label v anchor angle) p) - (when label - (send pd draw-text label v anchor angle 0 #t)))) + (cond ((pict? label) + (send pd draw-pict label v anchor 0)) + ((string? label) + (send pd draw-text label v anchor angle 0 #t))))) ;; =============================================================================================== ;; Public drawing control (used by plot/dc) diff --git a/plot-lib/plot/private/plot3d/plot-area.rkt b/plot-lib/plot/private/plot3d/plot-area.rkt index 65a9793d..40613f8b 100644 --- a/plot-lib/plot/private/plot3d/plot-area.rkt +++ b/plot-lib/plot/private/plot3d/plot-area.rkt @@ -2,6 +2,7 @@ (require typed/racket/class typed/racket/draw racket/match racket/list racket/math racket/flonum (only-in math fl vector->flvector) + (only-in typed/pict pict?) "../common/type-doc.rkt" "../common/types.rkt" "../common/math.rkt" @@ -927,7 +928,9 @@ (define/private (draw-title) (define title (plot-title)) (when (and (plot-decorations?) title) - (send pd draw-text title (vector (* 1/2 dc-x-size) (ann 0 Real)) 'top))) + (if (string? title) + (send pd draw-text title (vector (* 1/2 dc-x-size) (ann 0 Real)) 'top) + (send pd draw-pict title (vector (* 1/2 dc-x-size) (ann 0 Real)) 'top 0)))) (: draw-back-axes (-> Void)) (define/private (draw-back-axes) @@ -974,8 +977,10 @@ (define/private (draw-labels ps) (for ([p (in-list ps)]) (match-define (list label v anchor angle) p) - (when label - (send pd draw-text label v anchor angle 0 #t)))) + (cond ((string? label) + (send pd draw-text label v anchor angle 0 #t)) + ((pict? label) + (send pd draw-pict label v anchor 0))))) ;; =============================================================================================== ;; Render list and its BSP representation diff --git a/plot-test/plot/tests/PRs/58.rkt b/plot-test/plot/tests/PRs/58.rkt index 50ad5968..0da06d0b 100644 --- a/plot-test/plot/tests/PRs/58.rkt +++ b/plot-test/plot/tests/PRs/58.rkt @@ -55,16 +55,54 @@ #:line-width 1.5 #:label (standard-fish 50 30)))) + +(define (do-plot-2d-title+axes output-fn) + (parameterize ((plot-title (hc-append 15 + (standard-fish 50 30 #:color "DarkGoldenRod") + (text "Fishy Plot" null 24) + (standard-fish 50 30 #:color "DarkGoldenRod"))) + (plot-x-label (standard-fish 75 30 #:color "RoyalBlue")) + (plot-x-far-label (standard-fish 75 30 #:color "Teal")) + (plot-y-label (standard-fish 75 30 #:color "Coral")) + (plot-y-far-label (standard-fish 75 30 #:color "DarkSalmon")) + (plot-z-label (standard-fish 75 30 #:color "DarkOrchid")) + (plot-z-far-label (standard-fish 75 30 #:color "Plum"))) + (output-fn (function sin -3 3)))) + +(define (do-plot-3d-title+axes output-fn) + (parameterize ((plot-title (hc-append 15 + (standard-fish 50 30 #:color "DarkGoldenRod") + (text "Fishy Plot" null 24) + (standard-fish 50 30 #:color "DarkGoldenRod"))) + (plot-x-label (standard-fish 75 30 #:color "RoyalBlue")) + (plot-x-far-label (standard-fish 75 30 #:color "Teal")) + (plot-y-label (standard-fish 75 30 #:color "Coral")) + (plot-y-far-label (standard-fish 75 30 #:color "DarkSalmon")) + (plot-z-label (standard-fish 75 30 #:color "DarkOrchid")) + (plot-z-far-label (standard-fish 75 30 #:color "Plum"))) + (output-fn (surface3d (λ (x y) (+ (/ 1.0 x)) + (/ 1.0 y)) + -2 2 -2 2 + #:color '(255 128 128) + #:line-color '(255 128 128) + #:line-width 1.5)))) + (define-runtime-path pr58-2d "./test-data/pr58-2d.dat") (define-runtime-path pr58-3d "./test-data/pr58-3d.dat") +(define-runtime-path pr58-2d-t "./test-data/pr58-2d-t.dat") +(define-runtime-path pr58-3d-t "./test-data/pr58-3d-t.dat") (define pr58-test-suite (test-suite - "PR#58: add support for pict legend entries" + "PR#58: add support for pict legend entries, title and axes" (test-case "pr58 2d plots" (check-draw-steps do-plot-2d pr58-2d)) (test-case "pr58 3d plots" - (check-draw-steps-3d do-plot-3d pr58-3d)))) + (check-draw-steps-3d do-plot-3d pr58-3d)) + (test-case "pr58 2d plots title+axes" + (check-draw-steps do-plot-2d-title+axes pr58-2d-t)) + (test-case "pr58 3d plots title+axes" + (check-draw-steps-3d do-plot-3d-title+axes pr58-3d-t)))) (module+ test (require rackunit/text-ui) diff --git a/plot-test/plot/tests/PRs/test-data/pr58-2d-t.dat b/plot-test/plot/tests/PRs/test-data/pr58-2d-t.dat new file mode 100644 index 0000000000000000000000000000000000000000..07587e1df294fde1ae68d45ecb20ccb4ef4319d5 GIT binary patch literal 12736 zcmV;xF+a{9iwFQsgF9aU1MPj=mK?XS<*(G(FVX|kxLEjQlU%&kEdHwHS|M~s*r}dG)|N6&oKk=cE^J)F3NA1DC{?q>Q5yJoT%je%u z-}%6AfB5jv_kVo){q*_EuRp*4wEo}p3;g*0)5jk_fB0d2{I{RKeEI#SkDq@${qfm; z#_#M`zkm3@zrXwW%MTw;zyJFF^KZYr|MkP?-^cIXfBNO8_qHs3{>P_}zx;wx-u?RF z$B$n=bA9%UzrX*-fBk4^USTxPvls54UogXf+sHZ~zWn;}$B&;+ZgKo~h2bmkyTs?a zzkR?;$FaV z!JYcv%`WR^MLhaH?Q5U*0Z-+jvy*@l-IqPjBb!Z9EE2Iu)$I zhp*?k+-1$deiz)hevIx3bL!)_%bf4}!R-02^4R+5`Z495#_DZe*_b+Nt~UJ~9_J5@IlZA<2fFq#?RCW7=$F{szH72R{T%$` zT!JxaHH6I87m08TQWY)FvfkslJ?A{98N4jQ?=2ZVcN4Meo@# z?#ZAr6pxV-naz{ajVhNzrgDlAmT})YgRQf3iCiZKzA@+&?A;mCm&gSM@{UaE%YoxV zl42q4ON#w|`s4EyybBLT@29`~&yT8bkx~&?p+? z9UDetz+>ZR4ET)&(odM~iY3>NBamK!zu7=~aOi=N^x)A0L+Qb#N5;~FPmc_y2dDmb zjiw*vpS>JSKgKiK5luhLLwPxxevospBbq*H=2aYWJ1m;+i1ZJSrc-rCN7FsIqoe5% z^S>#Yets4#%_%dS9WRa!;R#jii#f~gxweI8;O@CnHF^FY_OaOM`Oj7r`Atyy*J^!(w=yKO927*xC~3KkF|NU>`8NBnFTYA{kie|F?-djU%J00-L3BrA>FDvIm!C-G1|^`Zh4Cf?0xL1 z#OAYOT##;kf7pcCF98E*R~rU5AOF_(hfN427csCa^a5He>x7rzA2lKTt0g%XN_0Jd zhG9&2_5Gh^egqR#MHyNGqxl|EgxZ5|<8OX{7=9rx#W`OyxC6qRSNtx&KWf6%{ZcV- z^f?umogWikeSg@5xi8H**J|lC!hoz&as7+KrVMrI7&*n38iX&_b;_$>9K$xT7x`}I zpO3;M!ic!udoDg>Yf4#(cm0dQri@|n7#RU7#VdxDc-Ox;Y)a>r&^vY{k=^^M#;(3U zYQj+9MPcATRu84*m8{plIEFz&EDP3Oo2$9N4e@1g%k?h~!_fhuPRZ)D0==y$UVeYn zguaHQ^j>;&89KS7m8jRhIBd$~mWq)RZ9tANKkJlNzc_44*A`F>>=BD^sjt#;_5ES7 zS=vIg{;0?-JrkJSoA8ZsS-2gRwQyuqmZqTW5W?Mvz0&QF?2zehL|*B3Kz6_`tufd+ z96M$&ZbV(_b})7b$!^44>2@e~$aHJ)m8L-KfW5dCZ`};Tj@hFd(N?-0gdIY(5qG66 z1UqKf*ltE(J;ldFU}M6o2y9Gvd;~Toyo$iagvUo5wz>HN6iogt$8xfdc z@`wm*OnDuFjVT`xfsHAzBCs*z@e!C!cq0O{8IO;^j6rThV8$(vh`MHP{u6d>CxbM{^(yZT8MsQ7@y{D&-K%t@h&J+;Oum4cihc7 z{meSqXpz<*{mXlDdmxd<9`}A4>&^yW4Cbf4-_ZSNY#A(LAMY^WC0(e#U>U;8T^-vJ z+Sc|BYMyDd{k#{KHg$imPhWo6&n|V+FV=HEet1bsz1Tix&n)&7x2vSvpR)zSXLx=7 zI=zVdjKkEDqnwn;K$RSxX-M3sXSZR!4cj!V8fb5JCGOKs+pxigC0TR9Zp+8>6$W{%ej7R_2C}fm_BO0 zKK-m7*av$|HaVO>;cjlz`mw$2ZXe{Ej1~BSvhDx)7+>~j|D5b(my}^vKP7qbmYAn@ zs_mo>kDWuN(vVgrYtetYUzY0L9aOvt8iRcPrVvhO8wJ8{hpETh4i<_ zxFiF4!qw9qVR%DCzXyfa#PfT`+a1mCqfJmZ%Bdb2%%n_C zE{@;FD!ZciT|@1U;rEe*>MGRJZZBy^1iuH5eewG~9(g%>zd6PZcT~?vDc$@yiZyQf z^mU@0oyvc;dGCCqZ8i$L6z=TQrrWsH#tnDkot>I!8@JfF@lL?AQ<%4LvyGeXL_9ks zVjDNvxcM84+}#sCyiBH`jxN66LF9F{_j|1J%F_D|vIKAc zj;*}kWtUeJ-tUd|+PeE5qBQ$=Y}Ne^BCjdB-{q4%HTTOwc9kk)eo~pd_?X?3I%WQP zSO4rY1Q%sWQQ)P3XP;KRs8U*M;S1r;K5cYSq_oa}7lNIA!hBJqw8nrJLY;lma8aSO zzJPBiTz|rlSM0ieEcprdmaliU+MBrdU497rzRT$m{QEB7i`L)7!0&Q+1P8zS7HaHo zbZ&Ro*dOIn?k=%E#BJMCVSkikw7bCmASYyZdHtCApBC3sekoLUr(XE?b(M9Dc|TBh z%x3M(b)L)WDc=dxL8QRHuPdsj@`##xD*w?@x^Km9s;kF^>0P~G#}w7~jdd?je{Phk zoK+pS=k0Ib*%_v^$t>TWTeJ|te3fp%Mwm)v)OPL6P%Cua29i|VV=&*caEDLQ=sR-|HcYE;jiB2eB)KhTC=@4 z>RtHDDa3w#u@|}I{0gZ(4}{k~5MO#A-MDM)#U7%Vdf>^DZtmB{ z9y_rNcZYnL1>9dwIXGP!_8k5b$a5G^AkUFqApZVD{{AT8{wU%8a>MmRuiBDnwSRUK zu(=gZ@a1h`&tdos_;c7k1O6O|1zumbm}~GCM{lni{Tlp5RIkC`zRAyE_h&c!-ID*p z%hTK`r+#r!)=iDF!DshMc)uGyzj8hKmE)IJj$dAhZ+Uq=uT!`ahR?3xZTeOLQta+| zsel_XM4V$d#{-lrqWSD@acRDo=oDLwwH}u zzPK1%Nj@}{3NT3tAxD6@kadAsk7+p%)?(E=IAdN~_Q|D^D!{z~^2W7ojb4D@q1Jk- z7}Et^LdvAtHY+%maDf*J=UQC~wS<&~NdU^#)#OtPy=daVd*njQ8LPpwnm5#CTOB46 zoWlY;NEjMM)#Y#aw7Aq7pMT z8{nR@>!7T&cayq~?`i}KhEklNOMmT*tJmrrSK_({3ZWpp7Ph`)k3w^~;QL^2^>ty1 zK*@!Uzt}MY1iphN8N^h21dbdiRie)&C9kVcJLR-(TO0)kg;Br=;Hm;6p_iC?#Q108 zWv7>h!hR$y(Y}j6zy52X-_ut-6>|jbJc*O>zqis^ZM5yvKxZ z9t6tR_}Wr{{B@fb80SsTi2Vcf8#FEu#>RzYq-nr-<>?IJ5g>FPq@?i%M(nCIYvc9K zpeywS=4rx&(hXK^4GNg_(bVAKjr+6ZIm;3dGX-d+2Ch*VqroBv*XU12yUdn=5zNjx zK?dj?F?Qn})03*!h>$YgW(qFGHZPvB+k zvWsBO?j!aWo7R&6AwC)E2W*eMcUi=7Zm9*kQ9weEjndSGx8bgW2hG7uZ>L7XgMh3V z(k|ja&O(|Lwg7q5(36{>l!BLbXaz{G5?Xi}Jpug!Vb0hl*pn7*Unr8WfaD_|lf6H& zAp*`A0>TY@(QJvV`V3Kqa`A%83($v@0JlIHBp^f=y39jzv8%=F4V0{YLRKmaR-?kx z24)~VTW7{zZ9qaW1@VInH(`>1-dQa{&{ZO6 z@O4s%P>~7yU2R053{79S_bq3uBC&C;MR0M76csfH3nv}x(im->EKJ*Z; zTP7g1Cww_j7}A55sgGmY>xA)|yeFkn1vfb3Sp^9;FJ&V~!~`Z18W?d(ZvqMv6e|8 zDl(%b#ehyh940Y1;JcbpUPMkfL_VDf&kK*n`@;)%35)5HlTP;UiQGZ=LCsxo zz|OX|H0#Zy)}*9k(T*bs4%pT$5D--y10>*z#bD>Wz(D%5Np_0MuwG0L0Pr%3oK$e8*V59(gbLM=U|V4Y{vcwS7t*HenDbA99xBD z%;SK(unvI%Kna2awo}|qEZ{Rh3M*X|8l-4&aS0dkAP7YjC^E?chl@Q}@~jS+XM&VM%y@e{ zG$fuN96YW*v1m0o*k8y@rZt2V3a%}4Y|h=qhByA6uVJX>FX&C-QrPL)47j!=r)rN^n4Mqe2^WfL4M1g-b!#SZod#Wtz2igQH|YEpg&% zV8AeL5&Iwne(Zef43tSTp@v&^_T~WDj6FQP9ZUkMS`rTox(r9j^tQoaLtuj8mx1X_ z>ClfkJAF=J7vR9V9-Q6D|D%5v=$f-4Yi7~_s}KJlS{EzQ>JZINiKUbb40}ueD$$uV z*@s6pd8KMYg0RwRW@fWMG&5s?Z*AFlJQy5IU#{}TA*T}z}9Su+|p=<0*(wU z6HuT5AQ(KUIeAyjJ_T4s*kL#eOb7~&w*YNS;LY60J*BsRUl?v#s zf=e)#TD4&im$R>hF@}`|=`c0Fb~YN2Jv+)-9xI)U!YmQ&7!wU59^D(aC5oE408EvD zEYKuS0K~Syy*c~SV9{V61*8VitcNz}Mb11hUsh#9zlT&|suGrsc);;dG>erjtJe+Z zA(_8}vEl9^9`M=R+CrygC;)i^=0AafpxMAKU}#0#@OzdiK`LhzzM<<4?j}?ZrQEOp zwo`Bwhl7^`^RzB9UX`YT?h~u z&xsWQf-=kr1BNE5b^-F~DbgQqa)AKCDFJH$mn=ZPv?=ZP8pm^5JVCRe|rhj+-1b6 z`~(UDj=sMDfi*auEDx57Bk+aeRq+3`B5l9{=`|W6up()%I0rV5JZl;g%6-vLLAKel zI&37CCWr0BByztX=*wIH5OpGyA(c1dO~it>f$*!Q?13vIe}EmPs{nsG25DFPdYK#& z3$o}GfE}I3O!!t+5BN>XhI25sO@V8Koxyfz{6||2*XkUK(QOnUQ-m}mk;N)SfxN$* zVab~LjUx#IYB^>E;hkpbL|)5&4%ujV1V}U6X*}^Cs4~sWr$s=^F@}*RYK(k4%VpSe z8xcsa!5v8?Km-Af%*nDsRp<-lx-jNA2bUw0#gs3iPz32_8KJwDsopYmDVli!WsoYa=A!INx zsuN&dw!qSov@E$WlLW#-MR{8y`0nfoK-G&je3uh;9k?*@7ff8h$*Urf1s5QA5vV`| z0~r`T8xcs4Ssi3TQ$uAjAyXJ(&_NbpU^a0?tE|KjkiEr$lQI(to|G5_I>TgFXX%}j z<$a-KJIp4w$6FK!oxRKjE+Nxo*cqA?=3$;m4mTtr;t0{wZkr!ul?5iIQv&f|%3+*DL+Je>ptaUKDhrja7W1^MY1;yU@fv$4 zE5O0gYQ!zmD2~@`!9iK%$kWt;Sa#el!t%oW(Ub#yjR#9NR}!t}Qkj*2r{E-_O{C^a ztfwrbm5<0tSQ7L=rydj>S#GQSS^089PFm`l+tW`O(%n*ALdkFy) zUGYq!VUYmT0xMrYI(;o=!n!LB8x{s@@)&cCVPNkBy8)T8j|DD$?- zxh_*NLm?Wh7#)h5pi3GAO$*Gj3+If9FbU?~KwZ$Jb%BA?C-=+RfFhIJm39Xjx)>Z! zwrv|{T|n?zy2~A|6#SBE6lAMto9eLygnt4SWIP6Kf$)NGiHVOXI20TSm>CH}`*ao6 zpih>`$jjS}NfC1d+rineoDL|tOcqr2gve`lqNB}Hg23B=!1!#Rj4q%RxSk-8F8Bsw zL3*KWDi{k8#yjzirOXf_(zVm+>}{FiR|4`_5XP#^5%H|skSZEu&kr2MuBqP@91^s~;JabPVuT?rhyk+BQXUqx(0={i9o`s`7teTpIb#OabEQxl0OwiAj)5<%UHuxnOGq z&U5dM0QpY$N~aBI*1LOFC@_W9WS%BKq;kmBJhtgbCCK!N-7U@s}PuZ&oAy*}(!ktKxH_`JKE- z2>{J`q(NpUCZw$h5IE0njizSN0t~{|28dKtij#LR%}H+UbYn|LWMQ0stavu@b?TQU z0IHE%w{%t3z^E_qsUxEyTY0E~M=`bw z4(>4AYB)A55=nEyO<1OGy{agfq6VJ}>X9o9(jvUiZ7TF@movj21XPew$NZ#r8GhGX zPw;}n-htb}fo$#THXdWEEis{a*}w|gR(9DS%onNI8?-q!s)tdP!f%1ANC(X)gTowQ z?(Y#G+b7uL0_jE^EK|eyV#%sB*t{3Ck%>fDRVEm5MjgvHxpyQ_BfeQ?87p(ugICp?B}FjPO6(ovD41X zl``=^TbB!Se3+xFVwIT6oO?k9#=0!aM&RpgJ@)WCm)TX9hEoI!K8S2f0h@|xVp?W- z7apu)KnU4XgcT_Pl&oWFOL=R7>^})?z++RGSM&=vcIi`7k$48WD|R-BR~jD`LK8jx zr#&vrKd={{LLBKX35>bhsry23nI0OVUifY7*cMz~`rH^GICarDmhtJW7@S%jo))Z` z!-1BEtpcyNpe$`tgY9PJtKeYcSsP?J7b_Q~sidaFrZUcj%~6egTi7OVwQXRv#JMCT zIG(Lww{&8^uiOJfIpR^P3*G2OxqWFR3N>_pUgU!0D`EQC#GIn2+^U z_4q8ePk=0vO&JN{LSFCmODc17Ch$DKFvZCt4o_S|!C)mU$C=rI=QU@MHE}YpChH(d zHTGwp{Y6BB3Bb=@+!`)2o7}Ua6Lh7)yCD}zXJfY&ZI*I|p z=@REcI=!0iAR)_qTtFMb$|eLIyhelNY&<63rn(y8*d_s!7@ZWm62p-__ES@XsW|pr zF;&ZxDBgkzM(k5z#M(qz&IJobx)D94asA9PC03lNIJm|<4HaksiZvDf&6BFVe7m zfZe?+b6U!78&T`Qii^d~aB2p0Hv!pEYzsaV~8>nIsB! z=DJvPW1ZC~$nN_2yo?RVQYADt+XqT9UdU_&nT~LX8Q2Y46v0EfEIGx*QM)`-P-tf> zPc!h0mpR~(4fc~Ctj0CA5I}BWC;@FMI3~pxPa3b;ltCAcm0f^~3E5sh_X68^K|P%? zIY7W_z>#g`b91Vie_XUEGWe(xrT~HR)HrEyJZ{1BfR0u%8eCW=$H$t!;0a(~bbyb_ z%O>_qxa>7^?6&ia51`76TqzwnoO_}KS6N1Xq_nSI7hwc;1U!l-Z6YUR5jmRJ17rkVj!y z_vKMU1LOgUjS)l`wUk3E(MQ6L2;sn{sx98GWdJhY)EeusO((3Fb)M_0VZhPd&xu*0 zs&@3~S;?Fdfr4YKPB~|ns@>Mcbhn$6Q!5~BVB_gHtU1_#K>5N%5U$Wo?rO>!aQJQt z;9DJl;AJp5=HaO$0fG#3Sh>y&X+r?PiLLbl`gnSR4mgMpwvW=%lii_84?Azkl$D!3i*`(dg>LKPajfYu#1IY)$EYzB zf(wpa&QnvyDsGH15(z;kfPjr&N4-Ww6+a3MTWYtjpvm?J|$h&WVauv4I<4NwH?P&a9JxXMbl^YzP*idpqN`0q2*Q zf^jHRCj5B3u_-4S*oNIVp07hc7dlQ1YqKu~*Orl$x3E1Ag%1#>GpZYg0ZL&>^Lg!I zKsrNV<|vAlWm({Cm&b_J?dZX)SQeslsUaTmof<03YPlR+OW5tlekj55w8SKoWtc(- zf0llJV49bJ?5Up*01g}6S;_=u8{5bQM~C2PLWnjU{2ZjPx(p2u3}5<{lp45`+$5+V zyCk@%C+y6qdAJ-D*4PZ`_#H>jw*XCnF>PS4%H#q z%)A5cqP3Q8CF{GOL*@Y*k%nFM7k!`fQyBv>I>fU|R|Vc@Gj}2it}civz!vPIvDPo1 ze4agc+Y=?3JJT(&>Q>7MtRK#uS_TNy#f}y1C={QPgY0R@bMH_c&OQ$t(@!ewO%)*2 z_temm*6^W`)f&$mM6HYV zf9^+s$Xgef-OZ~2u;cJaabrZBm0l_)p^Xt7I~As^@*2SwstGV@qy;2kV6*CE#@Yyp zi)R}Fi5+C^u*J*NEo_@d>A~g&@^Bq|&360CY#ICP3Y)T-FSV|dSw zgT%w-0^|vbDXox4T7idXm;z(6N!uKFp5ijvMexCc@{n;FdPTcDXWr)+%mC@GvQi04 z6vfh$iKng0K<6-Z8AWh`~(+e^k@e?gA#VZo6n#|ld$5Co?Sxjc-W^uM0%VX6Y><%Yr$h&d6kioLA56^?cpR znhFL1>9N34TNXk`_2+9q43IaZM4qi?Pm8w^-7?o^wJj{Nv1->MYvD>x@<@N0uS<|n zIrep9apaOX;Mj;c9p6_uf`&Bl2&kjeB0JBs|L*ccd1f9WGs(-IAiLXuJ)r6GkTWdI zqRv`SoGk7I2%P7Gw|Y@R(}_fu0eNUc48cnRW`1Y}$ZVaR@PwGCi-!%ZX+EcDfT|`@ zk@Fyx(siDhulWd_Dg$gBgHoX)0*ZQl16%N?(_N~V;5%?ht!&6>Nl_)dg(b~rkTfyN zjjTm@wG$)*@ThULQlMvn>GC)M+pSn* zhC1R+5^C4w1qD-@OTAy2sU@}#;cM2E1jgf(%EZDzO38AWM2cI{w#o;znnZoE{4T_FnJjWD)rCn1}&~z}W9c?pjF_j3#>WSD|yBD#Wf zJcTaV3OuJV#Wn`X6WF|jf&IO*& D;Y*X{3#f1yV<^>iel6|A7)?m-g@+(p>D0)+NN7ofOTn zf^MqT>wNk)y>=$EPfKm5pknIwmZQAHOD0bgB+#ElL1qQC*PaWXNiIMoj#%sFT{pof z?(H(b#4GANTS3?~QfNu-{pj|#0A7Ii<=2lte*Ap#-(?v295{b4){&og1B8%xMPd{`1~g}3Cnsy+A!1bzcq3B#s32zj=du& G+yDT;eydyn literal 0 HcmV?d00001 diff --git a/plot-test/plot/tests/PRs/test-data/pr58-2d-t.png b/plot-test/plot/tests/PRs/test-data/pr58-2d-t.png new file mode 100644 index 0000000000000000000000000000000000000000..843ab0058d65a9dc793507f37f999057e5c1168f GIT binary patch literal 43610 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 CN+$LI literal 0 HcmV?d00001 diff --git a/plot-test/plot/tests/PRs/test-data/pr58-3d-t.dat b/plot-test/plot/tests/PRs/test-data/pr58-3d-t.dat new file mode 100644 index 0000000000000000000000000000000000000000..49b023def8c3b026d984873c6a980926568f098a GIT binary patch literal 64428 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 GLj4b*l0XLl literal 0 HcmV?d00001 diff --git a/plot-test/plot/tests/PRs/test-data/pr58-3d-t.png b/plot-test/plot/tests/PRs/test-data/pr58-3d-t.png new file mode 100644 index 0000000000000000000000000000000000000000..5b12cd1a1329b5e338dfd1a3cdfbf9ccdbde6120 GIT binary patch literal 87538 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�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%0AL2^$-~n@JlQSK zx<~{n919bxEc}S6N^9FW9y;wK1@>eM1a;Dd{dY4+N=X`~Cj4?34Zp3>9HwAMw-V{# zB9pbd@7I4EqxXUVTy&sOy0n6~V!|^#a9Qf%EvafIt$sm_apDMHuchWbUZp-@0Bw5nN#}i7^S7 ze)WxfYJ&A_+j5%u1M^P-eMX2Fma(Mz{-?%#!=E>^^0S_IxUUVFVwzC#_Am$ zCXEd`bW@aJQ%pvn+d(S`*3ezq%hC=^Eu!Om1|6#@QOCE^3?mLWm<0p`^ffg@sFiWa0%PWfM#4;q#rBFA8hbt4)N4+M zXnm)b7*z7JdSqoJi5o9`C0PmhpFMny+uxr?ZGHRTl9^amXkCHUuTA}mI~lsj6iEoPb#}=xD^1g z1E2P*pJSl11&MgyXBQk~KM9bR?7@Xl1Ty0;vTTYUOLd*ZLD}a+T_;}N_5~HD9ExgM zL$W&$ETV>by8ko^O63Lf8`B*tX}{m3se`p>aN-qr*TD}GMR||}aI#7!VmAuEGbY;R zFzr0eS!>-HBd#eA>1&%mXCS1&*+LK40u2o4E_kqb7kCQUL}icf;?1)6^|iIpgaF`? zTj9xYN1$kKiuEt>D-Z=}d3hB>GlCs|?TanR3E_#u5lmg}0<-OTQKujt6^0Zc_~jcO z=vCAlpf7wqQYrJ;YtsT6(m4|r7@5Ujh_!Em6a{Ov+>d1^;Ms6l`*ZvFw_GTc5x-$)a0{lRX&5%&KAMTS33+&7D^DzDS+u&0yN5JRIG#Is{AFh!VtM-1GN`_ z>HbhAgaRAezT*=UzW^}Z{xaFs**OiZ);gdRxxi^mDP=RUsTZF($gDGyJSy*H-;K*> z(CD|pP}A<>G7-U2VG8X4(?%g^R&DVvg(A}VCAAx-cl9ZYIJWQi9HIOYgE*GDq;+KLb7^84 zhR&8d6i=r>Ih=P&{`pLO9GlG#vc;P z+aTe{-X5=ajK-JjU>SPz!{V8Z{qtNc*kMww9h=_?B-)e=A0v#s>RKgSj((R=|y0W*~K+pM6KwxmQ67 zF+GP#xb#R*=do6bFZzH8q&|d&1Ai`l?)NSRlXfH^F7am#hSXOZYnGZWonFC2IsHIh zM;Q9jncvFt`rWDm$K|#nYJ<}?HA~O{DfRQ`TWI@txDq5N8N^!VtSad;{)v{Gn#NbW zF2ZF1>1v$wB=rPtl)>!Ma1nc+D*)j-lJgPXt+)ge5tKL+B;~ z{O!l%fOi@ZLTH%Z0d7gDpLv21qXY`;qNYxw#pe@LXfaGPR3A}dpKOct4vgN;F#0R&Zi zYht8BfPfynCV-8>O9S!9rJZ8cS75zu^^Q#*fj308JuZ3#aa06e0%lbwB&$aJ0u4tj zz|#ZRCroG;BlzhzkOGIjevPI9fVnpVSc}9THA5eKAHk^r02m8POWV- zDi#P>^eT^)dOrt?1+$Qn$P>q8!JBnuL@jEM1_D`9Hq@a5zBE{gw?_>OKtdF$G%$$z zcTNo!bQHoGSy5mhVo=pCd};q2=M*WxpxpfYUGMLgr$MM~VQ$We!acH;b5^jtIJig= z+RG~)+J82;qkjx3L$MDhkVF<17Jt0T8oz(ngX@W++EJ1oA|~|2j)bE18xW_rq0@5< z6XO}Fm@cQn<7NO0BORv!isCNl12+mJ2?P&doCqyYG&X=j!REL~9^R=7pgbdD-ImlG zGjNQ89A(%3o5&Mlhu;*5E-M1%*1f=|e*$%8_{+7k9O@3IVZ15I`hs#A5F>TK`Swr{ zCiu)PG$vpgf$Hs6G_8Q%m-RC%#f&(UBTwbHxwu-PfjSOoLjW)bp)Y4KG(#8!HtL_a zSblb}L_b(+^&LbD8AU~6g=5P+aLiFk8*rY>Ou^ZoC!(4u7azh*ZZ}97Y~VHWLl+Lj zN(OyRSEv{zlHlyjfVf8!u76(U25X8lkSpUy=1V zpFzP@a3C|2-xCRwplbw118M~=uBoZ%09~97^B4-vz)Y7p(GOHZV1rWIAMbr@E3DYI zhwVH4-^?~R10!hJ;ea}WsXTOLw2lnQP>T5)O74@O1wq%GSazdbj-{WVajz_WMrD` z*%4qXz;i&bk9b9L#CdBuIXMxlj{1(czvb8b_d$nM!?WAK(FJ2ibrZ-`=ibu1b~Yw; zA!-9@a1mp&HgvK7Z^*Cqm<;N60Zc*4bO6n9pC8JC23DX(PYliv{%q!BpaU&j*YtJ%ca7Dnv zml1Nn6p^VJ^mhcKfgkE(LD6FaW&}DK=zDa-*S8!TI?BX|yG%^MD8%1gU?|ACGy3A6 z!JKF~A)W?hUY|lkLyMQo{`<}Y>JcFM`L?zFu&hngKQTjpLmb+q96kl~%ydDwlu%6$ zfD_PMFiOz$F{l=j*Vot8AHr4hj}!C<&yEge7=$AXIuP?`#<>3*%-E0+;)72V?}O8_ ztO;yAND|smDhS@o$Vt12og4$81VSbE^72-&9Cj4fkk~RT7ur|vt>F9lat(g&2 z#|XZ^^Qg>TzOh!0#G;&T{XFWF|-j46$cyruE($6EN; zc#RL}cikB#E;omdo(YilJLenMHLR7A9OJo?PJ2W2{IrahI)DW(t0{WW z7ymw_BD`GFpgezrWu^}Prx!aO{)Rs-M|0sT;19+ZgKpFR{*RH}eM!cq+<^;G)98<= ND5@)D%iVeW{{d^|OSk|4 literal 0 HcmV?d00001