4 3D Plot Procedures

▼ |  | PLo T: Graph Plotting

1 | Introduction
2 | 2D Plot Procedures
3 | 2D Renderers
4 | 3D Plot Procedures
5 | 3D Renderers
6 | Nonrenderers
7 | Axis Transforms and Ticks
8 | Plot Utilities
9 | Plot and Renderer Parameters
10 | Plot Contracts
11 | Porting From PLo T <= 5.1.3
12 | Compatibility Module

On this page:

plot3d
plot3d-file
plot3d-pict
plot3d-bitmap
plot3d-snip
plot3d-frame
plot3d/ dc

5.3.6
top ← prev up next →

### 4`` 3D Plot Procedures

Each 3D plot procedure corresponds with a 2D Plot Procedures procedure. Each behaves the same way as its corresponding 2D procedure, but takes the additional keyword arguments #:z-min, #:z-max, #:angle, #:altitude and #:z-label.

> > procedure
> > (plot3d |  | renderer-tree |
> > | [ | #:x-min x-min |
> > |  | #:x-max x-max |
> > |  | #:y-min y-min |
> > |  | #:y-max y-max |
> > |  | #:z-min z-min |
> > |  | #:z-max z-max |
> > |  | #:width width |
> > |  | #:height height |
> > |  | #:angle angle |
> > |  | #:altitude altitude |
> > |  | #:title title |
> > |  | #:x-label x-label |
> > |  | #:y-label y-label |
> > |  | #:z-label z-label |
> > |  | #:legend-anchor legend-anchor |
> > |  | #:out-file out-file |
> > |  | #:out-kind out-kind]) |
> → (or/c (is-a?/c image-snip%) void?)
> renderer-tree : (treeof (or/c renderer3d? nonrenderer?))
> x-min : (or/c rational? #f) = #f
> x-max : (or/c rational? #f) = #f
> y-min : (or/c rational? #f) = #f
> y-max : (or/c rational? #f) = #f
> z-min : (or/c rational? #f) = #f
> z-max : (or/c rational? #f) = #f
> width : exact-positive-integer? = (plot-width)
> height : exact-positive-integer? = (plot-height)
> angle : real? = (plot3d-angle)
> altitude : real? = (plot3d-altitude)
> title : (or/c string? #f) = (plot-title)
> x-label : (or/c string? #f) = (plot-x-label)
> y-label : (or/c string? #f) = (plot-y-label)
> z-label : (or/c string? #f) = (plot-z-label)
> legend-anchor : anchor/c = (plot-legend-anchor)
> out-file : (or/c path-string? output-port? #f) = #f
> | out-kind |  | : |  | (one-of/c 'auto 'png 'jpeg 'xmb 'xpm 'bmp 'ps 'pdf 'svg)
> |  |  | = |  | 'auto

This procedure corresponds with plot. It plots a 3D renderer or list of renderers (or more generally, a tree of renderers), as returned by points3d, parametric3d, surface3d, isosurface3d, and others.

When the parameter plot-new-window? is #t, plot3d opens a new window to display the plot and returns (void).

When #:out-file is given, plot3d writes the plot to a file using plot3d-file as well as returning a image-snip% or opening a new window.

When given, the x-min, x-max, y-min, y-max, z-min and z-max arguments determine the bounds of the plot, but not the bounds of the renderers.

Deprecated keywords. The #:fgcolor and #:bgcolor keyword arguments are currently supported for backward compatibility, but may not be in the future. Please set the plot-foreground and plot-background parameters instead of using these keyword arguments. The #:lncolor keyword argument is also accepted for backward compatibility but deprecated. It does nothing.

The #:az and #:alt keyword arguments are backward-compatible, deprecated aliases for #:angle and #:altitude, respectively.

> > procedure
> > (plot3d-file |  | renderer-tree |  |  |  |
> > |  | output |  |  |  |
> > | [ | kind] |  |  |  |
> > |  | #:<plot-keyword> <plot-keyword> ...) |  | → |  | void?
> renderer-tree : (treeof (or/c renderer3d? nonrenderer?))
> output : (or/c path-string? output-port?)
> | kind |  | : |  | (one-of/c 'auto 'png 'jpeg 'xmb 'xpm 'bmp 'ps 'pdf 'svg)
> |  |  | = |  | 'auto
> <plot-keyword> : <plot-keyword-contract>
> procedure (plot3d-pict renderer-tree ...) → pict?
> renderer-tree : (treeof (or/c renderer3d? nonrenderer?))
> procedure (plot3d-bitmap renderer-tree ...) → (is-a?/c bitmap%)
> renderer-tree : (treeof (or/c renderer3d? nonrenderer?))
> procedure (plot3d-snip renderer-tree ...) → (is-a?/c image-snip%)
> renderer-tree : (treeof (or/c renderer3d? nonrenderer?))
> procedure (plot3d-frame renderer-tree ...) → (is-a?/c frame%)
> renderer-tree : (treeof (or/c renderer3d? nonrenderer?))

Plot to different backends. Each of these procedures has the same keyword arguments as plot3d, except for deprecated keywords.

These procedures correspond with plot-file, plot-pict, plot-bitmap, plot-snip and plot-frame.

> > procedure
> > (plot3d/dc |  | renderer-tree |  |  |  |
> > |  | dc |  |  |  |
> > |  | x |  |  |  |
> > |  | y |  |  |  |
> > |  | width |  |  |  |
> > |  | height |  |  |  |
> > | [ | #:x-min x-min |  |  |  |
> > |  | #:x-max x-max |  |  |  |
> > |  | #:y-min y-min |  |  |  |
> > |  | #:y-max y-max |  |  |  |
> > |  | #:z-min z-min |  |  |  |
> > |  | #:z-max z-max |  |  |  |
> > |  | #:angle angle |  |  |  |
> > |  | #:altitude altitude |  |  |  |
> > |  | #:title title |  |  |  |
> > |  | #:x-label x-label |  |  |  |
> > |  | #:y-label y-label |  |  |  |
> > |  | #:z-label z-label |  |  |  |
> > |  | #:legend-anchor legend-anchor]) |  | → |  | void?
> renderer-tree : (treeof (or/c renderer3d? nonrenderer?))
> dc : (is-a?/c dc<%>)
> x : real?
> y : real?
> width : (>=/c 0)
> height : (>=/c 0)
> x-min : (or/c rational? #f) = #f
> x-max : (or/c rational? #f) = #f
> y-min : (or/c rational? #f) = #f
> y-max : (or/c rational? #f) = #f
> z-min : (or/c rational? #f) = #f
> z-max : (or/c rational? #f) = #f
> angle : real? = (plot3d-angle)
> altitude : real? = (plot3d-altitude)
> title : (or/c string? #f) = (plot-title)
> x-label : (or/c string? #f) = (plot-x-label)
> y-label : (or/c string? #f) = (plot-y-label)
> z-label : (or/c string? #f) = (plot-z-label)
> legend-anchor : anchor/c = (plot-legend-anchor)

Plots to an arbitrary device context, in the rectangle with width width, height height, and upper-left corner x,y.

Every 3D Plot Procedures procedure is defined in terms of plot3d/dc.

Use this if you need to continually update a plot on a canvas%, or to create other plot3d-like functions with different backends.

This procedure corresponds with plot/dc.

top ← prev up next →