Mercurial > hg > octave-lyh
annotate scripts/plot/__go_draw_figure__.m @ 8249:1f429086565c
[mq]: hidden-children
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 21 Oct 2008 14:06:25 -0400 |
parents | 62d90e049d4f |
children | 7d48766c21a5 |
rev | line source |
---|---|
7017 | 1 ## Copyright (C) 2005, 2007 John W. Eaton |
6405 | 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 | |
7016 | 7 ## the Free Software Foundation; either version 3 of the License, or (at |
8 ## your option) any later version. | |
6405 | 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 | |
7016 | 16 ## along with Octave; see the file COPYING. If not, see |
17 ## <http://www.gnu.org/licenses/>. | |
6405 | 18 |
6895 | 19 ## Undocumented internal function. |
6405 | 20 |
21 ## Author: jwe | |
22 | |
8249 | 23 function __go_draw_figure__ (h, plot_stream, enhanced, mono) |
6405 | 24 |
7269 | 25 if (nargin == 4) |
8249 | 26 htype = get (h, "type"); |
27 if (strcmp (htype, "figure")) | |
6405 | 28 |
29 ## Set figure properties here? | |
30 | |
8249 | 31 ## Get complete list of children. |
32 kids = allchild (h); | |
6405 | 33 nkids = length (kids); |
34 | |
35 if (nkids > 0) | |
36 axes_count = 0; | |
37 for i = 1:nkids | |
7379 | 38 obj = __get__ (kids(i)); |
6405 | 39 switch (obj.type) |
40 case "axes" | |
41 axes_count++; | |
42 endswitch | |
43 endfor | |
44 | |
6619 | 45 fputs (plot_stream, "\nreset;\n"); |
7271 | 46 fputs (plot_stream, "set autoscale fix;\n"); |
8224
62d90e049d4f
Always use multiplot with gnuplot to ensure correct postscript bounding box
David Bateman <dbateman@free.fr>
parents:
8208
diff
changeset
|
47 fputs (plot_stream, "set multiplot;\n"); |
62d90e049d4f
Always use multiplot with gnuplot to ensure correct postscript bounding box
David Bateman <dbateman@free.fr>
parents:
8208
diff
changeset
|
48 fputs (plot_stream, "set origin 0, 0\n"); |
62d90e049d4f
Always use multiplot with gnuplot to ensure correct postscript bounding box
David Bateman <dbateman@free.fr>
parents:
8208
diff
changeset
|
49 fputs (plot_stream, "set size 1, 1\n"); |
6405 | 50 |
51 for i = 1:nkids | |
52 obj = get (kids(i)); | |
53 switch (obj.type) | |
54 case "axes" | |
7269 | 55 __go_draw_axes__ (kids (i), plot_stream, enhanced, mono); |
6405 | 56 otherwise |
57 error ("__go_draw_figure__: unknown object class, %s", | |
58 obj.type); | |
59 endswitch | |
60 endfor | |
61 | |
8224
62d90e049d4f
Always use multiplot with gnuplot to ensure correct postscript bounding box
David Bateman <dbateman@free.fr>
parents:
8208
diff
changeset
|
62 fputs (plot_stream, "unset multiplot;\n"); |
6405 | 63 else |
6619 | 64 fputs (plot_stream, "\nreset; clear;\n"); |
6405 | 65 fflush (plot_stream); |
66 endif | |
67 else | |
68 error ("__go_draw_figure__: expecting figure object, found `%s'", | |
8249 | 69 htype); |
6405 | 70 endif |
71 else | |
72 print_usage (); | |
73 endif | |
74 | |
75 endfunction | |
76 |