Mercurial > hg > octave-lyh
annotate scripts/plot/waterfall.m @ 17194:c954b0a396a2
comet.m: Speed up animation by using low-level graphic commands.
* scripts/plot/comet.m: Speed up animation by using low-level graphic
commands.
author | Rik <rik@octave.org> |
---|---|
date | Mon, 05 Aug 2013 15:44:02 -0700 |
parents | eaab03308c0b |
children | df4c4b7708a4 |
rev | line source |
---|---|
16563 | 1 ## Copyright (C) 2013 Mike Miller |
2 ## | |
3 ## This file is part of Octave. | |
4 ## | |
5 ## Octave is free software; you can redistribute it and/or modify it | |
6 ## under the terms of the GNU General Public License as published by | |
7 ## the Free Software Foundation; either version 3 of the License, or (at | |
8 ## your option) any later version. | |
9 ## | |
10 ## Octave is distributed in the hope that it will be useful, but | |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 ## General Public License for more details. | |
14 ## | |
15 ## You should have received a copy of the GNU General Public License | |
16 ## along with Octave; see the file COPYING. If not, see | |
17 ## <http://www.gnu.org/licenses/>. | |
18 | |
19 ## -*- texinfo -*- | |
20 ## @deftypefn {Function File} {} waterfall (@var{x}, @var{y}, @var{z}) | |
21 ## @deftypefnx {Function File} {} waterfall (@var{z}) | |
17126
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
22 ## @deftypefnx {Function File} {} waterfall (@dots{}, @var{c}) |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
23 ## @deftypefnx {Function File} {} waterfall (@dots{}, @var{prop}, @var{val}, @dots{}) |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
24 ## @deftypefnx {Function File} {} waterfall (@var{hax}, @dots{}) |
16563 | 25 ## @deftypefnx {Function File} {@var{h} =} waterfall (@dots{}) |
17126
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
26 ## Plot a 3-D waterfall plot. |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
27 ## |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
28 ## A waterfall plot is similar to a @code{meshz} plot except only |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
29 ## mesh lines for the rows of @var{z} (x-values) are shown. |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
30 ## |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
31 ## The wireframe mesh is plotted using rectangles. The vertices of the |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
32 ## rectangles [@var{x}, @var{y}] are typically the output of @code{meshgrid}. |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
33 ## over a 2-D rectangular region in the x-y plane. @var{z} determines the |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
34 ## height above the plane of each vertex. If only a single @var{z} matrix is |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
35 ## given, then it is plotted over the meshgrid |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
36 ## @code{@var{x} = 1:columns (@var{z}), @var{y} = 1:rows (@var{z})}. |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
37 ## Thus, columns of @var{z} correspond to different @var{x} values and rows |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
38 ## of @var{z} correspond to different @var{y} values. |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
39 ## |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
40 ## The color of the mesh is computed by linearly scaling the @var{Z} values |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
41 ## to fit the range of the current colormap. Use @code{caxis} and/or |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
42 ## change the colormap to control the appearance. |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
43 ## |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
44 ## Optionally the color of the mesh can be specified independently of @var{z} |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
45 ## by supplying a color matrix, @var{c}. |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
46 ## |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
47 ## Any property/value pairs are passed directly to the underlying surface |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
48 ## object. |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
49 ## |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
50 ## If the first argument @var{hax} is an axes handle, then plot into this axis, |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
51 ## rather than the current axes returned by @code{gca}. |
16563 | 52 ## |
53 ## The optional return value @var{h} is a graphics handle to the created | |
54 ## surface object. | |
17126
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
55 ## |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
56 ## @seealso{meshz, mesh, meshc, contour, surf, surface, ribbon, meshgrid, hidden, shading, colormap, caxis} |
16563 | 57 ## @end deftypefn |
58 | |
59 ## Author: Mike Miller <mtmiller@ieee.org> | |
60 | |
61 function h = waterfall (varargin) | |
62 | |
17126
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
63 htmp = meshz (varargin{:}); |
16563 | 64 |
17126
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
65 set (htmp, "meshstyle", "row"); |
16563 | 66 |
67 ## The gnuplot toolkit does nothing with the meshstyle property currently. | |
17126
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
68 toolkit = get (ancestor (htmp, "figure"), "__graphics_toolkit__"); |
16563 | 69 if (strcmp (toolkit, "gnuplot")) |
70 warning ("waterfall: may not render correctly using toolkit '%s'", toolkit); | |
71 endif | |
72 | |
73 if (nargout > 0) | |
17126
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17125
diff
changeset
|
74 h = htmp; |
16563 | 75 endif |
76 | |
77 endfunction | |
78 | |
79 | |
80 %!demo | |
81 %! clf; | |
82 %! colormap ('default'); | |
17125
d4549655b92e
Rephrase %!tests to take advantage of single output form of peaks().
Rik <rik@octave.org>
parents:
16563
diff
changeset
|
83 %! Z = peaks (); |
16563 | 84 %! waterfall (Z); |
85 |