Mercurial > octave
annotate scripts/plot/draw/mesh.m @ 32074:03fe0b635d2e
quiver/quiver3: Overhaul input processing, validation, and add BISTs.
* scripts/plot/draw/private/__quiver__.m: Overhaul numeric input validation.
Simplify input classification using numeric input count switch statements
and avoid quiver3 miscount due to scale factor. Add error messages for all
valid numeric input combinations including vector x,y,z and scale factor.
Move newplot command from quiver/quiver3 into __quiver__ after numeric input
validation. Add hax as an output argument to return any changes back to
calling function.
* scripts/plot/draw/quiver.m: Remove newplot call. Update __quiver__ call
to include hax as a return variable. Update docstring with note that line
style and name-value pairs can both be provided but linstyle must appear
first. Add BISTs to check standard inputs with single and multiple arrows,
arrowhead shape, vector and array inputs, proper treatment of scaling factor
"off", some simple input styles, and input validation BISTs to cover all
numeric input errors. Added known failing BIST for linestyle+pair
arrowhead showing when it should stay off (bug #64143).
* scripts/plot/draw/quiver3.m: Remove newplot call. Update __quiver__ call
to include hax as a return variable. Update docstring with note that line
style and name-value pairs can both be provided but linstyle must appear
first. Add BISTs to check standard inputs with single and multiple arrows,
vector and array inputs, and input validation BISTs to cover all numeric
input errors.
* etc/NEWS.9.md: Update quiver/quiver3 improvement description under General
Improvements.
author | Nicholas R. Jankowski <jankowski.nicholas@gmail.com> |
---|---|
date | Wed, 03 May 2023 22:52:33 -0400 |
parents | 597f3ee61a48 |
children | 2e484f9f1f18 |
rev | line source |
---|---|
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
1 ######################################################################## |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
2 ## |
31706
597f3ee61a48
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
30564
diff
changeset
|
3 ## Copyright (C) 1993-2023 The Octave Project Developers |
27918
b442ec6dda5c
use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents:
27898
diff
changeset
|
4 ## |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
5 ## See the file COPYRIGHT.md in the top-level directory of this |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
6 ## distribution or <https://octave.org/copyright/>. |
2313 | 7 ## |
8 ## This file is part of Octave. | |
9 ## | |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24432
diff
changeset
|
10 ## Octave is free software: you can redistribute it and/or modify it |
2313 | 11 ## under the terms of the GNU General Public License as published by |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24432
diff
changeset
|
12 ## the Free Software Foundation, either version 3 of the License, or |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22355
diff
changeset
|
13 ## (at your option) any later version. |
2313 | 14 ## |
15 ## Octave is distributed in the hope that it will be useful, but | |
16 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22355
diff
changeset
|
17 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22355
diff
changeset
|
18 ## GNU General Public License for more details. |
2313 | 19 ## |
20 ## You should have received a copy of the GNU General Public License | |
7016 | 21 ## along with Octave; see the file COPYING. If not, see |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24432
diff
changeset
|
22 ## <https://www.gnu.org/licenses/>. |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
23 ## |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
24 ######################################################################## |
245 | 25 |
3368 | 26 ## -*- texinfo -*- |
20852
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20097
diff
changeset
|
27 ## @deftypefn {} {} mesh (@var{x}, @var{y}, @var{z}) |
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20097
diff
changeset
|
28 ## @deftypefnx {} {} mesh (@var{z}) |
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20097
diff
changeset
|
29 ## @deftypefnx {} {} mesh (@dots{}, @var{c}) |
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20097
diff
changeset
|
30 ## @deftypefnx {} {} mesh (@dots{}, @var{prop}, @var{val}, @dots{}) |
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20097
diff
changeset
|
31 ## @deftypefnx {} {} mesh (@var{hax}, @dots{}) |
516bb87ea72e
2015 Code Sprint: remove class of function from docstring for all m-files.
Rik <rik@octave.org>
parents:
20097
diff
changeset
|
32 ## @deftypefnx {} {@var{h} =} mesh (@dots{}) |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17066
diff
changeset
|
33 ## Plot a 3-D wireframe mesh. |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17066
diff
changeset
|
34 ## |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17066
diff
changeset
|
35 ## The wireframe mesh is plotted using rectangles. The vertices of the |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17066
diff
changeset
|
36 ## 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:
17066
diff
changeset
|
37 ## 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:
17066
diff
changeset
|
38 ## 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:
17066
diff
changeset
|
39 ## given, then it is plotted over the meshgrid |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17066
diff
changeset
|
40 ## @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:
17066
diff
changeset
|
41 ## Thus, columns of @var{z} correspond to different @var{x} values and rows |
17281
bc924baa2c4e
doc: Add new @qcode macro for code samples which are quoted.
Rik <rik@octave.org>
parents:
17211
diff
changeset
|
42 ## of @var{z} correspond to different @var{y} values. |
11101
1f9ab076f5f7
Include the 4 input (color) in the docstrings for mesh() and surf().
Ben Abbott <bpabbott@mac.com>
parents:
7149
diff
changeset
|
43 ## |
17450
43e0b711d7e0
doc: Correct accidental capitalization @var{Z} in mesh/surf docstrings.
Rik <rik@octave.org>
parents:
17301
diff
changeset
|
44 ## The color of the mesh is computed by linearly scaling the @var{z} values |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17066
diff
changeset
|
45 ## 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:
17066
diff
changeset
|
46 ## change the colormap to control the appearance. |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17066
diff
changeset
|
47 ## |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17066
diff
changeset
|
48 ## 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:
17066
diff
changeset
|
49 ## by supplying a color matrix, @var{c}. |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17066
diff
changeset
|
50 ## |
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17066
diff
changeset
|
51 ## Any property/value pairs are passed directly to the underlying surface |
28733
9342688e86b4
Updated property references for text and graphics functions (bug #50247)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
27923
diff
changeset
|
52 ## object. The full list of properties is documented at |
9342688e86b4
Updated property references for text and graphics functions (bug #50247)
Nicholas R. Jankowski <jankowskin@asme.org>
parents:
27923
diff
changeset
|
53 ## @ref{Surface Properties}. |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17066
diff
changeset
|
54 ## |
24431
0c6cedafc71e
doc: Use 'axes' rather than 'axis' appropriately in docstrings.
Rik <rik@octave.org>
parents:
23219
diff
changeset
|
55 ## If the first argument @var{hax} is an axes handle, then plot into this axes, |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17066
diff
changeset
|
56 ## rather than the current axes returned by @code{gca}. |
14001
5f0bb45e615c
doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents:
11575
diff
changeset
|
57 ## |
5f0bb45e615c
doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents:
11575
diff
changeset
|
58 ## The optional return value @var{h} is a graphics handle to the created |
14032
8497d89a17f1
mesh.m: Correct typo in documentation
Rik <octave@nomad.inbox5.com>
parents:
14001
diff
changeset
|
59 ## surface object. |
17122
eaab03308c0b
doc: Rewrite docstrings for most plot functions.
Rik <rik@octave.org>
parents:
17066
diff
changeset
|
60 ## |
30329
81d26e8481a6
maint: Shorten @seealso lines to less than 80 characters (bug #57599)
Rik <rik@octave.org>
parents:
29358
diff
changeset
|
61 ## @seealso{ezmesh, meshc, meshz, trimesh, contour, surf, surface, meshgrid, |
81d26e8481a6
maint: Shorten @seealso lines to less than 80 characters (bug #57599)
Rik <rik@octave.org>
parents:
29358
diff
changeset
|
62 ## hidden, shading, colormap, caxis} |
3368 | 63 ## @end deftypefn |
4 | 64 |
7109 | 65 function h = mesh (varargin) |
6172 | 66 |
16985
c9346014fed2
Validate inputs are real for mesh, meshc, meshz functions.
Rik <rik@octave.org>
parents:
16828
diff
changeset
|
67 if (! all (cellfun ("isreal", varargin))) |
c9346014fed2
Validate inputs are real for mesh, meshc, meshz functions.
Rik <rik@octave.org>
parents:
16828
diff
changeset
|
68 error ("mesh: X, Y, Z, C arguments must be real"); |
c9346014fed2
Validate inputs are real for mesh, meshc, meshz functions.
Rik <rik@octave.org>
parents:
16828
diff
changeset
|
69 endif |
c9346014fed2
Validate inputs are real for mesh, meshc, meshz functions.
Rik <rik@octave.org>
parents:
16828
diff
changeset
|
70 |
17066
328b579e08e9
mesh.m,meshc.m,meshz.m: Overhaul to use newplot and __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16985
diff
changeset
|
71 [hax, varargin, nargin] = __plt_get_axis_arg__ ("mesh", varargin{:}); |
6390 | 72 |
17211
87ba70043bfc
Don't use ifelse in plot fcns to avoid unnecessary fcn evaluations.
Rik <rik@octave.org>
parents:
17190
diff
changeset
|
73 oldfig = []; |
17301
68bcac3c043a
Correct inversion accidentally introduced in cset 87ba70043bfc.
Rik <rik@octave.org>
parents:
17281
diff
changeset
|
74 if (! isempty (hax)) |
17211
87ba70043bfc
Don't use ifelse in plot fcns to avoid unnecessary fcn evaluations.
Rik <rik@octave.org>
parents:
17190
diff
changeset
|
75 oldfig = get (0, "currentfigure"); |
87ba70043bfc
Don't use ifelse in plot fcns to avoid unnecessary fcn evaluations.
Rik <rik@octave.org>
parents:
17190
diff
changeset
|
76 endif |
17066
328b579e08e9
mesh.m,meshc.m,meshz.m: Overhaul to use newplot and __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16985
diff
changeset
|
77 unwind_protect |
328b579e08e9
mesh.m,meshc.m,meshz.m: Overhaul to use newplot and __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16985
diff
changeset
|
78 hax = newplot (hax); |
17126
26589abbc78d
Don't pass axis handle unnecessarily from high level to low level plot functions.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
79 |
22355
886530282db9
Set "facelighting" and "edgelighting" for mesh plots (bug #48507).
Markus Muetzel <markus.muetzel@gmx.de>
parents:
22323
diff
changeset
|
80 mesh_props = {"facecolor", "w", "edgecolor", "flat", ... |
886530282db9
Set "facelighting" and "edgelighting" for mesh plots (bug #48507).
Markus Muetzel <markus.muetzel@gmx.de>
parents:
22323
diff
changeset
|
81 "facelighting", "none", "edgelighting", "flat"}; |
18896
4d75bda5df80
mesh, meshc, surfc: Allow user provided properties to override defaults.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
82 chararg = find (cellfun ("isclass", varargin, "char"), 1); |
4d75bda5df80
mesh, meshc, surfc: Allow user provided properties to override defaults.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
83 if (isempty (chararg)) |
4d75bda5df80
mesh, meshc, surfc: Allow user provided properties to override defaults.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
84 htmp = surface (varargin{:}, mesh_props{:}); |
4d75bda5df80
mesh, meshc, surfc: Allow user provided properties to override defaults.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
85 else |
4d75bda5df80
mesh, meshc, surfc: Allow user provided properties to override defaults.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
86 htmp = surface (varargin{1:chararg-1}, mesh_props{:}, |
4d75bda5df80
mesh, meshc, surfc: Allow user provided properties to override defaults.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
87 varargin{chararg:end}); |
4d75bda5df80
mesh, meshc, surfc: Allow user provided properties to override defaults.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
88 endif |
7110 | 89 |
17066
328b579e08e9
mesh.m,meshc.m,meshz.m: Overhaul to use newplot and __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16985
diff
changeset
|
90 if (! ishold ()) |
328b579e08e9
mesh.m,meshc.m,meshz.m: Overhaul to use newplot and __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16985
diff
changeset
|
91 set (hax, "view", [-37.5, 30], |
17126
26589abbc78d
Don't pass axis handle unnecessarily from high level to low level plot functions.
Rik <rik@octave.org>
parents:
17122
diff
changeset
|
92 "xgrid", "on", "ygrid", "on", "zgrid", "on"); |
17066
328b579e08e9
mesh.m,meshc.m,meshz.m: Overhaul to use newplot and __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16985
diff
changeset
|
93 endif |
328b579e08e9
mesh.m,meshc.m,meshz.m: Overhaul to use newplot and __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16985
diff
changeset
|
94 unwind_protect_cleanup |
328b579e08e9
mesh.m,meshc.m,meshz.m: Overhaul to use newplot and __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16985
diff
changeset
|
95 if (! isempty (oldfig)) |
328b579e08e9
mesh.m,meshc.m,meshz.m: Overhaul to use newplot and __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16985
diff
changeset
|
96 set (0, "currentfigure", oldfig); |
328b579e08e9
mesh.m,meshc.m,meshz.m: Overhaul to use newplot and __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16985
diff
changeset
|
97 endif |
328b579e08e9
mesh.m,meshc.m,meshz.m: Overhaul to use newplot and __plt_get_axis_arg__.
Rik <rik@octave.org>
parents:
16985
diff
changeset
|
98 end_unwind_protect |
7110 | 99 |
6257 | 100 if (nargout > 0) |
16985
c9346014fed2
Validate inputs are real for mesh, meshc, meshz functions.
Rik <rik@octave.org>
parents:
16828
diff
changeset
|
101 h = htmp; |
6154 | 102 endif |
103 | |
4 | 104 endfunction |
14001
5f0bb45e615c
doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents:
11575
diff
changeset
|
105 |
5f0bb45e615c
doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents:
11575
diff
changeset
|
106 |
14411 | 107 %!demo |
16828
ddac88d32d6a
Make demos in plot m-files compatible with Matlab for running comparison script.
Rik <rik@octave.org>
parents:
14868
diff
changeset
|
108 %! clf; |
14868
5d3a684236b0
maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents:
14412
diff
changeset
|
109 %! x = logspace (0,1,11); |
14411 | 110 %! z = x'*x; |
17190
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17126
diff
changeset
|
111 %! mesh (x, x, z); |
22302
1c4cd12987f5
Use Octave syntax in graphics demos.
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
112 %! xlabel "X-axis"; |
1c4cd12987f5
Use Octave syntax in graphics demos.
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
113 %! ylabel "Y-axis"; |
1c4cd12987f5
Use Octave syntax in graphics demos.
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
114 %! zlabel "Z-axis"; |
1c4cd12987f5
Use Octave syntax in graphics demos.
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
115 %! title ("mesh() with color proportional to height"); |
17190
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17126
diff
changeset
|
116 |
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17126
diff
changeset
|
117 %!demo |
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17126
diff
changeset
|
118 %! clf; |
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17126
diff
changeset
|
119 %! x = logspace (0,1,11); |
df4c4b7708a4
Add titles and clean-up plotting %!demos.
Rik <rik@octave.org>
parents:
17126
diff
changeset
|
120 %! z = x'*x; |
14411 | 121 %! mesh (x, x, z, z.^2); |
22302
1c4cd12987f5
Use Octave syntax in graphics demos.
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
122 %! xlabel "X-axis"; |
1c4cd12987f5
Use Octave syntax in graphics demos.
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
123 %! ylabel "Y-axis"; |
1c4cd12987f5
Use Octave syntax in graphics demos.
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
124 %! zlabel "linear scale"; |
1c4cd12987f5
Use Octave syntax in graphics demos.
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
125 %! title ("mesh() with color proportional to Z^2"); |
14001
5f0bb45e615c
doc: Update documentation for functions returning a graphics handle h (Bug #34761)
Rik <octave@nomad.inbox5.com>
parents:
11575
diff
changeset
|
126 |
14411 | 127 %!demo |
16828
ddac88d32d6a
Make demos in plot m-files compatible with Matlab for running comparison script.
Rik <rik@octave.org>
parents:
14868
diff
changeset
|
128 %! clf; |
14868
5d3a684236b0
maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents:
14412
diff
changeset
|
129 %! x = logspace (0,1,11); |
14411 | 130 %! z = x'*x; |
131 %! mesh (x, x, z, z.^2); | |
22302
1c4cd12987f5
Use Octave syntax in graphics demos.
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
132 %! set (gca, "zscale", "log"); |
1c4cd12987f5
Use Octave syntax in graphics demos.
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
133 %! xlabel "X-axis"; |
1c4cd12987f5
Use Octave syntax in graphics demos.
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
134 %! ylabel "Y-axis"; |
1c4cd12987f5
Use Octave syntax in graphics demos.
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
135 %! zlabel "log scale"; |
1c4cd12987f5
Use Octave syntax in graphics demos.
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
136 %! title ({"mesh() with color proportional to Z^2", "Z-axis is log scale"}); |
18924
9a5e03801d23
Update some plot %!demos so that they run under Matlab.
Rik <rik@octave.org>
parents:
18896
diff
changeset
|
137 %! try |
22302
1c4cd12987f5
Use Octave syntax in graphics demos.
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
138 %! if (strcmp (get (gcf, "__graphics_toolkit__"), "gnuplot")) |
1c4cd12987f5
Use Octave syntax in graphics demos.
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
139 %! title ({"Gnuplot: mesh color is wrong", "This is a Gnuplot bug"}); |
18924
9a5e03801d23
Update some plot %!demos so that they run under Matlab.
Rik <rik@octave.org>
parents:
18896
diff
changeset
|
140 %! endif |
9a5e03801d23
Update some plot %!demos so that they run under Matlab.
Rik <rik@octave.org>
parents:
18896
diff
changeset
|
141 %! catch |
22302
1c4cd12987f5
Use Octave syntax in graphics demos.
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
142 %! end_try_catch |
14411 | 143 |
18896
4d75bda5df80
mesh, meshc, surfc: Allow user provided properties to override defaults.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
144 %!demo |
4d75bda5df80
mesh, meshc, surfc: Allow user provided properties to override defaults.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
145 %! clf; |
4d75bda5df80
mesh, meshc, surfc: Allow user provided properties to override defaults.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
146 %! x = logspace (0,1,11); |
4d75bda5df80
mesh, meshc, surfc: Allow user provided properties to override defaults.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
147 %! z = x'*x; |
22302
1c4cd12987f5
Use Octave syntax in graphics demos.
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
148 %! mesh (x, x, z, "facecolor", "none", "edgecolor", "c"); |
1c4cd12987f5
Use Octave syntax in graphics demos.
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
149 %! xlabel "X-axis"; |
1c4cd12987f5
Use Octave syntax in graphics demos.
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
150 %! ylabel "Y-axis"; |
1c4cd12987f5
Use Octave syntax in graphics demos.
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
151 %! zlabel "Z-axis"; |
1c4cd12987f5
Use Octave syntax in graphics demos.
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
152 %! title ({"mesh() default properties overridden", ... |
1c4cd12987f5
Use Octave syntax in graphics demos.
Rik <rik@octave.org>
parents:
20852
diff
changeset
|
153 %! "transparent mesh with cyan color"}); |