Mercurial > hg > octave-nkf
annotate doc/interpreter/plotimages.m @ 9912:e9fe12c1b0c0
Set default papersize to the desired imagesize
Set default paperorientation to landscape to stop warning message
author | Rik <rdrider0-list@yahoo.com> |
---|---|
date | Fri, 04 Dec 2009 09:45:15 -0800 |
parents | 20ee7f9cc904 |
children | e76d8c767584 |
rev | line source |
---|---|
9245 | 1 ## Copyright (C) 2007, 2008, 2009 John W. Eaton and David Bateman |
7018 | 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 | |
6888 | 19 function plotimages (nm, typ) |
9088
77e71f3da3d6
Fix documentation image printing under new development code
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
20 set_print_size (); |
77e71f3da3d6
Fix documentation image printing under new development code
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
21 hide_output (); |
77e71f3da3d6
Fix documentation image printing under new development code
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
22 |
7257 | 23 if (strcmp (typ, "png")) |
24 set (0, "defaulttextfontname", "*"); | |
25 endif | |
9912
e9fe12c1b0c0
Set default papersize to the desired imagesize
Rik <rdrider0-list@yahoo.com>
parents:
9298
diff
changeset
|
26 |
7256 | 27 if (strcmp(typ , "txt")) |
28 image_as_txt(nm); | |
29 elseif (strcmp (nm, "plot")) | |
6888 | 30 x = -10:0.1:10; |
31 plot (x, sin (x)); | |
7540
3422f39573b1
strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents:
7257
diff
changeset
|
32 print (cstrcat (nm, ".", typ), cstrcat ("-d", typ)) |
6888 | 33 elseif (strcmp (nm, "hist")) |
9298
20ee7f9cc904
Correct bugs in plot images produced for documentation
Rik <rdrider0-list@yahoo.com>
parents:
9245
diff
changeset
|
34 rand ("state", 2); |
6888 | 35 hist (randn (10000, 1), 30); |
7540
3422f39573b1
strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents:
7257
diff
changeset
|
36 print (cstrcat (nm, ".", typ), cstrcat ("-d", typ)) |
6888 | 37 elseif (strcmp (nm, "errorbar")) |
9298
20ee7f9cc904
Correct bugs in plot images produced for documentation
Rik <rdrider0-list@yahoo.com>
parents:
9245
diff
changeset
|
38 rand ("state", 2); |
6888 | 39 x = 0:0.1:10; |
40 y = sin (x); | |
9298
20ee7f9cc904
Correct bugs in plot images produced for documentation
Rik <rdrider0-list@yahoo.com>
parents:
9245
diff
changeset
|
41 yl = 0.1 .* rand (size (x)); |
20ee7f9cc904
Correct bugs in plot images produced for documentation
Rik <rdrider0-list@yahoo.com>
parents:
9245
diff
changeset
|
42 yu = 0.1 .* rand (size (x)); |
20ee7f9cc904
Correct bugs in plot images produced for documentation
Rik <rdrider0-list@yahoo.com>
parents:
9245
diff
changeset
|
43 errorbar (x, sin (x), yl, yu); |
20ee7f9cc904
Correct bugs in plot images produced for documentation
Rik <rdrider0-list@yahoo.com>
parents:
9245
diff
changeset
|
44 axis ([0, 10, -1.1, 1.1]); |
7540
3422f39573b1
strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents:
7257
diff
changeset
|
45 print (cstrcat (nm, ".", typ), cstrcat ("-d", typ)) |
6888 | 46 elseif (strcmp (nm, "polar")) |
47 polar (0:0.1:10*pi, 0:0.1:10*pi); | |
7540
3422f39573b1
strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents:
7257
diff
changeset
|
48 print (cstrcat (nm, ".", typ), cstrcat ("-d", typ)) |
6888 | 49 elseif (strcmp (nm, "mesh")) |
50 tx = ty = linspace (-8, 8, 41)'; | |
51 [xx, yy] = meshgrid (tx, ty); | |
52 r = sqrt (xx .^ 2 + yy .^ 2) + eps; | |
53 tz = sin (r) ./ r; | |
54 mesh (tx, ty, tz); | |
7540
3422f39573b1
strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents:
7257
diff
changeset
|
55 print (cstrcat (nm, ".", typ), cstrcat ("-d", typ)) |
6888 | 56 elseif (strcmp (nm, "plot3")) |
57 t = 0:0.1:10*pi; | |
58 r = linspace (0, 1, numel (t)); | |
59 z = linspace (0, 1, numel (t)); | |
60 plot3 (r.*sin(t), r.*cos(t), z); | |
7540
3422f39573b1
strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents:
7257
diff
changeset
|
61 print (cstrcat (nm, ".", typ), cstrcat ("-d", typ)) |
7189 | 62 elseif (strcmp (nm, "extended")) |
63 x = 0:0.01:3; | |
64 plot(x,erf(x)); | |
65 hold on; | |
66 plot(x,x,"r"); | |
67 axis([0, 3, 0, 1]); | |
7540
3422f39573b1
strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents:
7257
diff
changeset
|
68 text(0.65, 0.6175, cstrcat('\leftarrow x = {2/\surd\pi {\fontsize{16}', |
7189 | 69 '\int_{\fontsize{8}0}^{\fontsize{8}x}} e^{-t^2} dt} = 0.6175')) |
7540
3422f39573b1
strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents:
7257
diff
changeset
|
70 print (cstrcat (nm, ".", typ), cstrcat ("-d", typ)) |
6888 | 71 else |
72 error ("unrecognized plot requested"); | |
73 endif | |
9088
77e71f3da3d6
Fix documentation image printing under new development code
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
74 hide_output (); |
6888 | 75 endfunction |
76 | |
9088
77e71f3da3d6
Fix documentation image printing under new development code
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
77 function set_print_size () |
77e71f3da3d6
Fix documentation image printing under new development code
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
78 image_size = [5.0, 3.5]; # in inches, 16:9 format |
77e71f3da3d6
Fix documentation image printing under new development code
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
79 border = 0; # For postscript use 50/72 |
77e71f3da3d6
Fix documentation image printing under new development code
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
80 set (0, "defaultfigurepapertype", "<custom>"); |
9912
e9fe12c1b0c0
Set default papersize to the desired imagesize
Rik <rdrider0-list@yahoo.com>
parents:
9298
diff
changeset
|
81 set (0, "defaultfigurepaperorientation", "landscape"); |
9088
77e71f3da3d6
Fix documentation image printing under new development code
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
82 set (0, "defaultfigurepapersize", image_size + 2*border); |
77e71f3da3d6
Fix documentation image printing under new development code
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
83 set (0, "defaultfigurepaperposition", [border, border, image_size]); |
77e71f3da3d6
Fix documentation image printing under new development code
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
84 endfunction |
77e71f3da3d6
Fix documentation image printing under new development code
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
85 |
9912
e9fe12c1b0c0
Set default papersize to the desired imagesize
Rik <rdrider0-list@yahoo.com>
parents:
9298
diff
changeset
|
86 ## Use this function before plotting commands and after every call to |
e9fe12c1b0c0
Set default papersize to the desired imagesize
Rik <rdrider0-list@yahoo.com>
parents:
9298
diff
changeset
|
87 ## print since print() resets output to stdout (unfortunately, gnpulot |
e9fe12c1b0c0
Set default papersize to the desired imagesize
Rik <rdrider0-list@yahoo.com>
parents:
9298
diff
changeset
|
88 ## can't pop output as it can the terminal type). |
9088
77e71f3da3d6
Fix documentation image printing under new development code
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
89 function hide_output () |
6888 | 90 f = figure (1); |
91 set (f, "visible", "off"); | |
92 endfunction | |
7256 | 93 |
94 ## generate something for the texinfo @image command to process | |
95 function image_as_txt(nm) | |
96 fid = fopen (sprintf ("%s.txt", nm), "wt"); | |
97 fputs (fid, "\n"); | |
98 fputs (fid, "+---------------------------------+\n"); | |
99 fputs (fid, "| Image unavailable in text mode. |\n"); | |
100 fputs (fid, "+---------------------------------+\n"); | |
101 fclose (fid); | |
102 endfunction |