annotate scripts/plot/comet.m @ 14237:11949c9795a0

Revamp %!demos in m-files to use Octave coding conventions on spacing, etc. Add clf() to all demos using plot features to get reproducibility. Use 64 as input to all colormaps (jet (64)) to get reproducibility. * bicubic.m, cell2mat.m, celldisp.m, cplxpair.m, interp1.m, interp2.m, interpft.m, interpn.m, profile.m, profshow.m, convhull.m, delaunay.m, griddata.m, inpolygon.m, voronoi.m, autumn.m, bone.m, contrast.m, cool.m, copper.m, flag.m, gmap40.m, gray.m, hot.m, hsv.m, image.m, imshow.m, jet.m, ocean.m, pink.m, prism.m, rainbow.m, spring.m, summer.m, white.m, winter.m, condest.m, onenormest.m, axis.m, clabel.m, colorbar.m, comet.m, comet3.m, compass.m, contour.m, contour3.m, contourf.m, cylinder.m, daspect.m, ellipsoid.m, errorbar.m, ezcontour.m, ezcontourf.m, ezmesh.m, ezmeshc.m, ezplot.m, ezplot3.m, ezpolar.m, ezsurf.m, ezsurfc.m, feather.m, fill.m, fplot.m, grid.m, hold.m, isosurface.m, legend.m, loglog.m, loglogerr.m, pareto.m, patch.m, pbaspect.m, pcolor.m, pie.m, pie3.m, plot3.m, plotmatrix.m, plotyy.m, polar.m, quiver.m, quiver3.m, rectangle.m, refreshdata.m, ribbon.m, rose.m, scatter.m, scatter3.m, semilogx.m, semilogxerr.m, semilogy.m, semilogyerr.m, shading.m, slice.m, sombrero.m, stairs.m, stem.m, stem3.m, subplot.m, surf.m, surfc.m, surfl.m, surfnorm.m, text.m, title.m, trimesh.m, triplot.m, trisurf.m, uigetdir.m, uigetfile.m, uimenu.m, uiputfile.m, waitbar.m, xlim.m, ylim.m, zlim.m, mkpp.m, pchip.m, polyaffine.m, spline.m, bicgstab.m, cgs.m, gplot.m, pcg.m, pcr.m, treeplot.m, strtok.m, demo.m, example.m, rundemos.m, speed.m, test.m, calendar.m, datestr.m, datetick.m, weekday.m: Revamp %!demos to use Octave coding conventions on spacing, etc.
author Rik <octave@nomad.inbox5.com>
date Fri, 20 Jan 2012 12:59:53 -0800
parents 72c96de7a403
children 4506eade9f04
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
14138
72c96de7a403 maint: update copyright notices for 2012
John W. Eaton <jwe@octave.org>
parents: 11587
diff changeset
1 ## Copyright (C) 2008-2012 Ben Abbott
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
2 ##
11104
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
3 ## This file is part of Octave.
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
4 ##
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
6 ## under the terms of the GNU General Public License as published by
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
8 ## your option) any later version.
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
9 ##
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
13 ## General Public License for more details.
2c356a35d7f5 fix copyright notices
John W. Eaton <jwe@octave.org>
parents: 10793
diff changeset
14 ##
8126
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
15 ## You should have received a copy of the GNU General Public License
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
17 ## <http://www.gnu.org/licenses/>.
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
18
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
19 ## -*- texinfo -*-
10793
be55736a0783 Grammarcheck the documentation from m-files.
Rik <octave@nomad.inbox5.com>
parents: 10549
diff changeset
20 ## @deftypefn {Function File} {} comet (@var{y})
8126
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
21 ## @deftypefnx {Function File} {} comet (@var{x}, @var{y})
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
22 ## @deftypefnx {Function File} {} comet (@var{x}, @var{y}, @var{p})
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
23 ## @deftypefnx {Function File} {} comet (@var{ax}, @dots{})
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
24 ## Produce a simple comet style animation along the trajectory provided by
9040
dbd0c77e575e Cleanup documentation file plot.texi
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
25 ## the input coordinate vectors (@var{x}, @var{y}), where @var{x} will default
8126
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
26 ## to the indices of @var{y}.
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
27 ##
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
28 ## The speed of the comet may be controlled by @var{p}, which represents the
9040
dbd0c77e575e Cleanup documentation file plot.texi
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
29 ## time which passes as the animation passes from one point to the next. The
8126
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
30 ## default for @var{p} is 0.1 seconds.
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
31 ##
9040
dbd0c77e575e Cleanup documentation file plot.texi
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
32 ## If @var{ax} is specified the animation is produced in that axis rather than
8126
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
33 ## the @code{gca}.
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
34 ## @end deftypefn
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
35
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
36 ## Author: Ben Abbott bpabbott@mac.com
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
37 ## Created: 2008-09-21
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
38
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
39 function comet (varargin)
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
40
11381
d27008c32e0d comet: fix cut and paste error in previous change
John W. Eaton <jwe@octave.org>
parents: 11378
diff changeset
41 [h, varargin, nargin] = __plt_get_axis_arg__ ("comet", varargin{:});
11378
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
42
8126
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
43 if (nargin == 0)
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
44 print_usage ();
11378
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
45 elseif (nargin == 1)
8126
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
46 y = varargin{1};
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
47 x = 1:numel(y);
11378
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
48 p = 0.1;
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
49 elseif (nargin == 2)
8126
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
50 x = varargin{1};
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
51 y = varargin{2};
11378
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
52 p = 0.1;
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
53 elseif (nargin == 3)
8126
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
54 x = varargin{1};
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
55 y = varargin{2};
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
56 p = varargin{3};
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
57 endif
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11523
diff changeset
58
11378
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
59 oldh = gca ();
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
60 unwind_protect
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
61 axes (h);
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
62 newplot ();
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
63 theaxis = [min(x), max(x), min(y), max(y)];
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
64 num = numel (y);
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
65 dn = round (num/10);
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
66 for n = 1:(num+dn);
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
67 m = n - dn;
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
68 m = max ([m, 1]);
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
69 k = min ([n, num]);
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
70 h = plot (x(1:m), y(1:m), "r", x(m:k), y(m:k), "g", x(k), y(k), "ob");
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
71 axis (theaxis);
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
72 drawnow ();
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
73 pause (p);
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
74 endfor
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
75 unwind_protect_cleanup
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
76 axes (oldh);
a0278a856516 comet: if axes are specified, switch temporarily
John W. Eaton <jwe@octave.org>
parents: 11104
diff changeset
77 end_unwind_protect
8126
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
78
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
79 endfunction
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
80
14237
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
81
8126
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
82 %!demo
14237
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
83 %! clf;
8126
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
84 %! t = 0:.1:2*pi;
14237
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
85 %! x = cos (2*t) .* (cos (t).^2);
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
86 %! y = sin (2*t) .* (sin (t).^2);
11949c9795a0 Revamp %!demos in m-files to use Octave coding conventions on spacing, etc.
Rik <octave@nomad.inbox5.com>
parents: 14138
diff changeset
87 %! comet (x,y);
8126
a012580f0d2f comet.m: New File.
Ben Abbott <bpabbott@mac.com>
parents:
diff changeset
88