Mercurial > octave-nkf
annotate scripts/image/ocean.m @ 9751:2b0cc0b6db61
Add demos for colormap functions
author | Soren Hauberg <hauberg@gmail.com> |
---|---|
date | Thu, 22 Oct 2009 12:18:56 -0400 |
parents | a1dbe9d80eee |
children | 466ba499eff5 |
rev | line source |
---|---|
7017 | 1 ## Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2002, 2005, 2006, |
2 ## 2007 John W. Eaton | |
2313 | 3 ## |
4 ## This file is part of Octave. | |
5 ## | |
6 ## Octave is free software; you can redistribute it and/or modify it | |
7 ## under the terms of the GNU General Public License as published by | |
7016 | 8 ## the Free Software Foundation; either version 3 of the License, or (at |
9 ## your option) any later version. | |
2313 | 10 ## |
11 ## Octave is distributed in the hope that it will be useful, but | |
12 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
14 ## General Public License for more details. | |
15 ## | |
16 ## You should have received a copy of the GNU General Public License | |
7016 | 17 ## along with Octave; see the file COPYING. If not, see |
18 ## <http://www.gnu.org/licenses/>. | |
559 | 19 |
3381 | 20 ## -*- texinfo -*- |
3373 | 21 ## @deftypefn {Function File} {} ocean (@var{n}) |
22 ## Create color colormap. The argument @var{n} should be a scalar. If it | |
6791 | 23 ## is omitted, the length of the current colormap or 64 is assumed. |
3373 | 24 ## @end deftypefn |
1024 | 25 |
3202 | 26 ## Author: Tony Richardson <arichard@stark.cc.oh.us> |
2312 | 27 ## Created: July 1994 |
28 ## Adapted-By: jwe | |
1024 | 29 |
2312 | 30 function map = ocean (number) |
1024 | 31 |
32 if (nargin == 0) | |
6791 | 33 number = rows (colormap); |
1024 | 34 elseif (nargin == 1) |
4030 | 35 if (! isscalar (number)) |
1024 | 36 error ("ocean: argument must be a scalar"); |
37 endif | |
38 else | |
6046 | 39 print_usage (); |
559 | 40 endif |
41 | |
1024 | 42 cutin = fix (number/3); |
2325 | 43 |
1024 | 44 dr = (number - 1) / cutin; |
45 | |
46 r = prepad ([0:dr:(number-1)], number)'; | |
47 | |
48 dg = (number - 1) / (2 * cutin); | |
49 | |
50 g = prepad([0:dg:(number-1)], number)'; | |
51 | |
559 | 52 b = [0:(number-1)]'; |
53 | |
6788 | 54 map = [ r, g, b ] / (number - 1); |
559 | 55 |
56 endfunction | |
9751
2b0cc0b6db61
Add demos for colormap functions
Soren Hauberg <hauberg@gmail.com>
parents:
7017
diff
changeset
|
57 |
2b0cc0b6db61
Add demos for colormap functions
Soren Hauberg <hauberg@gmail.com>
parents:
7017
diff
changeset
|
58 %!demo |
2b0cc0b6db61
Add demos for colormap functions
Soren Hauberg <hauberg@gmail.com>
parents:
7017
diff
changeset
|
59 %! ## Show the 'ocean' colormap as an image |
2b0cc0b6db61
Add demos for colormap functions
Soren Hauberg <hauberg@gmail.com>
parents:
7017
diff
changeset
|
60 %! image (1:64, linspace (0, 1, 64), repmat (1:64, 64, 1)') |
2b0cc0b6db61
Add demos for colormap functions
Soren Hauberg <hauberg@gmail.com>
parents:
7017
diff
changeset
|
61 %! axis ([1, 64, 0, 1], "ticy", "xy") |
2b0cc0b6db61
Add demos for colormap functions
Soren Hauberg <hauberg@gmail.com>
parents:
7017
diff
changeset
|
62 %! colormap ocean |
2b0cc0b6db61
Add demos for colormap functions
Soren Hauberg <hauberg@gmail.com>
parents:
7017
diff
changeset
|
63 |