Mercurial > hg > octave-nkf
annotate scripts/plot/waterfall.m @ 17200:fe7cb5bb4388
jit.tst: Add code to save/restore JIT state. Only test if HAVE_LLVM is true.
* test/jit.tst: Add code to save/restore JIT state. Only test if HAVE_LLVM
is true.
author | Rik <rik@octave.org> |
---|---|
date | Wed, 07 Aug 2013 14:30:05 -0700 |
parents | df4c4b7708a4 |
children | bc924baa2c4e |
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}) | |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17121
diff
changeset
|
22 ## @deftypefnx {Function File} {} waterfall (@dots{}, @var{c}) |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17121
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:
17121
diff
changeset
|
24 ## @deftypefnx {Function File} {} waterfall (@var{hax}, @dots{}) |
16563 | 25 ## @deftypefnx {Function File} {@var{h} =} waterfall (@dots{}) |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17121
diff
changeset
|
26 ## Plot a 3-D waterfall plot. |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17121
diff
changeset
|
27 ## |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17121
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:
17121
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:
17121
diff
changeset
|
30 ## |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17121
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:
17121
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:
17121
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:
17121
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:
17121
diff
changeset
|
35 ## given, then it is plotted over the meshgrid |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17121
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:
17121
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:
17121
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:
17121
diff
changeset
|
39 ## |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17121
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:
17121
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:
17121
diff
changeset
|
42 ## change the colormap to control the appearance. |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17121
diff
changeset
|
43 ## |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17121
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:
17121
diff
changeset
|
45 ## by supplying a color matrix, @var{c}. |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17121
diff
changeset
|
46 ## |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17121
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:
17121
diff
changeset
|
48 ## object. |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17121
diff
changeset
|
49 ## |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17121
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:
17121
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. | |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17121
diff
changeset
|
55 ## |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17121
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 | |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17121
diff
changeset
|
63 htmp = meshz (varargin{:}); |
16563 | 64 |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17121
diff
changeset
|
65 set (htmp, "meshstyle", "row"); |
16563 | 66 |
67 ## The gnuplot toolkit does nothing with the meshstyle property currently. | |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17121
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) | |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17121
diff
changeset
|
74 h = htmp; |
16563 | 75 endif |
76 | |
77 endfunction | |
78 | |
79 | |
80 %!demo | |
81 %! clf; | |
82 %! colormap ('default'); | |
17121
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); |
17190
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
85 %! title ('waterfall() plot of peaks() function'); |
16563 | 86 |
17190
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
87 %!demo |
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
88 %! clf; |
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
89 %! colormap ('default'); |
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
90 %! Z = peaks (); |
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
91 %! subplot (1,2,1) |
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
92 %! meshz (Z); |
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
93 %! daspect ([2.5, 2.5, 1]); |
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
94 %! title ('meshz() plot'); |
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
95 %! subplot (1,2,2) |
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
96 %! waterfall (Z); |
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
97 %! daspect ([2.5, 2.5, 1]); |
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
98 %! title ('waterfall() plot'); |
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
99 |