annotate scripts/plot/__go_draw_axes__.m @ 11198:9f080d23396f

Fix multi-parented legends with the gnuplot backend (fixes #30461 and #31522)
author David Bateman <dbateman@free.fr>
date Sun, 07 Nov 2010 22:35:40 +0100
parents bc3fa8f6c4dc
children 6c8791cb35b1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8920
eb63fbe60fab update copyright notices
John W. Eaton <jwe@octave.org>
parents: 8915
diff changeset
1 ## Copyright (C) 2005, 2007, 2008, 2009 John W. Eaton
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
2 ##
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
3 ## This file is part of Octave.
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
4 ##
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
5 ## Octave is free software; you can redistribute it and/or modify it
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
6 ## under the terms of the GNU General Public License as published by
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7012
diff changeset
7 ## the Free Software Foundation; either version 3 of the License, or (at
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7012
diff changeset
8 ## your option) any later version.
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
9 ##
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
10 ## Octave is distributed in the hope that it will be useful, but
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
13 ## General Public License for more details.
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
14 ##
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
15 ## You should have received a copy of the GNU General Public License
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7012
diff changeset
16 ## along with Octave; see the file COPYING. If not, see
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 7012
diff changeset
17 ## <http://www.gnu.org/licenses/>.
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
18
8812
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8740
diff changeset
19 ## -*- texinfo -*-
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8740
diff changeset
20 ## @deftypefn {Function File} {} __go_draw_axes__ (@var{h}, @var{plot_stream}, @var{enhanced}, @var{mono})
6895
76e3d985ae56 [project @ 2007-09-13 18:22:38 by jwe]
jwe
parents: 6885
diff changeset
21 ## Undocumented internal function.
8812
7d48766c21a5 use consistent format for doc strings of internal functions
John W. Eaton <jwe@octave.org>
parents: 8740
diff changeset
22 ## @end deftypefn
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
23
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
24 ## Author: jwe
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
25
11198
9f080d23396f Fix multi-parented legends with the gnuplot backend (fixes #30461 and #31522)
David Bateman <dbateman@free.fr>
parents: 11171
diff changeset
26 function __go_draw_axes__ (h, plot_stream, enhanced, mono, bg_is_set, hlgnd)
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
27
10528
6a2e4e464d38 Unset figure color in __go_draw_axes__ (partial fix for bug #29060)
David Bateman <dbateman@free.fr>
parents: 10451
diff changeset
28 if (nargin >= 4 && nargin <= 6)
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
29
8894
4414e555505d __go_draw_axes__.m: Do not render axis labels twice when their handles are visible.
Ben Abbott <bpabbott@mac.com>
parents: 8889
diff changeset
30 showhiddenhandles = get (0, "showhiddenhandles");
4414e555505d __go_draw_axes__.m: Do not render axis labels twice when their handles are visible.
Ben Abbott <bpabbott@mac.com>
parents: 8889
diff changeset
31 unwind_protect
4414e555505d __go_draw_axes__.m: Do not render axis labels twice when their handles are visible.
Ben Abbott <bpabbott@mac.com>
parents: 8889
diff changeset
32 set (0, "showhiddenhandles", "on");
4414e555505d __go_draw_axes__.m: Do not render axis labels twice when their handles are visible.
Ben Abbott <bpabbott@mac.com>
parents: 8889
diff changeset
33 axis_obj = __get__ (h);
4414e555505d __go_draw_axes__.m: Do not render axis labels twice when their handles are visible.
Ben Abbott <bpabbott@mac.com>
parents: 8889
diff changeset
34 unwind_protect_cleanup
4414e555505d __go_draw_axes__.m: Do not render axis labels twice when their handles are visible.
Ben Abbott <bpabbott@mac.com>
parents: 8889
diff changeset
35 set (0, "showhiddenhandles", showhiddenhandles);
4414e555505d __go_draw_axes__.m: Do not render axis labels twice when their handles are visible.
Ben Abbott <bpabbott@mac.com>
parents: 8889
diff changeset
36 end_unwind_protect
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
37
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
38 parent_figure_obj = get (axis_obj.parent);
9257
ab952265ad06 __go_draw_axes__.m: Properly render TeX symbols for x11.
Ben Abbott <bpabbott@mac.com>
parents: 9191
diff changeset
39 gnuplot_term = __gnuplot_get_var__ (axis_obj.parent, "GPVAL_TERM");
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
40
8208
f6ca8ff51818 [mq]: graphics-backend
John W. Eaton <jwe@octave.org>
parents: 8190
diff changeset
41 ## Set to false for plotyy axes.
f6ca8ff51818 [mq]: graphics-backend
John W. Eaton <jwe@octave.org>
parents: 8190
diff changeset
42 if (strcmp (axis_obj.tag, "plotyy"))
8102
c066714ee5d5 undo previous change
John W. Eaton <jwe@octave.org>
parents: 8101
diff changeset
43 ymirror = false;
8208
f6ca8ff51818 [mq]: graphics-backend
John W. Eaton <jwe@octave.org>
parents: 8190
diff changeset
44 else
f6ca8ff51818 [mq]: graphics-backend
John W. Eaton <jwe@octave.org>
parents: 8190
diff changeset
45 ymirror = true;
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
46 endif
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
47
10917
888c75785221 Improvements to FLTK backend rotation
Jordi Guti?rrez Hermoso <jordigh@gmail.com>
parents: 10913
diff changeset
48 nd = __calc_dimensions__ (h);
888c75785221 Improvements to FLTK backend rotation
Jordi Guti?rrez Hermoso <jordigh@gmail.com>
parents: 10913
diff changeset
49
10931
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
50 if (strcmp (axis_obj.dataaspectratiomode, "manual")
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
51 && strcmp (axis_obj.xlimmode, "manual")
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
52 && strcmp (axis_obj.ylimmode, "manual"))
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
53 ## All can't be "manual"
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
54 axis_obj.plotboxaspectratiomode = "auto";
10532
568c7c041fac colorbar.m: Consistent treatment of plotboxaspectratio. Add listener for plotboxaspectratiomode.
Ben Abbott <bpabbott@mac.com>
parents: 10528
diff changeset
55 endif
10931
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
56
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
57 if (strcmp (axis_obj.dataaspectratiomode, "manual")
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
58 && strcmp (axis_obj.xlimmode, "manual")
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
59 && strcmp (axis_obj.ylimmode, "manual")
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
60 && (nd == 2 || all (mod (axis_obj.view, 90) == 0)))
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
61 ## FIXME - adjust plotboxaspectratio to respect other
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
62 fpos = get (axis_obj.parent, "position");
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
63 apos = axis_obj.position;
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
64 endif
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
65
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
66 pos = __actual_axis_position__ (h);
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
67
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
68 if (strcmpi (axis_obj.dataaspectratiomode, "manual"))
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
69 dr = axis_obj.dataaspectratio;
10910
40cf7cc4ea62 Properly interpret plotboxaspectratio when 3D objects are viewed as 2D.
Ben Abbott <bpabbott@mac.com>
parents: 10635
diff changeset
70 if (nd == 2 || all (mod (axis_obj.view, 90) == 0))
10931
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
71 dr = dr(1) / dr(2);
8889
665b264b6a50 Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents: 8812
diff changeset
72 else
10931
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
73 ## FIXME - need to properly implement 3D
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
74 dr = mean (dr(1:2)) / dr(3);
8889
665b264b6a50 Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents: 8812
diff changeset
75 endif
665b264b6a50 Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents: 8812
diff changeset
76 else
10931
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
77 dr = 1;
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
78 endif
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
79
11001
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
80 if (strcmp (axis_obj.activepositionproperty, "position"))
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
81 if (__gnuplot_has_feature__ ("screen_coordinates_for_{lrtb}margin"))
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
82 if (nd == 2 || all (mod (axis_obj.view, 90) == 0))
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
83 x = [1, 1];
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
84 else
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
85 ## 3D plots need to be sized down to fit in the window.
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
86 x = 1.0 ./ sqrt([2, 2.5]);
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
87 endif
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
88 fprintf (plot_stream, "set tmargin screen %.15g;\n",
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
89 pos(2)+pos(4)/2+x(2)*pos(4)/2);
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
90 fprintf (plot_stream, "set bmargin screen %.15g;\n",
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
91 pos(2)+pos(4)/2-x(2)*pos(4)/2);
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
92 fprintf (plot_stream, "set lmargin screen %.15g;\n",
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
93 pos(1)+pos(3)/2-x(1)*pos(3)/2);
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
94 fprintf (plot_stream, "set rmargin screen %.15g;\n",
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
95 pos(1)+pos(3)/2+x(1)*pos(3)/2);
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
96 sz_str = "";
10931
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
97 else
11001
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
98 fprintf (plot_stream, "set tmargin 0;\n");
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
99 fprintf (plot_stream, "set bmargin 0;\n");
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
100 fprintf (plot_stream, "set lmargin 0;\n");
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
101 fprintf (plot_stream, "set rmargin 0;\n");
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
102
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
103 if (nd == 3 && all (axis_obj.view == [0, 90]))
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
104 ## FIXME -- Kludge to allow colorbar to be added to a pcolor() plot
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
105 pos(3:4) = pos(3:4) * 1.4;
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
106 pos(1:2) = pos(1:2) - pos(3:4) * 0.125;
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
107 endif
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
108
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
109 fprintf (plot_stream, "set origin %.15g, %.15g;\n", pos(1), pos(2));
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
110
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
111 if (strcmpi (axis_obj.dataaspectratiomode, "manual"))
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
112 sz_str = sprintf ("set size ratio %.15g", -dr);
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
113 else
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
114 sz_str = "set size noratio";
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
115 endif
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
116 sz_str = sprintf ("%s %.15g, %.15g;\n", sz_str, pos(3), pos(4));
10953
9c0b366583cb Revert treatment of activepositionproperty from the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents: 10949
diff changeset
117 endif
11001
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
118 else ## activepositionproperty == outerposition
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
119 fprintf (plot_stream, "set origin %g, %g;\n", pos(1:2))
10953
9c0b366583cb Revert treatment of activepositionproperty from the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents: 10949
diff changeset
120 sz_str = "";
11001
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
121 if (strcmpi (axis_obj.dataaspectratiomode, "manual"))
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
122 sz_str = sprintf ("ratio %g", -dr);
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
123 else
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
124 sz_str = "noratio";
10931
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
125 endif
11001
2ab8cc6dcced Special treatment activepositionproperty = outerposition for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10997
diff changeset
126 sz_str = sprintf ("set size %s %g, %g;\n", sz_str, pos(3:4));
10931
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
127 endif
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
128 if (! isempty (sz_str))
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
129 fputs (plot_stream, sz_str);
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
130 endif
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
131
8953
a6945f92b868 __go_draw_axes__.m: Unset the {x,y,z}ticks when initializing\n\teach axis. Set ticklabels when the ticklabels are empty and when\n\tticklabelmode=="manual".
Ben Abbott <bpabbott@mac.com>
parents: 8943
diff changeset
132 ## Reset all labels, axis-labels, tick-labels, and title
a6945f92b868 __go_draw_axes__.m: Unset the {x,y,z}ticks when initializing\n\teach axis. Set ticklabels when the ticklabels are empty and when\n\tticklabelmode=="manual".
Ben Abbott <bpabbott@mac.com>
parents: 8943
diff changeset
133 ## FIXME - We should have an function to initialize the axis.
a6945f92b868 __go_draw_axes__.m: Unset the {x,y,z}ticks when initializing\n\teach axis. Set ticklabels when the ticklabels are empty and when\n\tticklabelmode=="manual".
Ben Abbott <bpabbott@mac.com>
parents: 8943
diff changeset
134 ## Presently, this is dispersed in this function.
6778
083721ae3dfa [project @ 2007-07-18 17:03:10 by jwe]
jwe
parents: 6766
diff changeset
135 fputs (plot_stream, "unset label;\n");
8953
a6945f92b868 __go_draw_axes__.m: Unset the {x,y,z}ticks when initializing\n\teach axis. Set ticklabels when the ticklabels are empty and when\n\tticklabelmode=="manual".
Ben Abbott <bpabbott@mac.com>
parents: 8943
diff changeset
136 fputs (plot_stream, "unset xtics;\n");
a6945f92b868 __go_draw_axes__.m: Unset the {x,y,z}ticks when initializing\n\teach axis. Set ticklabels when the ticklabels are empty and when\n\tticklabelmode=="manual".
Ben Abbott <bpabbott@mac.com>
parents: 8943
diff changeset
137 fputs (plot_stream, "unset ytics;\n");
a6945f92b868 __go_draw_axes__.m: Unset the {x,y,z}ticks when initializing\n\teach axis. Set ticklabels when the ticklabels are empty and when\n\tticklabelmode=="manual".
Ben Abbott <bpabbott@mac.com>
parents: 8943
diff changeset
138 fputs (plot_stream, "unset ztics;\n");
a6945f92b868 __go_draw_axes__.m: Unset the {x,y,z}ticks when initializing\n\teach axis. Set ticklabels when the ticklabels are empty and when\n\tticklabelmode=="manual".
Ben Abbott <bpabbott@mac.com>
parents: 8943
diff changeset
139 fputs (plot_stream, "unset x2tics;\n");
a6945f92b868 __go_draw_axes__.m: Unset the {x,y,z}ticks when initializing\n\teach axis. Set ticklabels when the ticklabels are empty and when\n\tticklabelmode=="manual".
Ben Abbott <bpabbott@mac.com>
parents: 8943
diff changeset
140 fputs (plot_stream, "unset x2tics;\n");
6778
083721ae3dfa [project @ 2007-07-18 17:03:10 by jwe]
jwe
parents: 6766
diff changeset
141
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
142 if (! isempty (axis_obj.title))
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
143 t = get (axis_obj.title);
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
144 if (isempty (t.string))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
145 fputs (plot_stream, "unset title;\n");
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
146 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
147 [tt, f, s] = __maybe_munge_text__ (enhanced, t, "string");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
148 fontspec = create_fontspec (f, s, gnuplot_term);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
149 fprintf (plot_stream, "set title \"%s\" %s %s",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
150 undo_string_escapes (tt), fontspec,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
151 __do_enhanced_option__ (enhanced, t));
10913
dd6b90f44ae5 Unify gnuplot printing with the fltk backend.
Ben Abbott <bpabbott@mac.com>
parents: 10912
diff changeset
152 if (nd == 3
dd6b90f44ae5 Unify gnuplot printing with the fltk backend.
Ben Abbott <bpabbott@mac.com>
parents: 10912
diff changeset
153 && __gnuplot_has_feature__ ("screen_coordinates_for_{lrtb}margin"))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
154 fprintf (plot_stream, " offset screen 0, screen %.3f;\n", pos(4)/5);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
155 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
156 fprintf (plot_stream, ";\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
157 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
158 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
159 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
160
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
161 if (! isempty (axis_obj.xlabel))
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
162 t = get (axis_obj.xlabel);
6737
7888712d3532 [project @ 2007-06-15 21:45:50 by jwe]
jwe
parents: 6736
diff changeset
163 angle = t.rotation;
7269
3fade00a6ac7 [project @ 2007-12-07 19:26:20 by jwe]
jwe
parents: 7257
diff changeset
164 colorspec = get_text_colorspec (axis_obj.xcolor, mono);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
165 if (isempty (t.string))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
166 fprintf (plot_stream, "unset xlabel;\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
167 fprintf (plot_stream, "unset x2label;\n");
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
168 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
169 [tt, f, s] = __maybe_munge_text__ (enhanced, t, "string");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
170 fontspec = create_fontspec (f, s, gnuplot_term);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
171 if (strcmpi (axis_obj.xaxislocation, "top"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
172 fprintf (plot_stream, "set x2label \"%s\" %s %s %s",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
173 undo_string_escapes (tt), colorspec, fontspec,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
174 __do_enhanced_option__ (enhanced, t));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
175 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
176 fprintf (plot_stream, "set xlabel \"%s\" %s %s %s",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
177 undo_string_escapes (tt), colorspec, fontspec,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
178 __do_enhanced_option__ (enhanced, t));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
179 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
180 fprintf (plot_stream, " rotate by %f;\n", angle);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
181 if (strcmpi (axis_obj.xaxislocation, "top"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
182 fprintf (plot_stream, "unset xlabel;\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
183 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
184 fprintf (plot_stream, "unset x2label;\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
185 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
186 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
187 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
188
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
189 if (! isempty (axis_obj.ylabel))
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
190 t = get (axis_obj.ylabel);
6737
7888712d3532 [project @ 2007-06-15 21:45:50 by jwe]
jwe
parents: 6736
diff changeset
191 angle = t.rotation;
7269
3fade00a6ac7 [project @ 2007-12-07 19:26:20 by jwe]
jwe
parents: 7257
diff changeset
192 colorspec = get_text_colorspec (axis_obj.ycolor, mono);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
193 if (isempty (t.string))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
194 fprintf (plot_stream, "unset ylabel;\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
195 fprintf (plot_stream, "unset y2label;\n");
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
196 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
197 [tt, f, s] = __maybe_munge_text__ (enhanced, t, "string");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
198 fontspec = create_fontspec (f, s, gnuplot_term);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
199 if (strcmpi (axis_obj.yaxislocation, "right"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
200 fprintf (plot_stream, "set y2label \"%s\" %s %s %s",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
201 undo_string_escapes (tt), colorspec, fontspec,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
202 __do_enhanced_option__ (enhanced, t));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
203 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
204 fprintf (plot_stream, "set ylabel \"%s\" %s %s %s",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
205 undo_string_escapes (tt), colorspec, fontspec,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
206 __do_enhanced_option__ (enhanced, t));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
207 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
208 fprintf (plot_stream, " rotate by %f;\n", angle);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
209 if (strcmpi (axis_obj.yaxislocation, "right"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
210 fprintf (plot_stream, "unset ylabel;\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
211 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
212 fprintf (plot_stream, "unset y2label;\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
213 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
214 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
215 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
216
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
217 if (! isempty (axis_obj.zlabel))
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
218 t = get (axis_obj.zlabel);
6737
7888712d3532 [project @ 2007-06-15 21:45:50 by jwe]
jwe
parents: 6736
diff changeset
219 angle = t.rotation;
7269
3fade00a6ac7 [project @ 2007-12-07 19:26:20 by jwe]
jwe
parents: 7257
diff changeset
220 colorspec = get_text_colorspec (axis_obj.zcolor, mono);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
221 if (isempty (t.string))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
222 fputs (plot_stream, "unset zlabel;\n");
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
223 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
224 [tt, f, s] = __maybe_munge_text__ (enhanced, t, "string");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
225 fontspec = create_fontspec (f, s, gnuplot_term);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
226 fprintf (plot_stream, "set zlabel \"%s\" %s %s %s",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
227 undo_string_escapes (tt), colorspec, fontspec,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
228 __do_enhanced_option__ (enhanced, t));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
229 fprintf (plot_stream, " rotate by %f;\n", angle);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
230 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
231 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
232
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
233 if (strcmpi (axis_obj.xaxislocation, "top"))
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
234 xaxisloc = "x2";
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
235 xaxisloc_using = "x2";
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
236 else
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
237 xaxisloc = "x";
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
238 xaxisloc_using = "x1";
7321
359f464342b3 [project @ 2007-12-18 03:48:03 by jwe]
jwe
parents: 7320
diff changeset
239 if (strcmpi (axis_obj.xaxislocation, "zero"))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
240 fputs (plot_stream, "set xzeroaxis;\n");
7321
359f464342b3 [project @ 2007-12-18 03:48:03 by jwe]
jwe
parents: 7320
diff changeset
241 endif
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
242 endif
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
243 if (strcmpi (axis_obj.yaxislocation, "right"))
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
244 yaxisloc = "y2";
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
245 yaxisloc_using = "y2";
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
246 else
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
247 yaxisloc = "y";
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
248 yaxisloc_using = "y1";
7321
359f464342b3 [project @ 2007-12-18 03:48:03 by jwe]
jwe
parents: 7320
diff changeset
249 if (strcmpi (axis_obj.yaxislocation, "zero"))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
250 fputs (plot_stream, "set yzeroaxis;\n");
7321
359f464342b3 [project @ 2007-12-18 03:48:03 by jwe]
jwe
parents: 7320
diff changeset
251 endif
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
252 endif
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
253
7274
44fdc33e5207 [project @ 2007-12-10 07:36:50 by jwe]
jwe
parents: 7271
diff changeset
254 have_grid = false;
44fdc33e5207 [project @ 2007-12-10 07:36:50 by jwe]
jwe
parents: 7271
diff changeset
255
6758
1894012e6b84 [project @ 2007-06-25 23:09:21 by jwe]
jwe
parents: 6752
diff changeset
256 if (strcmpi (axis_obj.xgrid, "on"))
7274
44fdc33e5207 [project @ 2007-12-10 07:36:50 by jwe]
jwe
parents: 7271
diff changeset
257 have_grid = true;
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
258 fprintf (plot_stream, "set grid %stics;\n", xaxisloc);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
259 else
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
260 fprintf (plot_stream, "set grid no%stics;\n", xaxisloc);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
261 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
262
6758
1894012e6b84 [project @ 2007-06-25 23:09:21 by jwe]
jwe
parents: 6752
diff changeset
263 if (strcmpi (axis_obj.ygrid, "on"))
7274
44fdc33e5207 [project @ 2007-12-10 07:36:50 by jwe]
jwe
parents: 7271
diff changeset
264 have_grid = true;
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
265 fprintf (plot_stream, "set grid %stics;\n", yaxisloc);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
266 else
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
267 fprintf (plot_stream, "set grid no%stics;\n", yaxisloc);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
268 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
269
6758
1894012e6b84 [project @ 2007-06-25 23:09:21 by jwe]
jwe
parents: 6752
diff changeset
270 if (strcmpi (axis_obj.zgrid, "on"))
7274
44fdc33e5207 [project @ 2007-12-10 07:36:50 by jwe]
jwe
parents: 7271
diff changeset
271 have_grid = true;
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
272 fputs (plot_stream, "set grid ztics;\n");
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
273 else
7085
607b70017dab [project @ 2007-10-31 16:23:25 by jwe]
jwe
parents: 7078
diff changeset
274 fputs (plot_stream, "set grid noztics;\n");
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
275 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
276
6758
1894012e6b84 [project @ 2007-06-25 23:09:21 by jwe]
jwe
parents: 6752
diff changeset
277 if (strcmpi (axis_obj.xminorgrid, "on"))
7274
44fdc33e5207 [project @ 2007-12-10 07:36:50 by jwe]
jwe
parents: 7271
diff changeset
278 have_grid = true;
9374
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
279 if (strcmp (axis_obj.xscale, "log"))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
280 m = 10;
9374
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
281 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
282 m = 5;
9374
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
283 endif
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
284 fprintf (plot_stream, "set m%stics %d;\n", xaxisloc, m);
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
285 fprintf (plot_stream, "set grid m%stics;\n", xaxisloc);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
286 else
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
287 fprintf (plot_stream, "set grid nom%stics;\n", xaxisloc);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
288 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
289
6758
1894012e6b84 [project @ 2007-06-25 23:09:21 by jwe]
jwe
parents: 6752
diff changeset
290 if (strcmpi (axis_obj.yminorgrid, "on"))
7274
44fdc33e5207 [project @ 2007-12-10 07:36:50 by jwe]
jwe
parents: 7271
diff changeset
291 have_grid = true;
9374
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
292 if (strcmp (axis_obj.yscale, "log"))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
293 m = 10;
9374
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
294 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
295 m = 5;
9374
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
296 endif
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
297 fprintf (plot_stream, "set m%stics %d;\n", yaxisloc, m);
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
298 fprintf (plot_stream, "set grid m%stics;\n", yaxisloc);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
299 else
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
300 fprintf (plot_stream, "set grid nom%stics;\n", yaxisloc);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
301 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
302
6758
1894012e6b84 [project @ 2007-06-25 23:09:21 by jwe]
jwe
parents: 6752
diff changeset
303 if (strcmpi (axis_obj.zminorgrid, "on"))
7274
44fdc33e5207 [project @ 2007-12-10 07:36:50 by jwe]
jwe
parents: 7271
diff changeset
304 have_grid = true;
9374
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
305 if (strcmp (axis_obj.zscale, "log"))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
306 m = 10;
9374
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
307 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
308 m = 5;
9374
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
309 endif
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
310 fprintf (plot_stream, "set mztics %d;\n", m);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
311 fputs (plot_stream, "set grid mztics;\n");
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
312 else
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
313 fputs (plot_stream, "set grid nomztics;\n");
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
314 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
315
7307
28a9e3d3bf14 [project @ 2007-12-12 18:44:35 by jwe]
jwe
parents: 7297
diff changeset
316 ## The grid front/back/layerdefault option also controls the
28a9e3d3bf14 [project @ 2007-12-12 18:44:35 by jwe]
jwe
parents: 7297
diff changeset
317 ## appearance of tics, so it is used even if the grid is absent.
28a9e3d3bf14 [project @ 2007-12-12 18:44:35 by jwe]
jwe
parents: 7297
diff changeset
318 if (strcmpi (axis_obj.layer, "top"))
28a9e3d3bf14 [project @ 2007-12-12 18:44:35 by jwe]
jwe
parents: 7297
diff changeset
319 fputs (plot_stream, "set grid front;\n");
9438
bac81ac76a57 __go_draw_axes__.m: also use layer property for plot border
John W. Eaton <jwe@octave.org>
parents: 9374
diff changeset
320 fputs (plot_stream, "set border front;\n");
7307
28a9e3d3bf14 [project @ 2007-12-12 18:44:35 by jwe]
jwe
parents: 7297
diff changeset
321 else
28a9e3d3bf14 [project @ 2007-12-12 18:44:35 by jwe]
jwe
parents: 7297
diff changeset
322 fputs (plot_stream, "set grid layerdefault;\n");
9438
bac81ac76a57 __go_draw_axes__.m: also use layer property for plot border
John W. Eaton <jwe@octave.org>
parents: 9374
diff changeset
323 ## FIXME -- the gnuplot help says that "layerdefault" should work
bac81ac76a57 __go_draw_axes__.m: also use layer property for plot border
John W. Eaton <jwe@octave.org>
parents: 9374
diff changeset
324 ## for set border too, but it fails for me with gnuplot 4.2.5. So
bac81ac76a57 __go_draw_axes__.m: also use layer property for plot border
John W. Eaton <jwe@octave.org>
parents: 9374
diff changeset
325 ## use "back" instead.
bac81ac76a57 __go_draw_axes__.m: also use layer property for plot border
John W. Eaton <jwe@octave.org>
parents: 9374
diff changeset
326 fputs (plot_stream, "set border back;\n");
7307
28a9e3d3bf14 [project @ 2007-12-12 18:44:35 by jwe]
jwe
parents: 7297
diff changeset
327 endif
7297
ec1f6f8baf94 [project @ 2007-12-11 21:25:52 by jwe]
jwe
parents: 7296
diff changeset
328 if (! have_grid)
ec1f6f8baf94 [project @ 2007-12-11 21:25:52 by jwe]
jwe
parents: 7296
diff changeset
329 fputs (plot_stream, "unset grid;\n");
7274
44fdc33e5207 [project @ 2007-12-10 07:36:50 by jwe]
jwe
parents: 7271
diff changeset
330 endif
44fdc33e5207 [project @ 2007-12-10 07:36:50 by jwe]
jwe
parents: 7271
diff changeset
331
9257
ab952265ad06 __go_draw_axes__.m: Properly render TeX symbols for x11.
Ben Abbott <bpabbott@mac.com>
parents: 9191
diff changeset
332 do_tics (axis_obj, plot_stream, ymirror, mono, gnuplot_term);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
333
10451
348b26872fc8 Fix bug with logscale in combination with colorbar
Petr Mikulik <mikulik@physics.muni.cz>
parents: 10238
diff changeset
334 fputs (plot_stream, "unset logscale;\n");
6758
1894012e6b84 [project @ 2007-06-25 23:09:21 by jwe]
jwe
parents: 6752
diff changeset
335 xlogscale = strcmpi (axis_obj.xscale, "log");
10451
348b26872fc8 Fix bug with logscale in combination with colorbar
Petr Mikulik <mikulik@physics.muni.cz>
parents: 10238
diff changeset
336 ylogscale = strcmpi (axis_obj.yscale, "log");
348b26872fc8 Fix bug with logscale in combination with colorbar
Petr Mikulik <mikulik@physics.muni.cz>
parents: 10238
diff changeset
337 zlogscale = strcmpi (axis_obj.zscale, "log");
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
338 if (xlogscale)
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
339 fprintf (plot_stream, "set logscale %s;\n", xaxisloc);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
340 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
341 if (ylogscale)
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
342 fprintf (plot_stream, "set logscale %s;\n", yaxisloc);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
343 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
344 if (zlogscale)
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
345 fputs (plot_stream, "set logscale z;\n");
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
346 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
347
6758
1894012e6b84 [project @ 2007-06-25 23:09:21 by jwe]
jwe
parents: 6752
diff changeset
348 xautoscale = strcmpi (axis_obj.xlimmode, "auto");
1894012e6b84 [project @ 2007-06-25 23:09:21 by jwe]
jwe
parents: 6752
diff changeset
349 yautoscale = strcmpi (axis_obj.ylimmode, "auto");
1894012e6b84 [project @ 2007-06-25 23:09:21 by jwe]
jwe
parents: 6752
diff changeset
350 zautoscale = strcmpi (axis_obj.zlimmode, "auto");
7109
5436efbf35e3 [project @ 2007-11-06 22:16:25 by jwe]
jwe
parents: 7094
diff changeset
351 cautoscale = strcmpi (axis_obj.climmode, "auto");
7471
86ba621332ff Implement cdatamapping and respect to to allow correct image/imagesc rendering
David Bateman <dbateman@free.fr>
parents: 7462
diff changeset
352 cdatadirect = false;
7930
1f6eb3de1c4e __img__.m, imshow.m, __go_draw_axes__.m: improve handling of truecolor images
John W. Eaton <jwe@octave.org>
parents: 7873
diff changeset
353 truecolor = false;
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
354
8360
32d9c0299e99 Set gnuplot two point clipping
David Bateman <dbateman@free.fr>
parents: 8354
diff changeset
355 fputs (plot_stream, "set clip two;\n");
32d9c0299e99 Set gnuplot two point clipping
David Bateman <dbateman@free.fr>
parents: 8354
diff changeset
356
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
357 kids = axis_obj.children;
8915
485eabc0cfec __go_draw_axes__.m: Preserve the order of axes' children when pruning the handles for the {x,y,z}labels and title.
Ben Abbott <bpabbott@mac.com>
parents: 8909
diff changeset
358 ## Remove the axis labels and title from the children, and
485eabc0cfec __go_draw_axes__.m: Preserve the order of axes' children when pruning the handles for the {x,y,z}labels and title.
Ben Abbott <bpabbott@mac.com>
parents: 8909
diff changeset
359 ## preserved the original order.
485eabc0cfec __go_draw_axes__.m: Preserve the order of axes' children when pruning the handles for the {x,y,z}labels and title.
Ben Abbott <bpabbott@mac.com>
parents: 8909
diff changeset
360 [jnk, k] = setdiff (kids, [axis_obj.xlabel; axis_obj.ylabel; ...
485eabc0cfec __go_draw_axes__.m: Preserve the order of axes' children when pruning the handles for the {x,y,z}labels and title.
Ben Abbott <bpabbott@mac.com>
parents: 8909
diff changeset
361 axis_obj.zlabel; axis_obj.title]);
485eabc0cfec __go_draw_axes__.m: Preserve the order of axes' children when pruning the handles for the {x,y,z}labels and title.
Ben Abbott <bpabbott@mac.com>
parents: 8909
diff changeset
362 kids = kids (sort (k));
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
363
7316
fac781a4078d [project @ 2007-12-14 17:32:25 by jwe]
jwe
parents: 7307
diff changeset
364 if (nd == 3)
fac781a4078d [project @ 2007-12-14 17:32:25 by jwe]
jwe
parents: 7307
diff changeset
365 fputs (plot_stream, "set parametric;\n");
fac781a4078d [project @ 2007-12-14 17:32:25 by jwe]
jwe
parents: 7307
diff changeset
366 fputs (plot_stream, "set style data lines;\n");
fac781a4078d [project @ 2007-12-14 17:32:25 by jwe]
jwe
parents: 7307
diff changeset
367 fputs (plot_stream, "set surface;\n");
fac781a4078d [project @ 2007-12-14 17:32:25 by jwe]
jwe
parents: 7307
diff changeset
368 fputs (plot_stream, "unset contour;\n");
fac781a4078d [project @ 2007-12-14 17:32:25 by jwe]
jwe
parents: 7307
diff changeset
369 endif
fac781a4078d [project @ 2007-12-14 17:32:25 by jwe]
jwe
parents: 7307
diff changeset
370
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
371 data_idx = 0;
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
372 data = cell ();
6464
9914ad33ac6a [project @ 2007-03-27 02:21:47 by jwe]
jwe
parents: 6463
diff changeset
373 is_image_data = [];
7175
5ff4da7bd2e7 [project @ 2007-11-14 20:36:48 by jwe]
jwe
parents: 7170
diff changeset
374 hidden_removal = NaN;
7271
c18512d0ddb6 [project @ 2007-12-10 06:52:51 by jwe]
jwe
parents: 7269
diff changeset
375 view_map = false;
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
376
7223
868101dc4404 [project @ 2007-11-30 06:30:55 by jwe]
jwe
parents: 7222
diff changeset
377 xlim = axis_obj.xlim;
868101dc4404 [project @ 2007-11-30 06:30:55 by jwe]
jwe
parents: 7222
diff changeset
378 ylim = axis_obj.ylim;
868101dc4404 [project @ 2007-11-30 06:30:55 by jwe]
jwe
parents: 7222
diff changeset
379 zlim = axis_obj.zlim;
868101dc4404 [project @ 2007-11-30 06:30:55 by jwe]
jwe
parents: 7222
diff changeset
380 clim = axis_obj.clim;
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
381
7222
dd8b3bbeeaf9 [project @ 2007-11-30 06:23:25 by jwe]
jwe
parents: 7220
diff changeset
382 if (! cautoscale && clim(1) == clim(2))
dd8b3bbeeaf9 [project @ 2007-11-30 06:23:25 by jwe]
jwe
parents: 7220
diff changeset
383 clim(2)++;
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
384 endif
9110
22ae6b3411a7 Add isocolor, isonormals and isosurface functions (For Martin Helm). Add 3D filled triangular patches and the trisurf function
David Bateman <dbateman@free.fr>
parents: 9098
diff changeset
385 addedcmap = [];
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
386
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
387 ximg_data = {};
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
388 ximg_data_idx = 0;
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
389
7865
b74039822fd2 Add support for hggroup
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7726
diff changeset
390 while (! isempty (kids))
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
391
8344
b5f10b123440 __go_draw_axes__.m: Correct order for rendering children.
Ben Abbott <bpabbott@mac.com>
parents: 8322
diff changeset
392 obj = get (kids(end));
10992
88687577519f __go_draw_axes__.m: Ensure text objects have units of "data".
Ben Abbott <bpabbott@mac.com>
parents: 10990
diff changeset
393 if (isfield (obj, "units"))
88687577519f __go_draw_axes__.m: Ensure text objects have units of "data".
Ben Abbott <bpabbott@mac.com>
parents: 10990
diff changeset
394 units = obj.units;
88687577519f __go_draw_axes__.m: Ensure text objects have units of "data".
Ben Abbott <bpabbott@mac.com>
parents: 10990
diff changeset
395 unwind_protect
88687577519f __go_draw_axes__.m: Ensure text objects have units of "data".
Ben Abbott <bpabbott@mac.com>
parents: 10990
diff changeset
396 set (kids(end), "units", "data")
88687577519f __go_draw_axes__.m: Ensure text objects have units of "data".
Ben Abbott <bpabbott@mac.com>
parents: 10990
diff changeset
397 obj = get (kids(end));
88687577519f __go_draw_axes__.m: Ensure text objects have units of "data".
Ben Abbott <bpabbott@mac.com>
parents: 10990
diff changeset
398 unwind_protect_cleanup
88687577519f __go_draw_axes__.m: Ensure text objects have units of "data".
Ben Abbott <bpabbott@mac.com>
parents: 10990
diff changeset
399 set (kids(end), "units", units)
88687577519f __go_draw_axes__.m: Ensure text objects have units of "data".
Ben Abbott <bpabbott@mac.com>
parents: 10990
diff changeset
400 end_unwind_protect
88687577519f __go_draw_axes__.m: Ensure text objects have units of "data".
Ben Abbott <bpabbott@mac.com>
parents: 10990
diff changeset
401 endif
8344
b5f10b123440 __go_draw_axes__.m: Correct order for rendering children.
Ben Abbott <bpabbott@mac.com>
parents: 8322
diff changeset
402 kids = kids(1:(end-1));
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
403
8190
73d6b71788c0 use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents: 8171
diff changeset
404 if (strcmpi (obj.visible, "off"))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
405 continue;
8052
961d4c52ffae Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents: 8048
diff changeset
406 endif
961d4c52ffae Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents: 8048
diff changeset
407
8171
15ffb9836c01 __go_draw_axes__.m: Remove depdenence on gnuplot version.
Ben Abbott <bpabbott@mac.com>
parents: 8166
diff changeset
408 ## Check for facecolor interpolation for surfaces.
15ffb9836c01 __go_draw_axes__.m: Remove depdenence on gnuplot version.
Ben Abbott <bpabbott@mac.com>
parents: 8166
diff changeset
409 doing_interp_color = ...
15ffb9836c01 __go_draw_axes__.m: Remove depdenence on gnuplot version.
Ben Abbott <bpabbott@mac.com>
parents: 8166
diff changeset
410 isfield (obj, "facecolor") && strncmp (obj.facecolor, "interp", 6);
8166
4024fc815f8d __go_draw_axes__.m: Fix interpolation of facecolors.
Ben Abbott <bpabbott@mac.com>
parents: 8164
diff changeset
411
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
412 switch (obj.type)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
413 case "image"
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
414 img_data = obj.cdata;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
415 img_xdata = obj.xdata;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
416 img_ydata = obj.ydata;
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
417
11109
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
418 if (ndims (img_data) == 3)
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
419 truecolor = true;
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
420 elseif (strcmpi (obj.cdatamapping, "direct"))
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
421 cdatadirect = true;
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
422 endif
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
423 data_idx++;
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
424 is_image_data(data_idx) = true;
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
425 parametric(data_idx) = false;
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
426 have_cdata(data_idx) = false;
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
427 have_3d_patch(data_idx) = false;
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
428
11109
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
429 if (img_xdata(2) < img_xdata(1))
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
430 img_xdata = img_xdata(2:-1:1);
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
431 img_data = img_data(:,end:-1:1,:);
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
432 elseif (img_xdata(1) == img_xdata(2))
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
433 img_xdata = img_xdata(1) + [0, size(img_data,2)-1];
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
434 endif
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
435 if (img_ydata(2) < img_ydata(1))
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
436 img_ydata = img_ydata(2:-1:1);
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
437 img_data = img_data(end:-1:1,:,:);
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
438 elseif (img_ydata(1) == img_ydata(2))
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
439 img_ydata = img_ydata(1) + [0, size(img_data,1)-1];
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
440 endif
11090
2adf4736dafa Do not store flipped image property values when x/ydata descends.
Ben Abbott <bpabbott@mac.com>
parents: 11032
diff changeset
441
11109
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
442 [y_dim, x_dim] = size (img_data(:,:,1));
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
443 if (x_dim > 1)
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
444 dx = abs (img_xdata(2)-img_xdata(1))/(x_dim-1);
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
445 else
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
446 x_dim = 2;
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
447 img_data = [img_data, img_data];
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
448 dx = abs (img_xdata(2)-img_xdata(1));
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
449 endif
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
450 if (y_dim > 1)
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
451 dy = abs (img_ydata(2)-img_ydata(1))/(y_dim-1);
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
452 else
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
453 y_dim = 2;
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
454 img_data = [img_data; img_data];
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
455 dy = abs (img_ydata(2)-img_ydata(1));
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
456 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
457
11109
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
458 x_origin = min (img_xdata);
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
459 y_origin = min (img_ydata);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
460
11109
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
461 if (ndims (img_data) == 3)
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
462 data{data_idx} = permute (img_data, [3, 1, 2])(:);
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
463 format = "1:2:3";
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
464 imagetype = "rgbimage";
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
465 else
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
466 data{data_idx} = img_data(:);
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
467 format = "1";
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
468 imagetype = "image";
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
469 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
470
11109
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
471 titlespec{data_idx} = "title \"\"";
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
472 usingclause{data_idx} = sprintf ("binary array=%dx%d scan=yx origin=(%.15g,%.15g) dx=%.15g dy=%.15g using %s",
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
473 x_dim, y_dim, x_origin, y_origin, dx, dy, format);
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
474 withclause{data_idx} = sprintf ("with %s;", imagetype);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
475
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
476 case "line"
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
477 if (strncmp (obj.linestyle, "none", 4)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
478 && (! isfield (obj, "marker")
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
479 || (isfield (obj, "marker")
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
480 && strncmp (obj.marker, "none", 4))))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
481 continue;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
482 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
483 data_idx++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
484 is_image_data(data_idx) = false;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
485 parametric(data_idx) = true;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
486 have_cdata(data_idx) = false;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
487 have_3d_patch(data_idx) = false;
10995
e81914f3921f Update legend code to support fltk (fixes #29348 and partially fixes #30461)
David Bateman <dbateman@free.fr>
parents: 10992
diff changeset
488 if (isempty (obj.displayname))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
489 titlespec{data_idx} = "title \"\"";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
490 else
10995
e81914f3921f Update legend code to support fltk (fixes #29348 and partially fixes #30461)
David Bateman <dbateman@free.fr>
parents: 10992
diff changeset
491 tmp = undo_string_escapes (__maybe_munge_text__ (enhanced, obj, "displayname"));
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
492 titlespec{data_idx} = cstrcat ("title \"", tmp, "\"");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
493 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
494 usingclause{data_idx} = sprintf ("record=%d", numel (obj.xdata));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
495 errbars = "";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
496 if (nd == 3)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
497 xdat = obj.xdata(:);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
498 ydat = obj.ydata(:);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
499 if (! isempty (obj.zdata))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
500 zdat = obj.zdata(:);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
501 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
502 zdat = zeros (size (xdat));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
503 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
504 data{data_idx} = [xdat, ydat, zdat]';
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
505 usingclause{data_idx} = sprintf ("record=%d using ($1):($2):($3)", numel (xdat));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
506 ## fputs (plot_stream, "set parametric;\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
507 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
508 xdat = obj.xdata(:);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
509 ydat = obj.ydata(:);
10597
ba346313bdc1 __go_draw_axes__.m: Remove gnuplot errorbar code.
Ben Abbott <bpabbott@mac.com>
parents: 10582
diff changeset
510 data{data_idx} = [xdat, ydat]';
ba346313bdc1 __go_draw_axes__.m: Remove gnuplot errorbar code.
Ben Abbott <bpabbott@mac.com>
parents: 10582
diff changeset
511 usingclause{data_idx} = sprintf ("record=%d using ($1):($2) axes %s%s",
ba346313bdc1 __go_draw_axes__.m: Remove gnuplot errorbar code.
Ben Abbott <bpabbott@mac.com>
parents: 10582
diff changeset
512 rows(xdat), xaxisloc_using, yaxisloc_using);
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
513 endif
7510
f3e6ada67d9e improve handling line style for errorbar plots
John W. Eaton <jwe@octave.org>
parents: 7472
diff changeset
514
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
515 style = do_linestyle_command (obj, obj.color, data_idx, mono,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
516 plot_stream, errbars);
7510
f3e6ada67d9e improve handling line style for errorbar plots
John W. Eaton <jwe@octave.org>
parents: 7472
diff changeset
517
10111
b52cba8be2eb Fix for markerfacecolor and markeredgecolor properties with unfillable markers like '+'
David Bateman <dbateman@free.fr>
parents: 10089
diff changeset
518 withclause{data_idx} = sprintf ("with %s linestyle %d",
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
519 style{1}, data_idx);
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
520
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
521 if (length (style) > 1)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
522 data_idx++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
523 is_image_data(data_idx) = is_image_data(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
524 parametric(data_idx) = parametric(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
525 have_cdata(data_idx) = have_cdata(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
526 have_3d_patch(data_idx) = have_3d_patch(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
527 titlespec{data_idx} = "title \"\"";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
528 usingclause{data_idx} = usingclause{data_idx - 1};
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
529 data{data_idx} = data{data_idx - 1};
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
530 withclause{data_idx} = sprintf ("with %s linestyle %d",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
531 style{2}, data_idx);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
532 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
533 if (length (style) > 2)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
534 data_idx++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
535 is_image_data(data_idx) = is_image_data(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
536 parametric(data_idx) = parametric(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
537 have_cdata(data_idx) = have_cdata(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
538 have_3d_patch(data_idx) = have_3d_patch(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
539 titlespec{data_idx} = "title \"\"";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
540 usingclause{data_idx} = usingclause{data_idx - 1};
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
541 data{data_idx} = data{data_idx - 1};
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
542 withclause{data_idx} = sprintf ("with %s linestyle %d",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
543 style{3}, data_idx);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
544 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
545
6790
f1157da78825 [project @ 2007-07-24 19:02:27 by jwe]
jwe
parents: 6788
diff changeset
546 case "patch"
6885
987a7bf45c99 [project @ 2007-09-10 20:51:09 by jwe]
jwe
parents: 6861
diff changeset
547 cmap = parent_figure_obj.colormap;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
548 [nr, nc] = size (obj.xdata);
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
549
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
550 if (! isempty (obj.cdata))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
551 cdat = obj.cdata;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
552 if (strcmpi (obj.cdatamapping, "direct"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
553 cdatadirect = true;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
554 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
555 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
556 cdat = [];
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
557 endif
9110
22ae6b3411a7 Add isocolor, isonormals and isosurface functions (For Martin Helm). Add 3D filled triangular patches and the trisurf function
David Bateman <dbateman@free.fr>
parents: 9098
diff changeset
558
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
559 data_3d_idx = NaN;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
560 for i = 1:nc
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
561 xcol = obj.xdata(:,i);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
562 ycol = obj.ydata(:,i);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
563 if (nd == 3)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
564 if (! isempty (obj.zdata))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
565 zcol = obj.zdata(:,i);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
566 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
567 zcol = zeros (size (xcol));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
568 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
569 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
570
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
571 if (! isnan (xcol) && ! isnan (ycol))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
572 ## Is the patch closed or not
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
573 if (strncmp (obj.facecolor, "none", 4))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
574 hidden_removal = false;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
575 else
7170
9f38c6293317 [project @ 2007-11-13 17:34:33 by jwe]
jwe
parents: 7168
diff changeset
576
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
577 if (isnan (hidden_removal))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
578 hidden_removal = true;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
579 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
580 if (nd == 3)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
581 if (numel (xcol) > 3)
10635
d1978e7364ad Print name of function in error() string messages.
Rik <octave@nomad.inbox5.com>
parents: 10597
diff changeset
582 error ("__go_draw_axes__: gnuplot (as of v4.2) only supports 3D filled triangular patches");
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
583 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
584 if (isnan (data_3d_idx))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
585 data_idx++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
586 data_3d_idx = data_idx;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
587 is_image_data(data_idx) = false;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
588 parametric(data_idx) = false;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
589 have_cdata(data_idx) = true;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
590 have_3d_patch(data_idx) = true;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
591 withclause{data_3d_idx} = sprintf ("with pm3d");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
592 usingclause{data_3d_idx} = "using 1:2:3:4";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
593 data{data_3d_idx} = [];
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
594 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
595 local_idx = data_3d_idx;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
596 ccdat = NaN;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
597 endif
7170
9f38c6293317 [project @ 2007-11-13 17:34:33 by jwe]
jwe
parents: 7168
diff changeset
598 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
599 data_idx++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
600 local_idx = data_idx;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
601 is_image_data(data_idx) = false;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
602 parametric(data_idx) = false;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
603 have_cdata(data_idx) = false;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
604 have_3d_patch(data_idx) = false;
7170
9f38c6293317 [project @ 2007-11-13 17:34:33 by jwe]
jwe
parents: 7168
diff changeset
605 endif
9f38c6293317 [project @ 2007-11-13 17:34:33 by jwe]
jwe
parents: 7168
diff changeset
606
10995
e81914f3921f Update legend code to support fltk (fixes #29348 and partially fixes #30461)
David Bateman <dbateman@free.fr>
parents: 10992
diff changeset
607 if (i > 1 || isempty (obj.displayname))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
608 titlespec{local_idx} = "title \"\"";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
609 else
10995
e81914f3921f Update legend code to support fltk (fixes #29348 and partially fixes #30461)
David Bateman <dbateman@free.fr>
parents: 10992
diff changeset
610 tmp = undo_string_escapes (__maybe_munge_text__ (enhanced, obj, "displayname"));
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
611 titlespec{local_idx} = cstrcat ("title \"", tmp, "\"");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
612 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
613 if (isfield (obj, "facecolor"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
614 if ((strncmp (obj.facecolor, "flat", 4)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
615 || strncmp (obj.facecolor, "interp", 6))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
616 && isfield (obj, "cdata"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
617 if (ndims (obj.cdata) == 2
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
618 && (size (obj.cdata, 2) == nc
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
619 && (size (obj.cdata, 1) == 1
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
620 || size (obj.cdata, 1) == 3)))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
621 ccol = cdat (:, i);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
622 elseif (ndims (obj.cdata) == 2
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
623 && (size (obj.cdata, 1) == nc
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
624 && (size (obj.cdata, 2) == 1
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
625 || size (obj.cdata, 2) == 3)))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
626 ccol = cdat (i, :);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
627 elseif (ndims (obj.cdata) == 3)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
628 ccol = permute (cdat (:, i, :), [1, 3, 2]);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
629 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
630 ccol = cdat;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
631 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
632 if (strncmp (obj.facecolor, "flat", 4))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
633 if (numel(ccol) == 3)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
634 color = ccol;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
635 elseif (nd == 3 && numel (xcol) == 3)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
636 ccdat = ccol * ones (3,1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
637 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
638 r = 1 + round ((size (cmap, 1) - 1)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
639 * (ccol - clim(1))/(clim(2) - clim(1)));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
640 r = max (1, min (r, size (cmap, 1)));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
641 color = cmap(r, :);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
642 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
643 elseif (strncmp (obj.facecolor, "interp", 6))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
644 if (nd == 3 && numel (xcol) == 3)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
645 ccdat = ccol;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
646 if (! isvector (ccdat))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
647 tmp = rows(cmap) + rows(addedcmap) + ...
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
648 [1 : rows(ccdat)];
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
649 addedcmap = [addedcmap; ccdat];
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
650 ccdat = tmp(:);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
651 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
652 ccdat = ccdat(:);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
653 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
654 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
655 warning ("\"interp\" not supported, using 1st entry of cdata");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
656 r = 1 + round ((size (cmap, 1) - 1) * ccol(1));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
657 r = max (1, min (r, size (cmap, 1)));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
658 color = cmap(r,:);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
659 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
660 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
661 elseif (isnumeric (obj.facecolor))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
662 color = obj.facecolor;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
663 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
664 color = [0, 1, 0];
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
665 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
666 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
667 color = [0, 1, 0];
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
668 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
669
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
670 if (nd == 3 && numel (xcol) == 3)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
671 if (isnan (ccdat))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
672 ccdat = (rows (cmap) + rows(addedcmap) + 1) * ones(3, 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
673 addedcmap = [addedcmap; reshape(color, 1, 3)];
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
674 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
675 data{data_3d_idx} = [data{data_3d_idx}, ...
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
676 [[xcol; xcol(end)], [ycol; ycol(end)], ...
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
677 [zcol; zcol(end)], [ccdat; ccdat(end)]]'];
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
678 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
679 if (mono)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
680 colorspec = "";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
681 elseif (__gnuplot_has_feature__ ("transparent_patches")
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
682 && isscalar (obj.facealpha))
9110
22ae6b3411a7 Add isocolor, isonormals and isosurface functions (For Martin Helm). Add 3D filled triangular patches and the trisurf function
David Bateman <dbateman@free.fr>
parents: 9098
diff changeset
683 colorspec = sprintf ("lc rgb \"#%02x%02x%02x\" fillstyle transparent solid %f",
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
684 round (255*color), obj.facealpha);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
685 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
686 colorspec = sprintf ("lc rgb \"#%02x%02x%02x\"",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
687 round (255*color));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
688 endif
9110
22ae6b3411a7 Add isocolor, isonormals and isosurface functions (For Martin Helm). Add 3D filled triangular patches and the trisurf function
David Bateman <dbateman@free.fr>
parents: 9098
diff changeset
689
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
690 withclause{data_idx} = sprintf ("with filledcurve %s",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
691 colorspec);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
692 data{data_idx} = [xcol, ycol]';
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
693 usingclause{data_idx} = sprintf ("record=%d using ($1):($2)",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
694 numel (xcol));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
695 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
696 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
697 endif
7170
9f38c6293317 [project @ 2007-11-13 17:34:33 by jwe]
jwe
parents: 7168
diff changeset
698
9f38c6293317 [project @ 2007-11-13 17:34:33 by jwe]
jwe
parents: 7168
diff changeset
699 ## patch outline
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
700 if (!(strncmp (obj.edgecolor, "none", 4)
11164
254a87b40f60 Don't plot patch outlines with the gnuplot backend if the marker property is set to none. Fixes contourf(peaks(),'edgecolor','none')
David Bateman <dbateman@free.fr>
parents: 11163
diff changeset
701 && (strncmp (obj.marker, "none", 4)
254a87b40f60 Don't plot patch outlines with the gnuplot backend if the marker property is set to none. Fixes contourf(peaks(),'edgecolor','none')
David Bateman <dbateman@free.fr>
parents: 11163
diff changeset
702 || (strncmp (obj.markeredgecolor, "none", 4)
254a87b40f60 Don't plot patch outlines with the gnuplot backend if the marker property is set to none. Fixes contourf(peaks(),'edgecolor','none')
David Bateman <dbateman@free.fr>
parents: 11163
diff changeset
703 && strncmp (obj.markerfacecolor, "none", 4)))))
7170
9f38c6293317 [project @ 2007-11-13 17:34:33 by jwe]
jwe
parents: 7168
diff changeset
704
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
705 data_idx++;
7170
9f38c6293317 [project @ 2007-11-13 17:34:33 by jwe]
jwe
parents: 7168
diff changeset
706 is_image_data(data_idx) = false;
9f38c6293317 [project @ 2007-11-13 17:34:33 by jwe]
jwe
parents: 7168
diff changeset
707 parametric(data_idx) = false;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
708 have_cdata(data_idx) = false;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
709 have_3d_patch(data_idx) = false;
7170
9f38c6293317 [project @ 2007-11-13 17:34:33 by jwe]
jwe
parents: 7168
diff changeset
710 titlespec{data_idx} = "title \"\"";
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
711 usingclause{data_idx} = sprintf ("record=%d", numel (obj.xdata));
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
712
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
713 if (isfield (obj, "markersize"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
714 mdat = obj.markersize / 3;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
715 endif
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
716
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
717 if (isfield (obj, "edgecolor"))
10135
4516a0c97ced Handle linestyleorder. Remove @ markers. Treat edgecolor, markeredgecolor and markerfacecolor correctly in scatter.
David Bateman <dbateman@free.fr>
parents: 10121
diff changeset
718 ## FIXME
4516a0c97ced Handle linestyleorder. Remove @ markers. Treat edgecolor, markeredgecolor and markerfacecolor correctly in scatter.
David Bateman <dbateman@free.fr>
parents: 10121
diff changeset
719 ## This is the wrong thing to do as edgecolor, markeredgecolor
4516a0c97ced Handle linestyleorder. Remove @ markers. Treat edgecolor, markeredgecolor and markerfacecolor correctly in scatter.
David Bateman <dbateman@free.fr>
parents: 10121
diff changeset
720 ## and markerfacecolor can have different values and we should
4516a0c97ced Handle linestyleorder. Remove @ markers. Treat edgecolor, markeredgecolor and markerfacecolor correctly in scatter.
David Bateman <dbateman@free.fr>
parents: 10121
diff changeset
721 ## treat them seperately. However, the below allow the scatter
4516a0c97ced Handle linestyleorder. Remove @ markers. Treat edgecolor, markeredgecolor and markerfacecolor correctly in scatter.
David Bateman <dbateman@free.fr>
parents: 10121
diff changeset
722 ## functions to work as expected, where only one of these values
4516a0c97ced Handle linestyleorder. Remove @ markers. Treat edgecolor, markeredgecolor and markerfacecolor correctly in scatter.
David Bateman <dbateman@free.fr>
parents: 10121
diff changeset
723 ## is set
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
724 if (strncmp (obj.edgecolor, "none", 4))
10135
4516a0c97ced Handle linestyleorder. Remove @ markers. Treat edgecolor, markeredgecolor and markerfacecolor correctly in scatter.
David Bateman <dbateman@free.fr>
parents: 10121
diff changeset
725 if (strncmp (obj.markeredgecolor, "none", 4))
4516a0c97ced Handle linestyleorder. Remove @ markers. Treat edgecolor, markeredgecolor and markerfacecolor correctly in scatter.
David Bateman <dbateman@free.fr>
parents: 10121
diff changeset
726 ec = obj.markerfacecolor;
4516a0c97ced Handle linestyleorder. Remove @ markers. Treat edgecolor, markeredgecolor and markerfacecolor correctly in scatter.
David Bateman <dbateman@free.fr>
parents: 10121
diff changeset
727 else
4516a0c97ced Handle linestyleorder. Remove @ markers. Treat edgecolor, markeredgecolor and markerfacecolor correctly in scatter.
David Bateman <dbateman@free.fr>
parents: 10121
diff changeset
728 ec = obj.markeredgecolor;
4516a0c97ced Handle linestyleorder. Remove @ markers. Treat edgecolor, markeredgecolor and markerfacecolor correctly in scatter.
David Bateman <dbateman@free.fr>
parents: 10121
diff changeset
729 endif
4516a0c97ced Handle linestyleorder. Remove @ markers. Treat edgecolor, markeredgecolor and markerfacecolor correctly in scatter.
David Bateman <dbateman@free.fr>
parents: 10121
diff changeset
730 else
4516a0c97ced Handle linestyleorder. Remove @ markers. Treat edgecolor, markeredgecolor and markerfacecolor correctly in scatter.
David Bateman <dbateman@free.fr>
parents: 10121
diff changeset
731 ec = obj.edgecolor;
4516a0c97ced Handle linestyleorder. Remove @ markers. Treat edgecolor, markeredgecolor and markerfacecolor correctly in scatter.
David Bateman <dbateman@free.fr>
parents: 10121
diff changeset
732 endif
4516a0c97ced Handle linestyleorder. Remove @ markers. Treat edgecolor, markeredgecolor and markerfacecolor correctly in scatter.
David Bateman <dbateman@free.fr>
parents: 10121
diff changeset
733
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
734 if ((strncmp (ec, "flat", 4)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
735 || strncmp (ec, "interp", 6))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
736 && isfield (obj, "cdata"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
737 if (ndims (obj.cdata) == 2
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
738 && (size (obj.cdata, 2) == nc
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
739 && (size (obj.cdata, 1) == 1
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
740 || size (obj.cdata, 1) == 3)))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
741 ccol = cdat (:, i);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
742 elseif (ndims (obj.cdata) == 2
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
743 && (size (obj.cdata, 1) == nc
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
744 && (size (obj.cdata, 2) == 1
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
745 || size (obj.cdata, 2) == 3)))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
746 ccol = cdat (i, :);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
747 elseif (ndims (obj.cdata) == 3)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
748 ccol = permute (cdat (:, i, :), [1, 3, 2]);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
749 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
750 ccol = cdat;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
751 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
752 if (strncmp (ec, "flat", 4))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
753 if (numel(ccol) == 3)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
754 color = ccol;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
755 else
10236
8e58c402ebb2 Accelerate colormap colored scatter plots
David Bateman <dbateman@free.fr>
parents: 10226
diff changeset
756 if (isscalar (ccol))
8e58c402ebb2 Accelerate colormap colored scatter plots
David Bateman <dbateman@free.fr>
parents: 10226
diff changeset
757 ccol = repmat(ccol, numel (xcol), 1);
8e58c402ebb2 Accelerate colormap colored scatter plots
David Bateman <dbateman@free.fr>
parents: 10226
diff changeset
758 endif
8e58c402ebb2 Accelerate colormap colored scatter plots
David Bateman <dbateman@free.fr>
parents: 10226
diff changeset
759 color = "flat";
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
760 have_cdata(data_idx) = true;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
761 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
762 elseif (strncmp (ec, "interp", 6))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
763 if (numel(ccol) == 3)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
764 warning ("\"interp\" not supported, using 1st entry of cdata");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
765 color = ccol(1,:);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
766 else
10236
8e58c402ebb2 Accelerate colormap colored scatter plots
David Bateman <dbateman@free.fr>
parents: 10226
diff changeset
767 if (isscalar (ccol))
8e58c402ebb2 Accelerate colormap colored scatter plots
David Bateman <dbateman@free.fr>
parents: 10226
diff changeset
768 ccol = repmat(ccol, numel (xcol), 1);
8e58c402ebb2 Accelerate colormap colored scatter plots
David Bateman <dbateman@free.fr>
parents: 10226
diff changeset
769 endif
8e58c402ebb2 Accelerate colormap colored scatter plots
David Bateman <dbateman@free.fr>
parents: 10226
diff changeset
770 color = "interp";
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
771 have_cdata(data_idx) = true;
10236
8e58c402ebb2 Accelerate colormap colored scatter plots
David Bateman <dbateman@free.fr>
parents: 10226
diff changeset
772 endif
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
773 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
774 elseif (isnumeric (ec))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
775 color = ec;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
776 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
777 color = [0, 0, 0];
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
778 endif
7020
e31f12bb9194 [project @ 2007-10-13 05:13:28 by dbateman]
dbateman
parents: 7017
diff changeset
779 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
780 color = [0, 0, 0];
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
781 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
782
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
783 if (isfield (obj, "linestyle"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
784 switch (obj.linestyle)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
785 case "-"
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
786 lt = "lt 1";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
787 case "--"
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
788 lt = "lt 2";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
789 case ":"
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
790 lt = "lt 3";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
791 case "-."
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
792 lt = "lt 6";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
793 case "none"
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
794 lt = "";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
795 otherwise
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
796 lt = "";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
797 endswitch
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
798 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
799 lt = "";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
800 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
801
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
802 if (isfield (obj, "linewidth"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
803 lw = sprintf("linewidth %f", obj.linewidth);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
804 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
805 lw = "";
7020
e31f12bb9194 [project @ 2007-10-13 05:13:28 by dbateman]
dbateman
parents: 7017
diff changeset
806 endif
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
807
10933
e78e531dfa2d Improve matlab compatibility with '.' marker
David Bateman <dbateman@free.fr>
parents: 10931
diff changeset
808 [pt, pt2, obj] = gnuplot_pointtype (obj);
10929
004fd6d6b7e9 __go_draw_axes__.m: Fix pointtype for patches.
Ben Abbott <bpabbott@mac.com>
parents: 10925
diff changeset
809 if (! isempty (pt))
004fd6d6b7e9 __go_draw_axes__.m: Fix pointtype for patches.
Ben Abbott <bpabbott@mac.com>
parents: 10925
diff changeset
810 pt = sprintf ("pointtype %s", pt);
10930
b0f2b9a2b681 __go_draw_axes__.m: Additional pointtype fix.
Ben Abbott <bpabbott@mac.com>
parents: 10929
diff changeset
811 endif
b0f2b9a2b681 __go_draw_axes__.m: Additional pointtype fix.
Ben Abbott <bpabbott@mac.com>
parents: 10929
diff changeset
812 if (! isempty (pt2))
10929
004fd6d6b7e9 __go_draw_axes__.m: Fix pointtype for patches.
Ben Abbott <bpabbott@mac.com>
parents: 10925
diff changeset
813 pt2 = sprintf ("pointtype %s", pt2);
004fd6d6b7e9 __go_draw_axes__.m: Fix pointtype for patches.
Ben Abbott <bpabbott@mac.com>
parents: 10925
diff changeset
814 endif
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
815
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
816 if (mono)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
817 colorspec = "";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
818 else
10236
8e58c402ebb2 Accelerate colormap colored scatter plots
David Bateman <dbateman@free.fr>
parents: 10226
diff changeset
819 if (ischar (color))
8e58c402ebb2 Accelerate colormap colored scatter plots
David Bateman <dbateman@free.fr>
parents: 10226
diff changeset
820 colorspec = "palette";
8e58c402ebb2 Accelerate colormap colored scatter plots
David Bateman <dbateman@free.fr>
parents: 10226
diff changeset
821 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
822 colorspec = sprintf ("lc rgb \"#%02x%02x%02x\"",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
823 round (255*color));
10236
8e58c402ebb2 Accelerate colormap colored scatter plots
David Bateman <dbateman@free.fr>
parents: 10226
diff changeset
824 endif
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
825 endif
10089
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
826
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
827 sidx = 1;
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
828 if (isempty (lt))
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
829 style = "";
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
830 else
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
831 style = "lines";
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
832 endif
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
833 tmpwith = {};
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
834
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
835 facesame = true;
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
836 if (! isequal (pt, pt2) && isfield (obj, "markerfacecolor")
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
837 && !strncmp (obj.markerfacecolor, "none", 4))
10089
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
838 if (strncmp (obj.markerfacecolor, "auto", 4)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
839 || ! isnumeric (obj.markerfacecolor)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
840 || (isnumeric (obj.markerfacecolor)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
841 && isequal (color, obj.markerfacecolor)))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
842 style = strcat (style, "points");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
843 if (isfield (obj, "markersize"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
844 if (length (mdat) == nc)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
845 m = mdat(i);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
846 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
847 m = mdat;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
848 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
849 ps = sprintf("pointsize %f", m / 3);
10089
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
850 else
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
851 ps = "";
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
852 endif
10089
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
853
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
854 tmpwith{sidx} = sprintf ("with %s %s %s %s %s %s",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
855 style, lw, pt2, lt, ps,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
856 colorspec);
10089
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
857 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
858 facesame = false;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
859 if (! isempty (style))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
860 tmpwith{sidx} = sprintf ("with %s %s %s %s",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
861 style, lw, lt,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
862 colorspec);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
863 sidx ++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
864 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
865 if (isnumeric (obj.markerfacecolor) && ! mono)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
866 colorspec = sprintf ("lc rgb \"#%02x%02x%02x\"",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
867 round (255*obj.markerfacecolor));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
868 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
869 style = "points";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
870 if (isfield (obj, "markersize"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
871 if (length (mdat) == nc)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
872 m = mdat(i);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
873 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
874 m = mdat;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
875 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
876 ps = sprintf("pointsize %f", m / 3);
10089
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
877 else
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
878 ps = "";
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
879 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
880 tmpwith{sidx} = sprintf ("with %s %s %s %s %s %s",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
881 style, lw, pt2, lt, ps,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
882 colorspec);
10089
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
883 endif
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
884 endif
6790
f1157da78825 [project @ 2007-07-24 19:02:27 by jwe]
jwe
parents: 6788
diff changeset
885
10089
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
886 if (isfield (obj, "markeredgecolor")
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
887 && !strncmp (obj.markeredgecolor, "none", 4))
10137
cf6a01e0e93f Fix unrequested markers for patch objects
David Bateman <dbateman@free.fr>
parents: 10135
diff changeset
888 if (facesame && !isempty (pt)
cf6a01e0e93f Fix unrequested markers for patch objects
David Bateman <dbateman@free.fr>
parents: 10135
diff changeset
889 && (strncmp (obj.markeredgecolor, "auto", 4)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
890 || ! isnumeric (obj.markeredgecolor)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
891 || (isnumeric (obj.markeredgecolor)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
892 && isequal (color, obj.markeredgecolor))))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
893 if (sidx == 1 && ((length (style) == 5
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
894 && strncmp (style, "lines", 5))
10089
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
895 || isempty (style)))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
896 style = strcat (style, "points");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
897 if (isfield (obj, "markersize"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
898 if (length (mdat) == nc)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
899 m = mdat(i);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
900 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
901 m = mdat;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
902 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
903 ps = sprintf("pointsize %f", m / 3);
10089
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
904 else
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
905 ps = "";
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
906 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
907 tmpwith{sidx} = sprintf ("with %s %s %s %s %s %s",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
908 style, lw, pt, lt, ps,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
909 colorspec);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
910 endif
10089
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
911 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
912 if (!isempty (style))
10137
cf6a01e0e93f Fix unrequested markers for patch objects
David Bateman <dbateman@free.fr>
parents: 10135
diff changeset
913 if (length(tmpwith) < sidx || isempty (tmpwith{sidx}))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
914 tmpwith{sidx} = sprintf ("with %s %s %s %s",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
915 style, lw, lt,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
916 colorspec);
10089
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
917 endif
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
918 sidx ++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
919 endif
10137
cf6a01e0e93f Fix unrequested markers for patch objects
David Bateman <dbateman@free.fr>
parents: 10135
diff changeset
920
cf6a01e0e93f Fix unrequested markers for patch objects
David Bateman <dbateman@free.fr>
parents: 10135
diff changeset
921 if (!isempty (pt))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
922 if (! mono)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
923 if (strncmp (obj.markeredgecolor, "auto", 4))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
924 colorspec = sprintf ("lc rgb \"#%02x%02x%02x\"",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
925 round (255*color));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
926 elseif (isnumeric (obj.markeredgecolor) && ! mono)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
927 colorspec = sprintf ("lc rgb \"#%02x%02x%02x\"",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
928 round (255*obj.markeredgecolor));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
929 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
930 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
931 style = "points";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
932 if (isfield (obj, "markersize"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
933 if (length (mdat) == nc)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
934 m = mdat(i);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
935 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
936 m = mdat;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
937 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
938 ps = sprintf("pointsize %f", m / 3);
10137
cf6a01e0e93f Fix unrequested markers for patch objects
David Bateman <dbateman@free.fr>
parents: 10135
diff changeset
939 else
cf6a01e0e93f Fix unrequested markers for patch objects
David Bateman <dbateman@free.fr>
parents: 10135
diff changeset
940 ps = "";
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
941 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
942 tmpwith{sidx} = sprintf ("with %s %s %s %s %s %s",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
943 style, lw, pt, lt, ps,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
944 colorspec);
10137
cf6a01e0e93f Fix unrequested markers for patch objects
David Bateman <dbateman@free.fr>
parents: 10135
diff changeset
945 endif
10089
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
946 endif
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
947 endif
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
948
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
949 if (isempty (tmpwith))
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
950 withclause{data_idx} = sprintf ("with %s %s %s %s %s",
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
951 style, lw, pt, lt,
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
952 colorspec);
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
953 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
954 withclause{data_idx} = tmpwith{1};
10089
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
955 endif
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
956 if (nd == 3)
10236
8e58c402ebb2 Accelerate colormap colored scatter plots
David Bateman <dbateman@free.fr>
parents: 10226
diff changeset
957 if (ischar (color))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
958 if (! isnan (xcol) && ! isnan (ycol) && ! isnan (zcol))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
959 data{data_idx} = [[xcol; xcol(1)], [ycol; ycol(1)], ...
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
960 [zcol; zcol(1)], [ccol; ccol(1)]]';
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
961 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
962 data{data_idx} = [xcol, ycol, zcol, ccol]';
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
963 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
964 usingclause{data_idx} = sprintf ("record=%d using ($1):($2):($3):($4)", columns (data{data_idx}));
10236
8e58c402ebb2 Accelerate colormap colored scatter plots
David Bateman <dbateman@free.fr>
parents: 10226
diff changeset
965 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
966 if (! isnan (xcol) && ! isnan (ycol) && ! isnan (zcol))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
967 data{data_idx} = [[xcol; xcol(1)], [ycol; ycol(1)], ...
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
968 [zcol; zcol(1)]]';
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
969 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
970 data{data_idx} = [xcol, ycol, zcol]';
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
971 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
972 usingclause{data_idx} = sprintf ("record=%d using ($1):($2):($3)", columns (data{data_idx}));
10236
8e58c402ebb2 Accelerate colormap colored scatter plots
David Bateman <dbateman@free.fr>
parents: 10226
diff changeset
973 endif
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
974 else
10236
8e58c402ebb2 Accelerate colormap colored scatter plots
David Bateman <dbateman@free.fr>
parents: 10226
diff changeset
975 if (ischar (color))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
976 if (! isnan (xcol) && ! isnan (ycol))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
977 data{data_idx} = [[xcol; xcol(1)], [ycol; ycol(1)], ...
10236
8e58c402ebb2 Accelerate colormap colored scatter plots
David Bateman <dbateman@free.fr>
parents: 10226
diff changeset
978 [ccol; ccol(1)]]';
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
979 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
980 data{data_idx} = [xcol, ycol, ccol]';
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
981 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
982 usingclause{data_idx} = sprintf ("record=%d using ($1):($2):($3)", columns (data{data_idx}));
10236
8e58c402ebb2 Accelerate colormap colored scatter plots
David Bateman <dbateman@free.fr>
parents: 10226
diff changeset
983 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
984 if (! isnan (xcol) && ! isnan (ycol))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
985 data{data_idx} = [[xcol; xcol(1)], [ycol; ycol(1)]]';
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
986 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
987 data{data_idx} = [xcol, ycol]';
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
988 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
989 usingclause{data_idx} = sprintf ("record=%d using ($1):($2)", columns (data{data_idx}));
10236
8e58c402ebb2 Accelerate colormap colored scatter plots
David Bateman <dbateman@free.fr>
parents: 10226
diff changeset
990 endif
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
991 endif
10089
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
992
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
993 if (length (tmpwith) > 1)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
994 data_idx++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
995 is_image_data(data_idx) = is_image_data(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
996 parametric(data_idx) = parametric(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
997 have_cdata(data_idx) = have_cdata(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
998 have_3d_patch(data_idx) = have_3d_patch(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
999 titlespec{data_idx} = "title \"\"";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1000 usingclause{data_idx} = usingclause{data_idx - 1};
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1001 data{data_idx} = data{data_idx - 1};
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1002 withclause{data_idx} = tmpwith{2};
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1003 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1004 if (length (tmpwith) > 2)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1005 data_idx++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1006 is_image_data(data_idx) = is_image_data(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1007 parametric(data_idx) = parametric(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1008 have_cdata(data_idx) = have_cdata(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1009 have_3d_patch(data_idx) = have_3d_patch(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1010 titlespec{data_idx} = "title \"\"";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1011 usingclause{data_idx} = usingclause{data_idx - 1};
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1012 data{data_idx} = data{data_idx - 1};
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1013 withclause{data_idx} = tmpwith{3};
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1014 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1015 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1016 endfor
6790
f1157da78825 [project @ 2007-07-24 19:02:27 by jwe]
jwe
parents: 6788
diff changeset
1017
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1018 case "surface"
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1019 view_map = true;
7110
0e63f1126f01 [project @ 2007-11-06 22:36:22 by jwe]
jwe
parents: 7109
diff changeset
1020 if (! (strncmp (obj.edgecolor, "none", 4)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1021 && strncmp (obj.facecolor, "none", 4)))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1022 data_idx++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1023 is_image_data(data_idx) = false;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1024 parametric(data_idx) = false;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1025 have_cdata(data_idx) = true;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1026 have_3d_patch(data_idx) = false;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1027 style = do_linestyle_command (obj, obj.edgecolor,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1028 data_idx, mono,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1029 plot_stream);
10995
e81914f3921f Update legend code to support fltk (fixes #29348 and partially fixes #30461)
David Bateman <dbateman@free.fr>
parents: 10992
diff changeset
1030
e81914f3921f Update legend code to support fltk (fixes #29348 and partially fixes #30461)
David Bateman <dbateman@free.fr>
parents: 10992
diff changeset
1031 if (isempty (obj.displayname))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1032 titlespec{data_idx} = "title \"\"";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1033 else
10995
e81914f3921f Update legend code to support fltk (fixes #29348 and partially fixes #30461)
David Bateman <dbateman@free.fr>
parents: 10992
diff changeset
1034 tmp = undo_string_escapes (__maybe_munge_text__ (enhanced, obj, "displayname"));
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1035 titlespec{data_idx} = cstrcat ("title \"", tmp, "\"");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1036 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1037 withclause{data_idx} = sprintf ("with pm3d linestyle %d",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1038 data_idx);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1039 withpm3d = true;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1040 pm3didx = data_idx;
7109
5436efbf35e3 [project @ 2007-11-06 22:16:25 by jwe]
jwe
parents: 7094
diff changeset
1041
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1042 xdat = obj.xdata;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1043 ydat = obj.ydata;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1044 zdat = obj.zdata;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1045 cdat = obj.cdata;
7110
0e63f1126f01 [project @ 2007-11-06 22:36:22 by jwe]
jwe
parents: 7109
diff changeset
1046
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1047 err = false;
7109
5436efbf35e3 [project @ 2007-11-06 22:16:25 by jwe]
jwe
parents: 7094
diff changeset
1048 if (! size_equal(zdat, cdat))
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1049 err = true;
7109
5436efbf35e3 [project @ 2007-11-06 22:16:25 by jwe]
jwe
parents: 7094
diff changeset
1050 endif
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1051 if (isvector (xdat) && isvector (ydat) && ismatrix (zdat))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1052 if (rows (zdat) == length (ydat)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1053 && columns (zdat) == length (xdat))
7109
5436efbf35e3 [project @ 2007-11-06 22:16:25 by jwe]
jwe
parents: 7094
diff changeset
1054 [xdat, ydat] = meshgrid (xdat, ydat);
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1055 else
7109
5436efbf35e3 [project @ 2007-11-06 22:16:25 by jwe]
jwe
parents: 7094
diff changeset
1056 err = true;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1057 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1058 elseif (ismatrix (xdat) && ismatrix (ydat) && ismatrix (zdat))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1059 if (! size_equal (xdat, ydat, zdat))
7109
5436efbf35e3 [project @ 2007-11-06 22:16:25 by jwe]
jwe
parents: 7094
diff changeset
1060 err = true;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1061 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1062 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1063 err = true;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1064 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1065 if (err)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1066 error ("__go_draw_axes__: invalid grid data");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1067 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1068 xlen = columns (zdat);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1069 ylen = rows (zdat);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1070 if (xlen == columns (xdat) && xlen == columns (ydat)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1071 && ylen == rows (xdat) && ylen == rows (ydat))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1072 len = 4 * xlen;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1073 zz = zeros (ylen, len);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1074 k = 1;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1075 for kk = 1:4:len
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1076 zz(:,kk) = xdat(:,k);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1077 zz(:,kk+1) = ydat(:,k);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1078 zz(:,kk+2) = zdat(:,k);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1079 zz(:,kk+3) = cdat(:,k);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1080 k++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1081 endfor
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1082 data{data_idx} = zz.';
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1083 endif
7109
5436efbf35e3 [project @ 2007-11-06 22:16:25 by jwe]
jwe
parents: 7094
diff changeset
1084
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1085 if (doing_interp_color)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1086 interp_str = "interpolate 0, 0";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1087 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1088 ## No interpolation of facecolors.
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1089 interp_str = "";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1090 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1091 usingclause{data_idx} = sprintf ("record=%dx%d using ($1):($2):($3):($4)", ylen, xlen);
8166
4024fc815f8d __go_draw_axes__.m: Fix interpolation of facecolors.
Ben Abbott <bpabbott@mac.com>
parents: 8164
diff changeset
1092
7119
d22ad51b9cf8 [project @ 2007-11-07 21:06:27 by jwe]
jwe
parents: 7115
diff changeset
1093 flat_interp_face = (strncmp (obj.facecolor, "flat", 4)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1094 || strncmp (obj.facecolor, "interp", 6));
7119
d22ad51b9cf8 [project @ 2007-11-07 21:06:27 by jwe]
jwe
parents: 7115
diff changeset
1095 flat_interp_edge = (strncmp (obj.edgecolor, "flat", 4)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1096 || strncmp (obj.edgecolor, "interp", 6));
7154
89a929a3ebfd [project @ 2007-11-09 21:28:46 by jwe]
jwe
parents: 7152
diff changeset
1097
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1098 facecolor_none_or_white = (strncmp (obj.facecolor, "none", 4)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1099 || (isnumeric (obj.facecolor)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1100 && all (obj.facecolor == 1)));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1101 hidden_removal = false;
7592
bf704d1c5e43 Bug fix, set splot user style to default
kai@linux-pc
parents: 7583
diff changeset
1102 fputs (plot_stream, "set style increment default;\n");
7318
5c8f09c7a020 [project @ 2007-12-17 19:02:13 by jwe]
jwe
parents: 7317
diff changeset
1103 if (flat_interp_edge && facecolor_none_or_white)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1104 withpm3d = false;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1105 withclause{data_idx} = sprintf ("with %s palette", style {1});
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1106 fputs (plot_stream, "unset pm3d\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1107 if (all (obj.facecolor == 1))
7592
bf704d1c5e43 Bug fix, set splot user style to default
kai@linux-pc
parents: 7583
diff changeset
1108 hidden_removal = true;
7582
3ec654f16820 Improvements for surface plots
kai@linux-pc
parents: 7569
diff changeset
1109 endif
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1110 elseif (facecolor_none_or_white)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1111 if (all (obj.facecolor == 1))
8164
0d37c99fc06f __go_draw_axes__.m: eliminate have_newer_gnuplot variable
John W. Eaton <jwe@octave.org>
parents: 8112
diff changeset
1112 hidden_removal = true;
0d37c99fc06f __go_draw_axes__.m: eliminate have_newer_gnuplot variable
John W. Eaton <jwe@octave.org>
parents: 8112
diff changeset
1113 endif
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1114 fputs(plot_stream,"unset pm3d;\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1115 fputs(plot_stream,"set style increment user;\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1116 withpm3d = false;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1117 withclause{data_idx} = sprintf("with %s linestyle %d",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1118 style{1}, data_idx);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1119 fputs (plot_stream, "unset pm3d\n");
7119
d22ad51b9cf8 [project @ 2007-11-07 21:06:27 by jwe]
jwe
parents: 7115
diff changeset
1120 endif
7109
5436efbf35e3 [project @ 2007-11-06 22:16:25 by jwe]
jwe
parents: 7094
diff changeset
1121
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1122 if (doing_interp_color)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1123 ## "depthorder" interferes with interpolation of colors.
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1124 dord = "scansautomatic";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1125 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1126 dord = "depthorder";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1127 endif
7109
5436efbf35e3 [project @ 2007-11-06 22:16:25 by jwe]
jwe
parents: 7094
diff changeset
1128
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1129 if (flat_interp_face && strncmp (obj.edgecolor, "flat", 4))
7318
5c8f09c7a020 [project @ 2007-12-17 19:02:13 by jwe]
jwe
parents: 7317
diff changeset
1130 fprintf (plot_stream, "set pm3d explicit at s %s %s corners2color c3;\n",
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1131 interp_str, dord);
7318
5c8f09c7a020 [project @ 2007-12-17 19:02:13 by jwe]
jwe
parents: 7317
diff changeset
1132 elseif (!facecolor_none_or_white)
7119
d22ad51b9cf8 [project @ 2007-11-07 21:06:27 by jwe]
jwe
parents: 7115
diff changeset
1133 if (strncmp (obj.edgecolor, "none", 4))
8645
579f1f54cc3a Add support for transparent surfaces
Kai Habel
parents: 8633
diff changeset
1134 if (__gnuplot_has_feature__ ("transparent_surface")
579f1f54cc3a Add support for transparent surfaces
Kai Habel
parents: 8633
diff changeset
1135 && isscalar (obj.facealpha))
579f1f54cc3a Add support for transparent surfaces
Kai Habel
parents: 8633
diff changeset
1136 fprintf (plot_stream,
579f1f54cc3a Add support for transparent surfaces
Kai Habel
parents: 8633
diff changeset
1137 "set style fill transparent solid %f;\n",
579f1f54cc3a Add support for transparent surfaces
Kai Habel
parents: 8633
diff changeset
1138 obj.facealpha);
579f1f54cc3a Add support for transparent surfaces
Kai Habel
parents: 8633
diff changeset
1139 endif
7318
5c8f09c7a020 [project @ 2007-12-17 19:02:13 by jwe]
jwe
parents: 7317
diff changeset
1140 fprintf (plot_stream, "set pm3d explicit at s %s corners2color c3;\n",
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1141 interp_str, dord);
7109
5436efbf35e3 [project @ 2007-11-06 22:16:25 by jwe]
jwe
parents: 7094
diff changeset
1142 else
7318
5c8f09c7a020 [project @ 2007-12-17 19:02:13 by jwe]
jwe
parents: 7317
diff changeset
1143 fprintf (plot_stream, "set pm3d explicit at s hidden3d %d %s %s corners2color c3;\n",
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1144 data_idx, interp_str, dord);
7119
d22ad51b9cf8 [project @ 2007-11-07 21:06:27 by jwe]
jwe
parents: 7115
diff changeset
1145
8645
579f1f54cc3a Add support for transparent surfaces
Kai Habel
parents: 8633
diff changeset
1146 if (__gnuplot_has_feature__ ("transparent_surface")
579f1f54cc3a Add support for transparent surfaces
Kai Habel
parents: 8633
diff changeset
1147 && isscalar (obj.facealpha))
579f1f54cc3a Add support for transparent surfaces
Kai Habel
parents: 8633
diff changeset
1148 fprintf (plot_stream,
579f1f54cc3a Add support for transparent surfaces
Kai Habel
parents: 8633
diff changeset
1149 "set style fill transparent solid %f;\n",
579f1f54cc3a Add support for transparent surfaces
Kai Habel
parents: 8633
diff changeset
1150 obj.facealpha);
579f1f54cc3a Add support for transparent surfaces
Kai Habel
parents: 8633
diff changeset
1151 endif
7109
5436efbf35e3 [project @ 2007-11-06 22:16:25 by jwe]
jwe
parents: 7094
diff changeset
1152 endif
7119
d22ad51b9cf8 [project @ 2007-11-07 21:06:27 by jwe]
jwe
parents: 7115
diff changeset
1153 endif
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1154
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1155 zz = [];
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1156 if (length (style) > 1)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1157 len = 3 * xlen;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1158 zz = zeros (ylen, len);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1159 k = 1;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1160 for kk = 1:3:len
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1161 zz(:,kk) = xdat(:,k);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1162 zz(:,kk+1) = ydat(:,k);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1163 zz(:,kk+2) = zdat(:,k);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1164 k++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1165 endfor
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1166 zz = zz.';
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1167
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1168 data_idx++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1169 is_image_data(data_idx) = is_image_data(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1170 parametric(data_idx) = parametric(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1171 have_cdata(data_idx) = false;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1172 have_3d_patch(data_idx) = have_3d_patch(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1173 titlespec{data_idx} = "title \"\"";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1174 usingclause{data_idx} = sprintf ("record=%dx%d using ($1):($2):($3)", ylen, xlen);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1175 data{data_idx} = zz;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1176 withclause{data_idx} = sprintf ("with %s linestyle %d",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1177 style{2}, data_idx);
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1178
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1179 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1180 if (length (style) > 2)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1181 data_idx++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1182 is_image_data(data_idx) = is_image_data(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1183 parametric(data_idx) = parametric(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1184 have_cdata(data_idx) = false;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1185 have_3d_patch(data_idx) = have_3d_patch(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1186 titlespec{data_idx} = "title \"\"";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1187 usingclause{data_idx} = sprintf ("record=%dx%d using ($1):($2):($3)", ylen, xlen);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1188 data{data_idx} = zz;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1189 withclause{data_idx} = sprintf ("with %s linestyle %d",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1190 style{3}, data_idx);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1191 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1192 if (withpm3d && strncmp (style {1}, "linespoints", 11))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1193 if (isempty(zz))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1194 len = 3 * xlen;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1195 zz = zeros (ylen, len);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1196 k = 1;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1197 for kk = 1:3:len
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1198 zz(:,kk) = xdat(:,k);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1199 zz(:,kk+1) = ydat(:,k);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1200 zz(:,kk+2) = zdat(:,k);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1201 k++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1202 endfor
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1203 zz = zz.';
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1204 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1205 data_idx++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1206 is_image_data(data_idx) = is_image_data(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1207 parametric(data_idx) = parametric(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1208 have_cdata(data_idx) = false;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1209 have_3d_patch(data_idx) = have_3d_patch(data_idx - 1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1210 titlespec{data_idx} = "title \"\"";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1211 usingclause{data_idx} = sprintf ("record=%dx%d using ($1):($2):($3)", ylen, xlen);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1212 data{data_idx} = zz;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1213 withclause{data_idx} = sprintf ("with points linestyle %d",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1214 pm3didx);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1215 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1216 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1217
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1218 case "text"
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1219 [label, f, s] = __maybe_munge_text__ (enhanced, obj, "string");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1220 fontspec = create_fontspec (f, s, gnuplot_term);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1221 lpos = obj.position;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1222 halign = obj.horizontalalignment;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1223 angle = obj.rotation;
6752
ee2ad7b5454a [project @ 2007-06-25 16:54:52 by jwe]
jwe
parents: 6751
diff changeset
1224 units = obj.units;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1225 color = obj.color;
6758
1894012e6b84 [project @ 2007-06-25 23:09:21 by jwe]
jwe
parents: 6752
diff changeset
1226 if (strcmpi (units, "normalized"))
6752
ee2ad7b5454a [project @ 2007-06-25 16:54:52 by jwe]
jwe
parents: 6751
diff changeset
1227 units = "graph";
10912
9abc67b4bd4f __go_draw_axes__.m: For yaxislocation == 'right' associate text position with 'second' coordinate system.
Ben Abbott <bpabbott@mac.com>
parents: 10911
diff changeset
1228 elseif (strcmp (axis_obj.yaxislocation, "right")
9abc67b4bd4f __go_draw_axes__.m: For yaxislocation == 'right' associate text position with 'second' coordinate system.
Ben Abbott <bpabbott@mac.com>
parents: 10911
diff changeset
1229 && strcmp (units, "data"))
9abc67b4bd4f __go_draw_axes__.m: For yaxislocation == 'right' associate text position with 'second' coordinate system.
Ben Abbott <bpabbott@mac.com>
parents: 10911
diff changeset
1230 units = "second";
6752
ee2ad7b5454a [project @ 2007-06-25 16:54:52 by jwe]
jwe
parents: 6751
diff changeset
1231 else
ee2ad7b5454a [project @ 2007-06-25 16:54:52 by jwe]
jwe
parents: 6751
diff changeset
1232 units = "";
ee2ad7b5454a [project @ 2007-06-25 16:54:52 by jwe]
jwe
parents: 6751
diff changeset
1233 endif
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1234
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1235 if (isnumeric (color))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1236 colorspec = get_text_colorspec (color, mono);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1237 endif
6829
6c85f7d37e61 [project @ 2007-08-24 20:23:21 by dbateman]
dbateman
parents: 6809
diff changeset
1238
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1239 if (nd == 3)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1240 fprintf (plot_stream,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1241 "set label \"%s\" at %s %.15g,%.15g,%.15g %s rotate by %f %s %s front %s;\n",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1242 undo_string_escapes (label), units, lpos(1),
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1243 lpos(2), lpos(3), halign, angle, fontspec,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1244 __do_enhanced_option__ (enhanced, obj), colorspec);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1245 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1246 fprintf (plot_stream,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1247 "set label \"%s\" at %s %.15g,%.15g %s rotate by %f %s %s front %s;\n",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1248 undo_string_escapes (label), units,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1249 lpos(1), lpos(2), halign, angle, fontspec,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1250 __do_enhanced_option__ (enhanced, obj), colorspec);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1251 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1252
7865
b74039822fd2 Add support for hggroup
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7726
diff changeset
1253 case "hggroup"
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1254 ## Push group children into the kid list.
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1255 if (isempty (kids))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1256 kids = obj.children;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1257 elseif (! isempty (obj.children))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1258 kids = [kids; obj.children];
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1259 endif
7865
b74039822fd2 Add support for hggroup
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7726
diff changeset
1260
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1261 otherwise
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1262 error ("__go_draw_axes__: unknown object class, %s",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1263 obj.type);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1264 endswitch
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1265
7865
b74039822fd2 Add support for hggroup
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7726
diff changeset
1266 endwhile
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1267
7692
da1f4bc7cbe8 Conditionally set 'set pm3d implicit'
David Bateman <dbateman@free.fr>
parents: 7676
diff changeset
1268 ## This is need to prevent warnings for rotations in 3D plots, while
8506
bc982528de11 comment style fixes
John W. Eaton <jwe@octave.org>
parents: 8360
diff changeset
1269 ## allowing colorbars with contours.
8042
827d4f24ec6c Fix for meshed surfaces with more than one oobject per plot
David Bateman <dbateman@free.fr>
parents: 7930
diff changeset
1270 if (nd == 2 || (data_idx > 1 && !view_map))
7692
da1f4bc7cbe8 Conditionally set 'set pm3d implicit'
David Bateman <dbateman@free.fr>
parents: 7676
diff changeset
1271 fputs (plot_stream, "set pm3d implicit;\n");
da1f4bc7cbe8 Conditionally set 'set pm3d implicit'
David Bateman <dbateman@free.fr>
parents: 7676
diff changeset
1272 else
da1f4bc7cbe8 Conditionally set 'set pm3d implicit'
David Bateman <dbateman@free.fr>
parents: 7676
diff changeset
1273 fputs (plot_stream, "set pm3d explicit;\n");
da1f4bc7cbe8 Conditionally set 'set pm3d implicit'
David Bateman <dbateman@free.fr>
parents: 7676
diff changeset
1274 endif
da1f4bc7cbe8 Conditionally set 'set pm3d implicit'
David Bateman <dbateman@free.fr>
parents: 7676
diff changeset
1275
7175
5ff4da7bd2e7 [project @ 2007-11-14 20:36:48 by jwe]
jwe
parents: 7170
diff changeset
1276 if (isnan(hidden_removal) || hidden_removal)
7149
5c121a8b40b5 [project @ 2007-11-09 18:15:39 by jwe]
jwe
parents: 7148
diff changeset
1277 fputs (plot_stream, "set hidden3d;\n");
5c121a8b40b5 [project @ 2007-11-09 18:15:39 by jwe]
jwe
parents: 7148
diff changeset
1278 else
5c121a8b40b5 [project @ 2007-11-09 18:15:39 by jwe]
jwe
parents: 7148
diff changeset
1279 fputs (plot_stream, "unset hidden3d;\n");
5c121a8b40b5 [project @ 2007-11-09 18:15:39 by jwe]
jwe
parents: 7148
diff changeset
1280 endif
5c121a8b40b5 [project @ 2007-11-09 18:15:39 by jwe]
jwe
parents: 7148
diff changeset
1281
8048
2f7ff06c0c7b __go_draw_axes__.m (__gnuplot_write_data__): write "Inf Inf\n" if all data pairs contain NaN values
John W. Eaton <jwe@octave.org>
parents: 8042
diff changeset
1282 have_data = (! (isempty (data) || all (cellfun (@isempty, data))));
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1283
8208
f6ca8ff51818 [mq]: graphics-backend
John W. Eaton <jwe@octave.org>
parents: 8190
diff changeset
1284 ## Note we don't use the [xy]2range of gnuplot as we don't use the
8506
bc982528de11 comment style fixes
John W. Eaton <jwe@octave.org>
parents: 8360
diff changeset
1285 ## dual axis plotting features of gnuplot.
7222
dd8b3bbeeaf9 [project @ 2007-11-30 06:23:25 by jwe]
jwe
parents: 7220
diff changeset
1286 if (isempty (xlim))
dd8b3bbeeaf9 [project @ 2007-11-30 06:23:25 by jwe]
jwe
parents: 7220
diff changeset
1287 return;
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1288 endif
6758
1894012e6b84 [project @ 2007-06-25 23:09:21 by jwe]
jwe
parents: 6752
diff changeset
1289 if (strcmpi (axis_obj.xdir, "reverse"))
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1290 xdir = "reverse";
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1291 else
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1292 xdir = "noreverse";
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1293 endif
8208
f6ca8ff51818 [mq]: graphics-backend
John W. Eaton <jwe@octave.org>
parents: 8190
diff changeset
1294 fprintf (plot_stream, "set xrange [%.15e:%.15e] %s;\n", xlim, xdir);
9281
02b16eeb3167 Fix yticklabels for log scale colorbar.
Ben Abbott <bpabbott@mac.com>
parents: 9280
diff changeset
1295 if (strcmpi (axis_obj.xaxislocation, "top"))
02b16eeb3167 Fix yticklabels for log scale colorbar.
Ben Abbott <bpabbott@mac.com>
parents: 9280
diff changeset
1296 fprintf (plot_stream, "set x2range [%.15e:%.15e] %s;\n", xlim, xdir);
02b16eeb3167 Fix yticklabels for log scale colorbar.
Ben Abbott <bpabbott@mac.com>
parents: 9280
diff changeset
1297 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1298
7222
dd8b3bbeeaf9 [project @ 2007-11-30 06:23:25 by jwe]
jwe
parents: 7220
diff changeset
1299 if (isempty (ylim))
dd8b3bbeeaf9 [project @ 2007-11-30 06:23:25 by jwe]
jwe
parents: 7220
diff changeset
1300 return;
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1301 endif
6758
1894012e6b84 [project @ 2007-06-25 23:09:21 by jwe]
jwe
parents: 6752
diff changeset
1302 if (strcmpi (axis_obj.ydir, "reverse"))
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1303 ydir = "reverse";
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1304 else
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1305 ydir = "noreverse";
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1306 endif
8208
f6ca8ff51818 [mq]: graphics-backend
John W. Eaton <jwe@octave.org>
parents: 8190
diff changeset
1307 fprintf (plot_stream, "set yrange [%.15e:%.15e] %s;\n", ylim, ydir);
9281
02b16eeb3167 Fix yticklabels for log scale colorbar.
Ben Abbott <bpabbott@mac.com>
parents: 9280
diff changeset
1308 if (strcmpi (axis_obj.yaxislocation, "right"))
02b16eeb3167 Fix yticklabels for log scale colorbar.
Ben Abbott <bpabbott@mac.com>
parents: 9280
diff changeset
1309 fprintf (plot_stream, "set y2range [%.15e:%.15e] %s;\n", ylim, ydir);
02b16eeb3167 Fix yticklabels for log scale colorbar.
Ben Abbott <bpabbott@mac.com>
parents: 9280
diff changeset
1310 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1311
7119
d22ad51b9cf8 [project @ 2007-11-07 21:06:27 by jwe]
jwe
parents: 7115
diff changeset
1312 if (nd == 3)
7222
dd8b3bbeeaf9 [project @ 2007-11-30 06:23:25 by jwe]
jwe
parents: 7220
diff changeset
1313 if (isempty (zlim))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1314 return;
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1315 endif
6758
1894012e6b84 [project @ 2007-06-25 23:09:21 by jwe]
jwe
parents: 6752
diff changeset
1316 if (strcmpi (axis_obj.zdir, "reverse"))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1317 zdir = "reverse";
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1318 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1319 zdir = "noreverse";
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1320 endif
8171
15ffb9836c01 __go_draw_axes__.m: Remove depdenence on gnuplot version.
Ben Abbott <bpabbott@mac.com>
parents: 8166
diff changeset
1321 fprintf (plot_stream, "set zrange [%.15e:%.15e] %s;\n", zlim, zdir);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1322 endif
7110
0e63f1126f01 [project @ 2007-11-06 22:36:22 by jwe]
jwe
parents: 7109
diff changeset
1323
7471
86ba621332ff Implement cdatamapping and respect to to allow correct image/imagesc rendering
David Bateman <dbateman@free.fr>
parents: 7462
diff changeset
1324 cmap = parent_figure_obj.colormap;
86ba621332ff Implement cdatamapping and respect to to allow correct image/imagesc rendering
David Bateman <dbateman@free.fr>
parents: 7462
diff changeset
1325 cmap_sz = rows(cmap);
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
1326 if (! any (isinf (clim)))
7930
1f6eb3de1c4e __img__.m, imshow.m, __go_draw_axes__.m: improve handling of truecolor images
John W. Eaton <jwe@octave.org>
parents: 7873
diff changeset
1327 if (truecolor || ! cdatadirect)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1328 if (rows(addedcmap) > 0)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1329 for i = 1:data_idx
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1330 if (have_3d_patch(i))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1331 data{i}(end,:) = clim(2) * (data{i}(end, :) - 0.5) / cmap_sz;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1332 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1333 endfor
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1334 fprintf (plot_stream, "set cbrange [%g:%g];\n", clim(1), clim(2) *
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1335 (cmap_sz + rows(addedcmap)) / cmap_sz);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1336 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1337 fprintf (plot_stream, "set cbrange [%g:%g];\n", clim);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1338 endif
7930
1f6eb3de1c4e __img__.m, imshow.m, __go_draw_axes__.m: improve handling of truecolor images
John W. Eaton <jwe@octave.org>
parents: 7873
diff changeset
1339 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1340 fprintf (plot_stream, "set cbrange [1:%d];\n", cmap_sz +
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1341 rows (addedcmap));
7471
86ba621332ff Implement cdatamapping and respect to to allow correct image/imagesc rendering
David Bateman <dbateman@free.fr>
parents: 7462
diff changeset
1342 endif
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
1343 endif
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
1344
6758
1894012e6b84 [project @ 2007-06-25 23:09:21 by jwe]
jwe
parents: 6752
diff changeset
1345 if (strcmpi (axis_obj.box, "on"))
7119
d22ad51b9cf8 [project @ 2007-11-07 21:06:27 by jwe]
jwe
parents: 7115
diff changeset
1346 if (nd == 3)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1347 fputs (plot_stream, "set border 4095;\n");
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1348 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1349 fputs (plot_stream, "set border 431;\n");
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1350 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1351 else
7119
d22ad51b9cf8 [project @ 2007-11-07 21:06:27 by jwe]
jwe
parents: 7115
diff changeset
1352 if (nd == 3)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1353 fputs (plot_stream, "set border 895;\n");
10995
e81914f3921f Update legend code to support fltk (fixes #29348 and partially fixes #30461)
David Bateman <dbateman@free.fr>
parents: 10992
diff changeset
1354 elseif (! isempty (axis_obj.ytick))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1355 if (strcmpi (axis_obj.yaxislocation, "right"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1356 fprintf (plot_stream, "unset ytics; set y2tics %s nomirror\n",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1357 axis_obj.tickdir);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1358 if (strcmpi (axis_obj.xaxislocation, "top"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1359 fprintf (plot_stream, "unset xtics; set x2tics %s nomirror\n",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1360 axis_obj.tickdir);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1361 fputs (plot_stream, "set border 12;\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1362 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1363 fprintf (plot_stream, "unset x2tics; set xtics %s nomirror\n",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1364 axis_obj.tickdir);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1365 fputs (plot_stream, "set border 9;\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1366 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1367 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1368 fprintf (plot_stream, "unset y2tics; set ytics %s nomirror\n",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1369 axis_obj.tickdir);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1370 if (strcmpi (axis_obj.xaxislocation, "top"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1371 fprintf (plot_stream, "unset xtics; set x2tics %s nomirror\n",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1372 axis_obj.tickdir);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1373 fputs (plot_stream, "set border 6;\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1374 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1375 fprintf (plot_stream, "unset x2tics; set xtics %s nomirror\n",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1376 axis_obj.tickdir);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1377 fputs (plot_stream, "set border 3;\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1378 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1379 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1380 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1381 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1382
7060
033918b854a7 [project @ 2007-10-24 17:51:05 by jwe]
jwe
parents: 7020
diff changeset
1383 if (strcmpi (axis_obj.visible, "off"))
033918b854a7 [project @ 2007-10-24 17:51:05 by jwe]
jwe
parents: 7020
diff changeset
1384 fputs (plot_stream, "unset border; unset tics\n");
7565
1e6443ff960f handle axes linewidth property
John W. Eaton <jwe@octave.org>
parents: 7564
diff changeset
1385 else
1e6443ff960f handle axes linewidth property
John W. Eaton <jwe@octave.org>
parents: 7564
diff changeset
1386 fprintf (plot_stream, "set border lw %f;\n", axis_obj.linewidth);
7060
033918b854a7 [project @ 2007-10-24 17:51:05 by jwe]
jwe
parents: 7020
diff changeset
1387 endif
033918b854a7 [project @ 2007-10-24 17:51:05 by jwe]
jwe
parents: 7020
diff changeset
1388
11198
9f080d23396f Fix multi-parented legends with the gnuplot backend (fixes #30461 and #31522)
David Bateman <dbateman@free.fr>
parents: 11171
diff changeset
1389 if (! isempty (hlgnd) && ! isempty (hlgnd.children)
9f080d23396f Fix multi-parented legends with the gnuplot backend (fixes #30461 and #31522)
David Bateman <dbateman@free.fr>
parents: 11171
diff changeset
1390 && any (strcmpi (get (hlgnd.children, "visible"), "on")))
10995
e81914f3921f Update legend code to support fltk (fixes #29348 and partially fixes #30461)
David Bateman <dbateman@free.fr>
parents: 10992
diff changeset
1391 if (strcmpi (hlgnd.box, "on"))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1392 box = "box";
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1393 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1394 box = "nobox";
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1395 endif
10995
e81914f3921f Update legend code to support fltk (fixes #29348 and partially fixes #30461)
David Bateman <dbateman@free.fr>
parents: 10992
diff changeset
1396 if (strcmpi (hlgnd.orientation, "vertical"))
e81914f3921f Update legend code to support fltk (fixes #29348 and partially fixes #30461)
David Bateman <dbateman@free.fr>
parents: 10992
diff changeset
1397 horzvert = "vertical";
e81914f3921f Update legend code to support fltk (fixes #29348 and partially fixes #30461)
David Bateman <dbateman@free.fr>
parents: 10992
diff changeset
1398 else
e81914f3921f Update legend code to support fltk (fixes #29348 and partially fixes #30461)
David Bateman <dbateman@free.fr>
parents: 10992
diff changeset
1399 horzvert = "horizontal";
e81914f3921f Update legend code to support fltk (fixes #29348 and partially fixes #30461)
David Bateman <dbateman@free.fr>
parents: 10992
diff changeset
1400 endif
e81914f3921f Update legend code to support fltk (fixes #29348 and partially fixes #30461)
David Bateman <dbateman@free.fr>
parents: 10992
diff changeset
1401 if (strcmpi (hlgnd.textposition, "right"))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1402 reverse = "reverse";
8291
53f35799b235 Add support for left/right argument to the legend function
David Bateman <dbateman@free.fr>
parents: 8242
diff changeset
1403 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1404 reverse = "noreverse";
8291
53f35799b235 Add support for left/right argument to the legend function
David Bateman <dbateman@free.fr>
parents: 8242
diff changeset
1405 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1406 inout = "inside";
10995
e81914f3921f Update legend code to support fltk (fixes #29348 and partially fixes #30461)
David Bateman <dbateman@free.fr>
parents: 10992
diff changeset
1407 keypos = hlgnd.location;
6977
e78e31f0a236 [project @ 2007-10-08 19:09:32 by jwe]
jwe
parents: 6963
diff changeset
1408 if (ischar (keypos))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1409 keypos = lower (keypos);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1410 keyout = findstr (keypos, "outside");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1411 if (! isempty (keyout))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1412 inout = "outside";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1413 keypos = keypos(1:keyout-1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1414 endif
6977
e78e31f0a236 [project @ 2007-10-08 19:09:32 by jwe]
jwe
parents: 6963
diff changeset
1415 endif
e78e31f0a236 [project @ 2007-10-08 19:09:32 by jwe]
jwe
parents: 6963
diff changeset
1416 switch (keypos)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1417 case "north"
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1418 pos = "center top";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1419 case "south"
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1420 pos = "center bottom";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1421 case "east"
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1422 pos = "right center";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1423 case "west"
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1424 pos = "left center";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1425 case "northeast"
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1426 pos = "right top";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1427 case "northwest"
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1428 pos = "left top";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1429 case "southeast"
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1430 pos = "right bottom";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1431 case "southwest"
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1432 pos = "left bottom";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1433 case "best"
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1434 pos = "";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1435 warning ("legend: 'Best' not yet implemented for location specifier.\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1436 ## Least conflict with data in plot.
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1437 ## Least unused space outside plot.
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1438 otherwise
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1439 pos = "";
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1440 endswitch
9191
ad33527d2e51 Have 'legend' inherit font properties from the parent axis.
Ben Abbott <bpabbott@mac.com>
parents: 9110
diff changeset
1441 if (__gnuplot_has_feature__ ("key_has_font_properties"))
10995
e81914f3921f Update legend code to support fltk (fixes #29348 and partially fixes #30461)
David Bateman <dbateman@free.fr>
parents: 10992
diff changeset
1442 fontspec = create_fontspec (hlgnd.fontname, hlgnd.fontsize, gnuplot_term);
9191
ad33527d2e51 Have 'legend' inherit font properties from the parent axis.
Ben Abbott <bpabbott@mac.com>
parents: 9110
diff changeset
1443 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1444 fontspec = "";
9191
ad33527d2e51 Have 'legend' inherit font properties from the parent axis.
Ben Abbott <bpabbott@mac.com>
parents: 9110
diff changeset
1445 endif
10995
e81914f3921f Update legend code to support fltk (fixes #29348 and partially fixes #30461)
David Bateman <dbateman@free.fr>
parents: 10992
diff changeset
1446 fprintf (plot_stream, "set key %s %s;\nset key %s %s %s %s;\n",
e81914f3921f Update legend code to support fltk (fixes #29348 and partially fixes #30461)
David Bateman <dbateman@free.fr>
parents: 10992
diff changeset
1447 inout, pos, box, reverse, horzvert, fontspec);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1448 else
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1449 fputs (plot_stream, "unset key;\n");
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1450 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1451 fputs (plot_stream, "set style data lines;\n");
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1452
9110
22ae6b3411a7 Add isocolor, isonormals and isosurface functions (For Martin Helm). Add 3D filled triangular patches and the trisurf function
David Bateman <dbateman@free.fr>
parents: 9098
diff changeset
1453 cmap = [cmap; addedcmap];
22ae6b3411a7 Add isocolor, isonormals and isosurface functions (For Martin Helm). Add 3D filled triangular patches and the trisurf function
David Bateman <dbateman@free.fr>
parents: 9098
diff changeset
1454 cmap_sz = cmap_sz + rows(addedcmap);
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
1455 if (length(cmap) > 0)
8164
0d37c99fc06f __go_draw_axes__.m: eliminate have_newer_gnuplot variable
John W. Eaton <jwe@octave.org>
parents: 8112
diff changeset
1456 fprintf (plot_stream,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1457 "set palette positive color model RGB maxcolors %i;\n",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1458 cmap_sz);
8164
0d37c99fc06f __go_draw_axes__.m: eliminate have_newer_gnuplot variable
John W. Eaton <jwe@octave.org>
parents: 8112
diff changeset
1459 fprintf (plot_stream,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1460 "set palette file \"-\" binary record=%d using 1:2:3:4;\n",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1461 cmap_sz);
8164
0d37c99fc06f __go_draw_axes__.m: eliminate have_newer_gnuplot variable
John W. Eaton <jwe@octave.org>
parents: 8112
diff changeset
1462 fwrite (plot_stream, [1:cmap_sz; cmap.'], "float32");
0d37c99fc06f __go_draw_axes__.m: eliminate have_newer_gnuplot variable
John W. Eaton <jwe@octave.org>
parents: 8112
diff changeset
1463 fwrite (plot_stream, "\n");
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
1464 endif
8208
f6ca8ff51818 [mq]: graphics-backend
John W. Eaton <jwe@octave.org>
parents: 8190
diff changeset
1465
f6ca8ff51818 [mq]: graphics-backend
John W. Eaton <jwe@octave.org>
parents: 8190
diff changeset
1466 fputs (plot_stream, "unset colorbox;\n");
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
1467
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1468 if (have_data)
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1469 if (nd == 2)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1470 plot_cmd = "plot";
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1471 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1472 plot_cmd = "splot";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1473 rot_x = 90 - axis_obj.view(2);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1474 rot_z = axis_obj.view(1);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1475 while (rot_z < 0)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1476 rot_z += 360;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1477 endwhile
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1478 fputs (plot_stream, "set ticslevel 0;\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1479 if (view_map && rot_x == 0 && rot_z == 0)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1480 fputs (plot_stream, "set view map;\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1481 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1482 fprintf (plot_stream, "set view %.15g, %.15g;\n", rot_x, rot_z);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1483 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1484 endif
9110
22ae6b3411a7 Add isocolor, isonormals and isosurface functions (For Martin Helm). Add 3D filled triangular patches and the trisurf function
David Bateman <dbateman@free.fr>
parents: 9098
diff changeset
1485 if (have_3d_patch (1))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1486 fputs (plot_stream, "set pm3d depthorder\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1487 fprintf (plot_stream, "%s \"-\" %s %s %s \\\n", plot_cmd,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1488 usingclause{1}, titlespec{1}, withclause{1});
9110
22ae6b3411a7 Add isocolor, isonormals and isosurface functions (For Martin Helm). Add 3D filled triangular patches and the trisurf function
David Bateman <dbateman@free.fr>
parents: 9098
diff changeset
1489 elseif (is_image_data (1))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1490 fprintf (plot_stream, "%s \"-\" %s %s %s \\\n", plot_cmd,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1491 usingclause{1}, titlespec{1}, withclause{1});
8226
50fa927b4e49 Fix for images with new gnuplot/binary transfer code
David Bateman <dbateman@free.fr>
parents: 8222
diff changeset
1492 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1493 fprintf (plot_stream, "%s \"-\" binary format='%%float64' %s %s %s \\\n", plot_cmd,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1494 usingclause{1}, titlespec{1}, withclause{1});
8226
50fa927b4e49 Fix for images with new gnuplot/binary transfer code
David Bateman <dbateman@free.fr>
parents: 8222
diff changeset
1495 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1496 for i = 2:data_idx
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1497 if (have_3d_patch (i))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1498 fprintf (plot_stream, ", \"-\" %s %s %s \\\n",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1499 usingclause{i}, titlespec{i}, withclause{i});
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1500 elseif (is_image_data (i))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1501 if (! is_image_data (i-1))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1502 fputs (plot_stream, "; ");
10528
6a2e4e464d38 Unset figure color in __go_draw_axes__ (partial fix for bug #29060)
David Bateman <dbateman@free.fr>
parents: 10451
diff changeset
1503 if (bg_is_set)
6a2e4e464d38 Unset figure color in __go_draw_axes__ (partial fix for bug #29060)
David Bateman <dbateman@free.fr>
parents: 10451
diff changeset
1504 fputs (plot_stream, "unset obj 1; \\\n");
6a2e4e464d38 Unset figure color in __go_draw_axes__ (partial fix for bug #29060)
David Bateman <dbateman@free.fr>
parents: 10451
diff changeset
1505 bg_is_set = false;
6a2e4e464d38 Unset figure color in __go_draw_axes__ (partial fix for bug #29060)
David Bateman <dbateman@free.fr>
parents: 10451
diff changeset
1506 endif
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1507 endif
9110
22ae6b3411a7 Add isocolor, isonormals and isosurface functions (For Martin Helm). Add 3D filled triangular patches and the trisurf function
David Bateman <dbateman@free.fr>
parents: 9098
diff changeset
1508 fprintf (plot_stream, "%s \"-\" %s %s %s \\\n", plot_cmd,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1509 usingclause{i}, titlespec{i}, withclause{i});
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1510 elseif (is_image_data (i-1))
10528
6a2e4e464d38 Unset figure color in __go_draw_axes__ (partial fix for bug #29060)
David Bateman <dbateman@free.fr>
parents: 10451
diff changeset
1511 if (bg_is_set)
6a2e4e464d38 Unset figure color in __go_draw_axes__ (partial fix for bug #29060)
David Bateman <dbateman@free.fr>
parents: 10451
diff changeset
1512 fputs (plot_stream, "unset obj 1; \\\n");
6a2e4e464d38 Unset figure color in __go_draw_axes__ (partial fix for bug #29060)
David Bateman <dbateman@free.fr>
parents: 10451
diff changeset
1513 bg_is_set = false;
6a2e4e464d38 Unset figure color in __go_draw_axes__ (partial fix for bug #29060)
David Bateman <dbateman@free.fr>
parents: 10451
diff changeset
1514 endif
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1515 fprintf (plot_stream, "%s \"-\" binary format='%%float64' %s %s %s \\\n", plot_cmd,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1516 usingclause{i}, titlespec{i}, withclause{i});
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1517 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1518 fprintf (plot_stream, ", \"-\" binary format='%%float64' %s %s %s \\\n",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1519 usingclause{i}, titlespec{i}, withclause{i});
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1520 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1521 endfor
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1522 fputs (plot_stream, ";\n");
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1523 for i = 1:data_idx
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1524 if (have_3d_patch (i))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1525 ## Can't write 3d patch data as binary as can't plot more than
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1526 ## a single patch at a time and have to plot all patches together
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1527 ## so that the gnuplot depth ordering is done correctly
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1528 for j = 1 : 4 : columns(data{i})
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1529 if (j != 1)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1530 fputs (plot_stream, "\n\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1531 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1532 fprintf (plot_stream, "%.15g %.15g %.15g %.15g\n", data{i}(:,j).');
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1533 fprintf (plot_stream, "%.15g %.15g %.15g %.15g\n\n", data{i}(:,j+1).');
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1534 fprintf (plot_stream, "%.15g %.15g %.15g %.15g\n", data{i}(:,j+2).');
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1535 fprintf (plot_stream, "%.15g %.15g %.15g %.15g\n", data{i}(:,j+3).');
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1536 endfor
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1537 fputs (plot_stream, "e\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1538 elseif (is_image_data(i))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1539 fwrite (plot_stream, data{i}, "float32");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1540 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1541 __gnuplot_write_data__ (plot_stream, data{i}, nd, parametric(i),
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1542 have_cdata(i));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1543 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1544 endfor
6431
ff87ad14403f [project @ 2007-03-22 18:20:31 by jwe]
jwe
parents: 6425
diff changeset
1545 else
ff87ad14403f [project @ 2007-03-22 18:20:31 by jwe]
jwe
parents: 6425
diff changeset
1546 fputs (plot_stream, "plot \"-\";\nInf Inf\ne\n");
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1547 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1548
8506
bc982528de11 comment style fixes
John W. Eaton <jwe@octave.org>
parents: 8360
diff changeset
1549 ## Needed to allow mouse rotation with pcolor.
7271
c18512d0ddb6 [project @ 2007-12-10 06:52:51 by jwe]
jwe
parents: 7269
diff changeset
1550 if (view_map)
c18512d0ddb6 [project @ 2007-12-10 06:52:51 by jwe]
jwe
parents: 7269
diff changeset
1551 fputs (plot_stream, "unset view;\n");
c18512d0ddb6 [project @ 2007-12-10 06:52:51 by jwe]
jwe
parents: 7269
diff changeset
1552 endif
10528
6a2e4e464d38 Unset figure color in __go_draw_axes__ (partial fix for bug #29060)
David Bateman <dbateman@free.fr>
parents: 10451
diff changeset
1553
6a2e4e464d38 Unset figure color in __go_draw_axes__ (partial fix for bug #29060)
David Bateman <dbateman@free.fr>
parents: 10451
diff changeset
1554 if (bg_is_set)
6a2e4e464d38 Unset figure color in __go_draw_axes__ (partial fix for bug #29060)
David Bateman <dbateman@free.fr>
parents: 10451
diff changeset
1555 fputs (plot_stream, "unset obj 1;\n");
6a2e4e464d38 Unset figure color in __go_draw_axes__ (partial fix for bug #29060)
David Bateman <dbateman@free.fr>
parents: 10451
diff changeset
1556 bg_is_set = false;
6a2e4e464d38 Unset figure color in __go_draw_axes__ (partial fix for bug #29060)
David Bateman <dbateman@free.fr>
parents: 10451
diff changeset
1557 endif
7271
c18512d0ddb6 [project @ 2007-12-10 06:52:51 by jwe]
jwe
parents: 7269
diff changeset
1558
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1559 fflush (plot_stream);
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1560
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1561 else
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1562 print_usage ();
7109
5436efbf35e3 [project @ 2007-11-06 22:16:25 by jwe]
jwe
parents: 7094
diff changeset
1563 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1564
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1565 endfunction
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1566
9257
ab952265ad06 __go_draw_axes__.m: Properly render TeX symbols for x11.
Ben Abbott <bpabbott@mac.com>
parents: 9191
diff changeset
1567 function fontspec = create_fontspec (f, s, gp_term)
9468
5af462716bff Add support for gnuplot's Lua-TikZ terminal.
Ben Abbott <bpabbott@mac.com>
parents: 9438
diff changeset
1568 if (strcmp (f, "*") || strcmp (gp_term, "tikz"))
9098
5ecdb3d3568f Allow fontsize to be specified for all objects with fontname == "*".
Ben Abbott <bpabbott@mac.com>
parents: 9083
diff changeset
1569 fontspec = sprintf ("font \",%d\"", s);
9063
a6cf0ad87eee __go_draw_axes__.m: New subfunction create_fontspec(). Allow fontsize to be specified when the fontname is anonymous.
Ben Abbott <bpabbott@mac.com>
parents: 9050
diff changeset
1570 else
a6cf0ad87eee __go_draw_axes__.m: New subfunction create_fontspec(). Allow fontsize to be specified when the fontname is anonymous.
Ben Abbott <bpabbott@mac.com>
parents: 9050
diff changeset
1571 fontspec = sprintf ("font \"%s,%d\"", f, s);
a6cf0ad87eee __go_draw_axes__.m: New subfunction create_fontspec(). Allow fontsize to be specified when the fontname is anonymous.
Ben Abbott <bpabbott@mac.com>
parents: 9050
diff changeset
1572 endif
a6cf0ad87eee __go_draw_axes__.m: New subfunction create_fontspec(). Allow fontsize to be specified when the fontname is anonymous.
Ben Abbott <bpabbott@mac.com>
parents: 9050
diff changeset
1573 endfunction
a6cf0ad87eee __go_draw_axes__.m: New subfunction create_fontspec(). Allow fontsize to be specified when the fontname is anonymous.
Ben Abbott <bpabbott@mac.com>
parents: 9050
diff changeset
1574
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1575 function style = do_linestyle_command (obj, linecolor, idx, mono,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1576 plot_stream, errbars = "")
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1577 style = {};
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1578
8164
0d37c99fc06f __go_draw_axes__.m: eliminate have_newer_gnuplot variable
John W. Eaton <jwe@octave.org>
parents: 8112
diff changeset
1579 fprintf (plot_stream, "set style line %d default;\n", idx);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1580 fprintf (plot_stream, "set style line %d", idx);
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1581
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1582 found_style = false;
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1583 if (isnumeric (linecolor))
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1584 color = linecolor;
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1585 if (! mono)
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1586 fprintf (plot_stream, " linecolor rgb \"#%02x%02x%02x\"",
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1587 round (255*color));
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1588 endif
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1589 else
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1590 color = [0, 0, 0];
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1591 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1592
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1593 if (isfield (obj, "linestyle"))
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1594 switch (obj.linestyle)
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1595 case "-"
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1596 lt = "1";
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1597 case "--"
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1598 lt = "2";
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1599 case ":"
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1600 lt = "3";
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1601 case "-."
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1602 lt = "6";
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1603 case "none"
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1604 lt = "";
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1605 otherwise
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1606 lt = "";
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1607 endswitch
6843
9adfed86501f [project @ 2007-08-29 20:39:12 by jwe]
jwe
parents: 6829
diff changeset
1608
11095
d4619eb6ef8e __go_draw_axes__.m: Enable linetypes for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 11090
diff changeset
1609 if (! isempty (lt))
d4619eb6ef8e __go_draw_axes__.m: Enable linetypes for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 11090
diff changeset
1610 fprintf (plot_stream, " linetype %s", lt);
d4619eb6ef8e __go_draw_axes__.m: Enable linetypes for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 11090
diff changeset
1611 endif
6843
9adfed86501f [project @ 2007-08-29 20:39:12 by jwe]
jwe
parents: 6829
diff changeset
1612
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1613 else
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1614 lt = "";
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1615 endif
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1616 if (! isempty (errbars))
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1617 found_style = true;
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1618 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1619
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1620 if (isfield (obj, "linewidth"))
8164
0d37c99fc06f __go_draw_axes__.m: eliminate have_newer_gnuplot variable
John W. Eaton <jwe@octave.org>
parents: 8112
diff changeset
1621 fprintf (plot_stream, " linewidth %f", obj.linewidth);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1622 found_style = true;
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1623 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1624
10933
e78e531dfa2d Improve matlab compatibility with '.' marker
David Bateman <dbateman@free.fr>
parents: 10931
diff changeset
1625 [pt, pt2, obj] = gnuplot_pointtype (obj);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1626
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1627 if (! isempty (pt))
6465
5fb50197b69a [project @ 2007-03-27 14:29:46 by jwe]
jwe
parents: 6464
diff changeset
1628 found_style = true;
5fb50197b69a [project @ 2007-03-27 14:29:46 by jwe]
jwe
parents: 6464
diff changeset
1629 endif
5fb50197b69a [project @ 2007-03-27 14:29:46 by jwe]
jwe
parents: 6464
diff changeset
1630
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1631 sidx = 1;
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1632 if (isempty (errbars))
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1633 if (isempty (lt))
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1634 style {sidx} = "";
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1635 else
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1636 style {sidx} = "lines";
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1637 endif
11095
d4619eb6ef8e __go_draw_axes__.m: Enable linetypes for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 11090
diff changeset
1638
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1639 facesame = true;
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1640 if (! isequal (pt, pt2) && isfield (obj, "markerfacecolor")
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1641 && !strncmp (obj.markerfacecolor, "none", 4))
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1642 if (strncmp (obj.markerfacecolor, "auto", 4)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1643 || ! isnumeric (obj.markerfacecolor)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1644 || (isnumeric (obj.markerfacecolor)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1645 && isequal (color, obj.markerfacecolor)))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1646 if (! isempty (pt2))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1647 fprintf (plot_stream, " pointtype %s", pt2);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1648 style {sidx} = strcat (style{sidx}, "points");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1649 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1650 if (isfield (obj, "markersize"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1651 fprintf (plot_stream, " pointsize %f", obj.markersize / 3);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1652 endif
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1653 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1654 facesame = false;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1655 if (! found_style)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1656 fputs (plot_stream, " default");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1657 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1658 fputs (plot_stream, ";\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1659 if (! isempty (style {sidx}))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1660 sidx ++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1661 idx ++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1662 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1663 fputs (plot_stream, ";\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1664 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1665 fprintf (plot_stream, "set style line %d default;\n", idx);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1666 fprintf (plot_stream, "set style line %d", idx);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1667 if (isnumeric (obj.markerfacecolor) && ! mono)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1668 fprintf (plot_stream, " linecolor rgb \"#%02x%02x%02x\"",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1669 round (255*obj.markerfacecolor));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1670 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1671 if (! isempty (pt2))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1672 style {sidx} = "points";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1673 fprintf (plot_stream, " pointtype %s", pt2);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1674 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1675 if (isfield (obj, "markersize"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1676 fprintf (plot_stream, " pointsize %f", obj.markersize / 3);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1677 endif
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1678 endif
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1679 endif
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1680 if (isfield (obj, "markeredgecolor")
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1681 && !strncmp (obj.markeredgecolor, "none", 4))
10157
cf17f22f1fd4 trivial fix to durface and lines for empty markers
David Bateman <dbateman@free.fr>
parents: 10137
diff changeset
1682 if (facesame && !isempty (pt)
cf17f22f1fd4 trivial fix to durface and lines for empty markers
David Bateman <dbateman@free.fr>
parents: 10137
diff changeset
1683 && (strncmp (obj.markeredgecolor, "auto", 4)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1684 || ! isnumeric (obj.markeredgecolor)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1685 || (isnumeric (obj.markeredgecolor)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1686 && isequal (color, obj.markeredgecolor))))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1687 if (sidx == 1 && ((length (style {sidx}) == 5
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1688 && strncmp (style {sidx}, "lines", 5)) || isempty (style {sidx})))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1689 if (! isempty (pt))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1690 style {sidx} = strcat (style{sidx}, "points");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1691 fprintf (plot_stream, " pointtype %s", pt);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1692 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1693 if (isfield (obj, "markersize"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1694 fprintf (plot_stream, " pointsize %f", obj.markersize / 3);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1695 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1696 endif
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1697 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1698 if (! found_style)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1699 fputs (plot_stream, " default");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1700 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1701 fputs (plot_stream, ";\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1702 if (!isempty (style {sidx}))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1703 sidx ++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1704 idx ++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1705 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1706 fputs (plot_stream, ";\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1707 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1708 fprintf (plot_stream, "set style line %d default;\n", idx);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1709 fprintf (plot_stream, "set style line %d", idx);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1710 if (! mono)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1711 if (strncmp (obj.markeredgecolor, "auto", 4))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1712 fprintf (plot_stream, " linecolor rgb \"#%02x%02x%02x\"",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1713 round (255*color));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1714 elseif (isnumeric (obj.markeredgecolor) && ! mono)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1715 fprintf (plot_stream, " linecolor rgb \"#%02x%02x%02x\"",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1716 round (255*obj.markeredgecolor));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1717 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1718 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1719 if (! isempty (pt))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1720 style {sidx} = "points";
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1721 fprintf (plot_stream, " pointtype %s", pt);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1722 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1723 if (isfield (obj, "markersize"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1724 fprintf (plot_stream, " pointsize %f", obj.markersize / 3);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1725 endif
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1726 endif
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1727 endif
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1728 else
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1729 style{1} = errbars;
10582
9676d0255440 Use "." for marker when plotting with errorbars. (bug #29057)
Rik <octave@nomad.inbox5.com>
parents: 10563
diff changeset
1730 fputs (plot_stream, " pointtype 0");
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1731 endif
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1732
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1733 if (! found_style && isempty (style {1}))
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1734 fputs (plot_stream, " default");
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1735 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1736
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1737 fputs (plot_stream, ";\n");
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1738
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1739 endfunction
6510
cbae86745c5b [project @ 2007-04-09 23:15:47 by jwe]
jwe
parents: 6465
diff changeset
1740
10933
e78e531dfa2d Improve matlab compatibility with '.' marker
David Bateman <dbateman@free.fr>
parents: 10931
diff changeset
1741 function [pt, pt2, obj] = gnuplot_pointtype (obj)
10925
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1742 if (isfield (obj, "marker"))
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1743 switch (obj.marker)
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1744 case "+"
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1745 pt = pt2 = "1";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1746 case "o"
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1747 pt = "6";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1748 pt2 = "7";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1749 case "*"
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1750 pt = pt2 = "3";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1751 case "."
10933
e78e531dfa2d Improve matlab compatibility with '.' marker
David Bateman <dbateman@free.fr>
parents: 10931
diff changeset
1752 pt = "6";
e78e531dfa2d Improve matlab compatibility with '.' marker
David Bateman <dbateman@free.fr>
parents: 10931
diff changeset
1753 pt2 = "7";
e78e531dfa2d Improve matlab compatibility with '.' marker
David Bateman <dbateman@free.fr>
parents: 10931
diff changeset
1754 if (isfield (obj, "markerfacecolor")
e78e531dfa2d Improve matlab compatibility with '.' marker
David Bateman <dbateman@free.fr>
parents: 10931
diff changeset
1755 || strncmp (obj.markerfacecolor, "none", 4))
e78e531dfa2d Improve matlab compatibility with '.' marker
David Bateman <dbateman@free.fr>
parents: 10931
diff changeset
1756 obj.markerfacecolor = "auto";
e78e531dfa2d Improve matlab compatibility with '.' marker
David Bateman <dbateman@free.fr>
parents: 10931
diff changeset
1757 endif
e78e531dfa2d Improve matlab compatibility with '.' marker
David Bateman <dbateman@free.fr>
parents: 10931
diff changeset
1758 if (isfield (obj, "markersize"))
e78e531dfa2d Improve matlab compatibility with '.' marker
David Bateman <dbateman@free.fr>
parents: 10931
diff changeset
1759 obj.markersize /= 3;
e78e531dfa2d Improve matlab compatibility with '.' marker
David Bateman <dbateman@free.fr>
parents: 10931
diff changeset
1760 else
e78e531dfa2d Improve matlab compatibility with '.' marker
David Bateman <dbateman@free.fr>
parents: 10931
diff changeset
1761 obj.markersize = 5;
e78e531dfa2d Improve matlab compatibility with '.' marker
David Bateman <dbateman@free.fr>
parents: 10931
diff changeset
1762 endif
10925
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1763 case "x"
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1764 pt = pt2 = "2";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1765 case {"square", "s"}
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1766 pt = "4";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1767 pt2 = "5";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1768 case {"diamond", "d"}
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1769 pt = "12";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1770 pt2 = "13";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1771 case "^"
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1772 pt = "8";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1773 pt2 = "9";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1774 case "v"
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1775 pt = "10";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1776 pt2 = "11";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1777 case ">"
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1778 ## FIXME -- should be triangle pointing right, use triangle pointing up
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1779 pt = "8";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1780 pt2 = "9";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1781 case "<"
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1782 ## FIXME -- should be triangle pointing left, use triangle pointing down
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1783 pt = "10";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1784 pt2 = "11";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1785 case {"pentagram", "p"}
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1786 ## FIXME -- should be pentagram, using pentagon
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1787 pt = "14";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1788 pt2 = "15";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1789 case {"hexagram", "h"}
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1790 ## FIXME -- should be 6 pt start, using "*" instead
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1791 pt = pt2 = "3";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1792 case "none"
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1793 pt = pt2 = "";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1794 otherwise
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1795 pt = pt2 = "";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1796 endswitch
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1797 else
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1798 pt = pt2 = "";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1799 endif
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1800 endfunction
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
1801
7119
d22ad51b9cf8 [project @ 2007-11-07 21:06:27 by jwe]
jwe
parents: 7115
diff changeset
1802 function __gnuplot_write_data__ (plot_stream, data, nd, parametric, cdata)
6510
cbae86745c5b [project @ 2007-04-09 23:15:47 by jwe]
jwe
parents: 6465
diff changeset
1803
cbae86745c5b [project @ 2007-04-09 23:15:47 by jwe]
jwe
parents: 6465
diff changeset
1804 ## DATA is already transposed.
cbae86745c5b [project @ 2007-04-09 23:15:47 by jwe]
jwe
parents: 6465
diff changeset
1805
cbae86745c5b [project @ 2007-04-09 23:15:47 by jwe]
jwe
parents: 6465
diff changeset
1806 ## FIXME -- this may need to be converted to C++ for speed.
cbae86745c5b [project @ 2007-04-09 23:15:47 by jwe]
jwe
parents: 6465
diff changeset
1807
6605
376b71574728 [project @ 2007-05-02 16:15:28 by jwe]
jwe
parents: 6579
diff changeset
1808 ## Convert NA elements to normal NaN values because fprintf writes
376b71574728 [project @ 2007-05-02 16:15:28 by jwe]
jwe
parents: 6579
diff changeset
1809 ## "NA" and that confuses gnuplot.
376b71574728 [project @ 2007-05-02 16:15:28 by jwe]
jwe
parents: 6579
diff changeset
1810 idx = find (isna (data));
376b71574728 [project @ 2007-05-02 16:15:28 by jwe]
jwe
parents: 6579
diff changeset
1811 if (any (idx))
376b71574728 [project @ 2007-05-02 16:15:28 by jwe]
jwe
parents: 6579
diff changeset
1812 data(idx) = NaN;
376b71574728 [project @ 2007-05-02 16:15:28 by jwe]
jwe
parents: 6579
diff changeset
1813 endif
376b71574728 [project @ 2007-05-02 16:15:28 by jwe]
jwe
parents: 6579
diff changeset
1814
6510
cbae86745c5b [project @ 2007-04-09 23:15:47 by jwe]
jwe
parents: 6465
diff changeset
1815 if (nd == 2)
8217
f74cb5e3a6c1 send binary data to gnuplot
Daniel J. Sebald <daniel.sebald@ieee.org>
parents: 8216
diff changeset
1816 fwrite (plot_stream, data, "float64");
7109
5436efbf35e3 [project @ 2007-11-06 22:16:25 by jwe]
jwe
parents: 7094
diff changeset
1817 elseif (nd == 3)
6510
cbae86745c5b [project @ 2007-04-09 23:15:47 by jwe]
jwe
parents: 6465
diff changeset
1818 if (parametric)
8217
f74cb5e3a6c1 send binary data to gnuplot
Daniel J. Sebald <daniel.sebald@ieee.org>
parents: 8216
diff changeset
1819 fwrite (plot_stream, data, "float64");
6510
cbae86745c5b [project @ 2007-04-09 23:15:47 by jwe]
jwe
parents: 6465
diff changeset
1820 else
7170
9f38c6293317 [project @ 2007-11-13 17:34:33 by jwe]
jwe
parents: 7168
diff changeset
1821 nr = rows (data);
7119
d22ad51b9cf8 [project @ 2007-11-07 21:06:27 by jwe]
jwe
parents: 7115
diff changeset
1822 if (cdata)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1823 for j = 1:4:nr
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1824 fwrite (plot_stream, data(j:j+3,:), "float64");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1825 endfor
7119
d22ad51b9cf8 [project @ 2007-11-07 21:06:27 by jwe]
jwe
parents: 7115
diff changeset
1826 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1827 for j = 1:3:nr
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1828 fwrite (plot_stream, data(j:j+2,:), "float64");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1829 endfor
7119
d22ad51b9cf8 [project @ 2007-11-07 21:06:27 by jwe]
jwe
parents: 7115
diff changeset
1830 endif
7109
5436efbf35e3 [project @ 2007-11-06 22:16:25 by jwe]
jwe
parents: 7094
diff changeset
1831 endif
6510
cbae86745c5b [project @ 2007-04-09 23:15:47 by jwe]
jwe
parents: 6465
diff changeset
1832 endif
cbae86745c5b [project @ 2007-04-09 23:15:47 by jwe]
jwe
parents: 6465
diff changeset
1833
cbae86745c5b [project @ 2007-04-09 23:15:47 by jwe]
jwe
parents: 6465
diff changeset
1834 endfunction
6745
ca6668e47518 [project @ 2007-06-19 06:00:08 by jwe]
jwe
parents: 6738
diff changeset
1835
9257
ab952265ad06 __go_draw_axes__.m: Properly render TeX symbols for x11.
Ben Abbott <bpabbott@mac.com>
parents: 9191
diff changeset
1836 function do_tics (obj, plot_stream, ymirror, mono, gnuplot_term)
8222
11badf6c9e9f __go_draw_axes__.m: Support axes interpreter poperty for tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 8220
diff changeset
1837
8518
c2c018d7c501 __go_draw_axes__.m: __go_draw_axes__.m: Support non-cell ticklabels.
Ben Abbott <bpabbott@mac.com>
parents: 8510
diff changeset
1838 obj.xticklabel = ticklabel_to_cell (obj.xticklabel);
c2c018d7c501 __go_draw_axes__.m: __go_draw_axes__.m: Support non-cell ticklabels.
Ben Abbott <bpabbott@mac.com>
parents: 8510
diff changeset
1839 obj.yticklabel = ticklabel_to_cell (obj.yticklabel);
c2c018d7c501 __go_draw_axes__.m: __go_draw_axes__.m: Support non-cell ticklabels.
Ben Abbott <bpabbott@mac.com>
parents: 8510
diff changeset
1840 obj.zticklabel = ticklabel_to_cell (obj.zticklabel);
c2c018d7c501 __go_draw_axes__.m: __go_draw_axes__.m: Support non-cell ticklabels.
Ben Abbott <bpabbott@mac.com>
parents: 8510
diff changeset
1841
9374
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
1842 if (strcmp (obj.xminorgrid, "on"))
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
1843 obj.xminortick = "on";
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
1844 endif
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
1845 if (strcmp (obj.yminorgrid, "on"))
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
1846 obj.yminortick = "on";
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
1847 endif
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
1848 if (strcmp (obj.zminorgrid, "on"))
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
1849 obj.zminortick = "on";
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
1850 endif
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
1851
8220
4e05ba66ead2 x/y/z-ticklabels respect axis font properties.
Ben Abbott <bpabbott@mac.com>
parents: 8218
diff changeset
1852 [fontname, fontsize] = get_fontname_and_size (obj);
9257
ab952265ad06 __go_draw_axes__.m: Properly render TeX symbols for x11.
Ben Abbott <bpabbott@mac.com>
parents: 9191
diff changeset
1853 fontspec = create_fontspec (fontname, fontsize, gnuplot_term);
8222
11badf6c9e9f __go_draw_axes__.m: Support axes interpreter poperty for tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 8220
diff changeset
1854
8740
cb0ea772a4af Initialize axes ticklength property.
Ben Abbott <bpabbott@mac.com>
parents: 8665
diff changeset
1855 ## A Gnuplot tic scale of 69 is equivalent to Octave's 0.5.
cb0ea772a4af Initialize axes ticklength property.
Ben Abbott <bpabbott@mac.com>
parents: 8665
diff changeset
1856 ticklength = sprintf ("scale %4.1f", (69/0.5)*obj.ticklength(1));
cb0ea772a4af Initialize axes ticklength property.
Ben Abbott <bpabbott@mac.com>
parents: 8665
diff changeset
1857
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
1858 if (strcmpi (obj.xaxislocation, "top"))
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
1859 do_tics_1 (obj.xtickmode, obj.xtick, obj.xminortick, obj.xticklabelmode,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1860 obj.xticklabel, obj.xcolor, "x2", plot_stream, true, mono,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1861 "border", obj.tickdir, ticklength, fontname, fontspec,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1862 obj.interpreter, obj.xscale);
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
1863 do_tics_1 ("manual", [], "off", obj.xticklabelmode, obj.xticklabel,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1864 obj.xcolor, "x", plot_stream, true, mono, "border",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1865 "", "", fontname, fontspec, obj.interpreter, obj.xscale);
7321
359f464342b3 [project @ 2007-12-18 03:48:03 by jwe]
jwe
parents: 7320
diff changeset
1866 elseif (strcmpi (obj.xaxislocation, "zero"))
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
1867 do_tics_1 (obj.xtickmode, obj.xtick, obj.xminortick, obj.xticklabelmode,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1868 obj.xticklabel, obj.xcolor, "x", plot_stream, true, mono,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1869 "axis", obj.tickdir, ticklength, fontname, fontspec,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1870 obj.interpreter, obj.xscale);
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
1871 do_tics_1 ("manual", [], "off", obj.xticklabelmode, obj.xticklabel,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1872 obj.xcolor, "x2", plot_stream, true, mono, "axis",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1873 "", "", fontname, fontspec, obj.interpreter, obj.xscale);
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
1874 else
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
1875 do_tics_1 (obj.xtickmode, obj.xtick, obj.xminortick, obj.xticklabelmode,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1876 obj.xticklabel, obj.xcolor, "x", plot_stream, true, mono,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1877 "border", obj.tickdir, ticklength, fontname, fontspec,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1878 obj.interpreter, obj.xscale);
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
1879 do_tics_1 ("manual", [], "off", obj.xticklabelmode, obj.xticklabel,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1880 obj.xcolor, "x2", plot_stream, true, mono, "border",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1881 "", "", fontname, fontspec, obj.interpreter, obj.xscale);
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
1882 endif
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
1883 if (strcmpi (obj.yaxislocation, "right"))
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
1884 do_tics_1 (obj.ytickmode, obj.ytick, obj.yminortick, obj.yticklabelmode,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1885 obj.yticklabel, obj.ycolor, "y2", plot_stream, ymirror, mono,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1886 "border", obj.tickdir, ticklength, fontname, fontspec,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1887 obj.interpreter, obj.yscale);
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
1888 do_tics_1 ("manual", [], "off", obj.yticklabelmode, obj.yticklabel,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1889 obj.ycolor, "y", plot_stream, ymirror, mono, "border",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1890 "", "", fontname, fontspec, obj.interpreter, obj.yscale);
8943
4a312440b262 __go_draw_axes__.m (do_tics): fix typo
Ben Abbott <bpabbott@mac.com>
parents: 8920
diff changeset
1891 elseif (strcmpi (obj.yaxislocation, "zero"))
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
1892 do_tics_1 (obj.ytickmode, obj.ytick, obj.yminortick, obj.yticklabelmode,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1893 obj.yticklabel, obj.ycolor, "y", plot_stream, ymirror, mono,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1894 "axis", obj.tickdir, ticklength, fontname, fontspec,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1895 obj.interpreter, obj.yscale);
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
1896 do_tics_1 ("manual", [], "off", obj.yticklabelmode, obj.yticklabel,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1897 obj.ycolor, "y2", plot_stream, ymirror, mono, "axis",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1898 "", "", fontname, fontspec, obj.interpreter, obj.yscale);
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
1899 else
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
1900 do_tics_1 (obj.ytickmode, obj.ytick, obj.yminortick, obj.yticklabelmode,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1901 obj.yticklabel, obj.ycolor, "y", plot_stream, ymirror, mono,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1902 "border", obj.tickdir, ticklength, fontname, fontspec,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1903 obj.interpreter, obj.yscale);
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
1904 do_tics_1 ("manual", [], "off", obj.yticklabelmode, obj.yticklabel,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1905 obj.ycolor, "y2", plot_stream, ymirror, mono, "border",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1906 "", "", fontname, fontspec, obj.interpreter, obj.yscale);
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
1907 endif
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
1908 do_tics_1 (obj.ztickmode, obj.ztick, obj.zminortick, obj.zticklabelmode,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1909 obj.zticklabel, obj.zcolor, "z", plot_stream, true, mono,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1910 "border", obj.tickdir, ticklength, fontname, fontspec,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1911 obj.interpreter, obj.yscale);
6745
ca6668e47518 [project @ 2007-06-19 06:00:08 by jwe]
jwe
parents: 6738
diff changeset
1912 endfunction
ca6668e47518 [project @ 2007-06-19 06:00:08 by jwe]
jwe
parents: 6738
diff changeset
1913
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
1914 function do_tics_1 (ticmode, tics, mtics, labelmode, labels, color, ax,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1915 plot_stream, mirror, mono, axispos, tickdir, ticklength,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1916 fontname, fontspec, interpreter, scale)
8222
11badf6c9e9f __go_draw_axes__.m: Support axes interpreter poperty for tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 8220
diff changeset
1917 persistent warned_latex = false;
11badf6c9e9f __go_draw_axes__.m: Support axes interpreter poperty for tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 8220
diff changeset
1918 if (strcmpi (interpreter, "tex"))
11badf6c9e9f __go_draw_axes__.m: Support axes interpreter poperty for tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 8220
diff changeset
1919 for n = 1 : numel(labels)
11badf6c9e9f __go_draw_axes__.m: Support axes interpreter poperty for tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 8220
diff changeset
1920 labels{n} = __tex2enhanced__ (labels{n}, fontname, false, false);
11badf6c9e9f __go_draw_axes__.m: Support axes interpreter poperty for tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 8220
diff changeset
1921 endfor
11badf6c9e9f __go_draw_axes__.m: Support axes interpreter poperty for tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 8220
diff changeset
1922 elseif (strcmpi (interpreter, "latex"))
11badf6c9e9f __go_draw_axes__.m: Support axes interpreter poperty for tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 8220
diff changeset
1923 if (! warned_latex)
11badf6c9e9f __go_draw_axes__.m: Support axes interpreter poperty for tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 8220
diff changeset
1924 warning ("latex markup not supported for tick marks");
11badf6c9e9f __go_draw_axes__.m: Support axes interpreter poperty for tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 8220
diff changeset
1925 warned_latex = true;
11badf6c9e9f __go_draw_axes__.m: Support axes interpreter poperty for tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 8220
diff changeset
1926 endif
11badf6c9e9f __go_draw_axes__.m: Support axes interpreter poperty for tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 8220
diff changeset
1927 endif
9302
5542c40e40ac __go_draw_axes__.m: Change strncmpi(scale,'lo') -> strcmp(scale,'log').
Ben Abbott <bpabbott@mac.com>
parents: 9301
diff changeset
1928 if (strcmp (scale, "log"))
9301
f2152fad3563 __go_draw_axes__.m: For log-scale axes use format '10^{%T}'.
Ben Abbott <bpabbott@mac.com>
parents: 9281
diff changeset
1929 fmt = "10^{%T}";
9374
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
1930 num_mtics = 10;
9301
f2152fad3563 __go_draw_axes__.m: For log-scale axes use format '10^{%T}'.
Ben Abbott <bpabbott@mac.com>
parents: 9281
diff changeset
1931 else
f2152fad3563 __go_draw_axes__.m: For log-scale axes use format '10^{%T}'.
Ben Abbott <bpabbott@mac.com>
parents: 9281
diff changeset
1932 fmt = "%g";
9374
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
1933 num_mtics = 5;
9301
f2152fad3563 __go_draw_axes__.m: For log-scale axes use format '10^{%T}'.
Ben Abbott <bpabbott@mac.com>
parents: 9281
diff changeset
1934 endif
7269
3fade00a6ac7 [project @ 2007-12-07 19:26:20 by jwe]
jwe
parents: 7257
diff changeset
1935 colorspec = get_text_colorspec (color, mono);
8112
31e86163b752 Add the datetick function
David Bateman <dbateman@free.fr>
parents: 8102
diff changeset
1936 if (strcmpi (ticmode, "manual") || strcmpi (labelmode, "manual"))
6745
ca6668e47518 [project @ 2007-06-19 06:00:08 by jwe]
jwe
parents: 6738
diff changeset
1937 if (isempty (tics))
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
1938 fprintf (plot_stream, "unset %stics;\nunset m%stics;\n", ax, ax);
8953
a6945f92b868 __go_draw_axes__.m: Unset the {x,y,z}ticks when initializing\n\teach axis. Set ticklabels when the ticklabels are empty and when\n\tticklabelmode=="manual".
Ben Abbott <bpabbott@mac.com>
parents: 8943
diff changeset
1939 elseif (strcmpi (labelmode, "manual"))
6751
c0370a971fef [project @ 2007-06-25 15:12:07 by jwe]
jwe
parents: 6748
diff changeset
1940 if (ischar (labels))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1941 labels = cellstr (labels);
6751
c0370a971fef [project @ 2007-06-25 15:12:07 by jwe]
jwe
parents: 6748
diff changeset
1942 endif
8354
534fd216278c __go_draw_axes__.m: xticklabel should accept a numeric vector.
Ben Abbott <bpabbott@mac.com>
parents: 8344
diff changeset
1943 if (isnumeric (labels))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1944 labels = num2str (real (labels(:)));
8354
534fd216278c __go_draw_axes__.m: xticklabel should accept a numeric vector.
Ben Abbott <bpabbott@mac.com>
parents: 8344
diff changeset
1945 endif
534fd216278c __go_draw_axes__.m: xticklabel should accept a numeric vector.
Ben Abbott <bpabbott@mac.com>
parents: 8344
diff changeset
1946 if (ischar (labels))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1947 labels = permute (cellstr (labels), [2, 1]);
8354
534fd216278c __go_draw_axes__.m: xticklabel should accept a numeric vector.
Ben Abbott <bpabbott@mac.com>
parents: 8344
diff changeset
1948 endif
6745
ca6668e47518 [project @ 2007-06-19 06:00:08 by jwe]
jwe
parents: 6738
diff changeset
1949 if (iscellstr (labels))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1950 k = 1;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1951 ntics = numel (tics);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1952 nlabels = numel (labels);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1953 fprintf (plot_stream, "set format %s \"%%s\";\n", ax);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1954 if (mirror)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1955 fprintf (plot_stream, "set %stics %s %s %s mirror (", ax,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1956 tickdir, ticklength, axispos);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1957 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1958 fprintf (plot_stream, "set %stics %s %s %s nomirror (", ax,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1959 tickdir, ticklength, axispos);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1960 endif
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
1961
11032
c9b0a75b02e8 Make all regexp in Octave compatible with both POSIX and PCRE.
Rik <octave@nomad.inbox5.com>
parents: 11001
diff changeset
1962 labels = regexprep(labels, '%', "%%");
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1963 for i = 1:ntics
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1964 fprintf (plot_stream, " \"%s\" %.15g", labels{k++}, tics(i));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1965 if (i < ntics)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1966 fputs (plot_stream, ", ");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1967 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1968 if (k > nlabels)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1969 k = 1;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1970 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1971 endfor
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1972 fprintf (plot_stream, ") %s %s;\n", colorspec, fontspec);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1973 if (strcmp (mtics, "on"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1974 fprintf (plot_stream, "set m%stics %d;\n", ax, num_mtics);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1975 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1976 fprintf (plot_stream, "unset m%stics;\n", ax);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1977 endif
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
1978 else
10635
d1978e7364ad Print name of function in error() string messages.
Rik <octave@nomad.inbox5.com>
parents: 10597
diff changeset
1979 error ("__go_draw_axes__: unsupported type of ticklabel");
6745
ca6668e47518 [project @ 2007-06-19 06:00:08 by jwe]
jwe
parents: 6738
diff changeset
1980 endif
ca6668e47518 [project @ 2007-06-19 06:00:08 by jwe]
jwe
parents: 6738
diff changeset
1981 else
9301
f2152fad3563 __go_draw_axes__.m: For log-scale axes use format '10^{%T}'.
Ben Abbott <bpabbott@mac.com>
parents: 9281
diff changeset
1982 fprintf (plot_stream, "set format %s \"%s\";\n", ax, fmt);
7206
6e4ceeeb1940 [project @ 2007-11-27 22:40:20 by jwe]
jwe
parents: 7204
diff changeset
1983 if (mirror)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1984 fprintf (plot_stream, "set %stics %s %s %s mirror (", ax, tickdir,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1985 ticklength, axispos);
7206
6e4ceeeb1940 [project @ 2007-11-27 22:40:20 by jwe]
jwe
parents: 7204
diff changeset
1986 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1987 fprintf (plot_stream, "set %stics %s %s %s nomirror (", ax, tickdir,
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1988 ticklength, axispos);
7206
6e4ceeeb1940 [project @ 2007-11-27 22:40:20 by jwe]
jwe
parents: 7204
diff changeset
1989 endif
8112
31e86163b752 Add the datetick function
David Bateman <dbateman@free.fr>
parents: 8102
diff changeset
1990 fprintf (plot_stream, " %.15g,", tics(1:end-1));
8220
4e05ba66ead2 x/y/z-ticklabels respect axis font properties.
Ben Abbott <bpabbott@mac.com>
parents: 8218
diff changeset
1991 fprintf (plot_stream, " %.15g) %s;\n", tics(end), fontspec);
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
1992 if (strcmp (mtics, "on"))
9374
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
1993 fprintf (plot_stream, "set m%stics %d;\n", ax, num_mtics);
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
1994 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1995 fprintf (plot_stream, "unset m%stics;\n", ax);
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
1996 endif
6745
ca6668e47518 [project @ 2007-06-19 06:00:08 by jwe]
jwe
parents: 6738
diff changeset
1997 endif
ca6668e47518 [project @ 2007-06-19 06:00:08 by jwe]
jwe
parents: 6738
diff changeset
1998 else
9301
f2152fad3563 __go_draw_axes__.m: For log-scale axes use format '10^{%T}'.
Ben Abbott <bpabbott@mac.com>
parents: 9281
diff changeset
1999 fprintf (plot_stream, "set format %s \"%s\";\n", ax, fmt);
7206
6e4ceeeb1940 [project @ 2007-11-27 22:40:20 by jwe]
jwe
parents: 7204
diff changeset
2000 if (mirror)
8740
cb0ea772a4af Initialize axes ticklength property.
Ben Abbott <bpabbott@mac.com>
parents: 8665
diff changeset
2001 fprintf (plot_stream, "set %stics %s %s %s mirror %s %s;\n", ax,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2002 axispos, tickdir, ticklength, colorspec, fontspec);
7206
6e4ceeeb1940 [project @ 2007-11-27 22:40:20 by jwe]
jwe
parents: 7204
diff changeset
2003 else
8740
cb0ea772a4af Initialize axes ticklength property.
Ben Abbott <bpabbott@mac.com>
parents: 8665
diff changeset
2004 fprintf (plot_stream, "set %stics %s %s %s nomirror %s %s;\n", ax,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2005 tickdir, ticklength, axispos, colorspec, fontspec);
7206
6e4ceeeb1940 [project @ 2007-11-27 22:40:20 by jwe]
jwe
parents: 7204
diff changeset
2006 endif
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
2007 if (strcmp (mtics, "on"))
9374
6a035159ba0e grid.m: Add missing semi-colon. Fix grid toggle. Allow minor grid when no minor tick.
Ben Abbott <bpabbott@mac.com>
parents: 9361
diff changeset
2008 fprintf (plot_stream, "set m%stics %d;\n", ax, num_mtics);
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
2009 else
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
2010 fprintf (plot_stream, "unset m%stics;\n", ax);
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
2011 endif
7194
a927a2871a93 [project @ 2007-11-26 23:06:12 by jwe]
jwe
parents: 7191
diff changeset
2012 endif
a927a2871a93 [project @ 2007-11-26 23:06:12 by jwe]
jwe
parents: 7191
diff changeset
2013 endfunction
a927a2871a93 [project @ 2007-11-26 23:06:12 by jwe]
jwe
parents: 7191
diff changeset
2014
9281
02b16eeb3167 Fix yticklabels for log scale colorbar.
Ben Abbott <bpabbott@mac.com>
parents: 9280
diff changeset
2015 function ticklabel = ticklabel_to_cell (ticklabel)
9472
303f862a896d __go_draw_axes__.m: Fix ticklabels specified as 2D character array.
Ben Abbott <bpabbott@mac.com>
parents: 9468
diff changeset
2016 if (isnumeric (ticklabel))
303f862a896d __go_draw_axes__.m: Fix ticklabels specified as 2D character array.
Ben Abbott <bpabbott@mac.com>
parents: 9468
diff changeset
2017 ## Use upto 5 significant digits
303f862a896d __go_draw_axes__.m: Fix ticklabels specified as 2D character array.
Ben Abbott <bpabbott@mac.com>
parents: 9468
diff changeset
2018 ticklabel = num2str (ticklabel(:), 5);
303f862a896d __go_draw_axes__.m: Fix ticklabels specified as 2D character array.
Ben Abbott <bpabbott@mac.com>
parents: 9468
diff changeset
2019 endif
303f862a896d __go_draw_axes__.m: Fix ticklabels specified as 2D character array.
Ben Abbott <bpabbott@mac.com>
parents: 9468
diff changeset
2020 if (ischar (ticklabel))
303f862a896d __go_draw_axes__.m: Fix ticklabels specified as 2D character array.
Ben Abbott <bpabbott@mac.com>
parents: 9468
diff changeset
2021 if (size (ticklabel, 1) == 1 && any (ticklabel == "|"))
303f862a896d __go_draw_axes__.m: Fix ticklabels specified as 2D character array.
Ben Abbott <bpabbott@mac.com>
parents: 9468
diff changeset
2022 n = setdiff (findstr (ticklabel, "|"), findstr (ticklabel, '\|'));
9281
02b16eeb3167 Fix yticklabels for log scale colorbar.
Ben Abbott <bpabbott@mac.com>
parents: 9280
diff changeset
2023 ticklabel = strsplit (ticklabel, "|");
9280
40fb718a2e67 __go_draw_axes__.m: Add support for ticklabel separator '|'.
Ben Abbott <bpabbott@mac.com>
parents: 9272
diff changeset
2024 else
9281
02b16eeb3167 Fix yticklabels for log scale colorbar.
Ben Abbott <bpabbott@mac.com>
parents: 9280
diff changeset
2025 ticklabel = cellstr (ticklabel);
9280
40fb718a2e67 __go_draw_axes__.m: Add support for ticklabel separator '|'.
Ben Abbott <bpabbott@mac.com>
parents: 9272
diff changeset
2026 endif
9472
303f862a896d __go_draw_axes__.m: Fix ticklabels specified as 2D character array.
Ben Abbott <bpabbott@mac.com>
parents: 9468
diff changeset
2027 elseif (isempty (ticklabel))
303f862a896d __go_draw_axes__.m: Fix ticklabels specified as 2D character array.
Ben Abbott <bpabbott@mac.com>
parents: 9468
diff changeset
2028 ticklabel = {""};
9280
40fb718a2e67 __go_draw_axes__.m: Add support for ticklabel separator '|'.
Ben Abbott <bpabbott@mac.com>
parents: 9272
diff changeset
2029 else
9281
02b16eeb3167 Fix yticklabels for log scale colorbar.
Ben Abbott <bpabbott@mac.com>
parents: 9280
diff changeset
2030 ticklabel = ticklabel;
8518
c2c018d7c501 __go_draw_axes__.m: __go_draw_axes__.m: Support non-cell ticklabels.
Ben Abbott <bpabbott@mac.com>
parents: 8510
diff changeset
2031 endif
c2c018d7c501 __go_draw_axes__.m: __go_draw_axes__.m: Support non-cell ticklabels.
Ben Abbott <bpabbott@mac.com>
parents: 8510
diff changeset
2032 endfunction
c2c018d7c501 __go_draw_axes__.m: __go_draw_axes__.m: Support non-cell ticklabels.
Ben Abbott <bpabbott@mac.com>
parents: 8510
diff changeset
2033
7269
3fade00a6ac7 [project @ 2007-12-07 19:26:20 by jwe]
jwe
parents: 7257
diff changeset
2034 function colorspec = get_text_colorspec (color, mono)
8164
0d37c99fc06f __go_draw_axes__.m: eliminate have_newer_gnuplot variable
John W. Eaton <jwe@octave.org>
parents: 8112
diff changeset
2035 if (mono)
0d37c99fc06f __go_draw_axes__.m: eliminate have_newer_gnuplot variable
John W. Eaton <jwe@octave.org>
parents: 8112
diff changeset
2036 colorspec = "";
7194
a927a2871a93 [project @ 2007-11-26 23:06:12 by jwe]
jwe
parents: 7191
diff changeset
2037 else
8164
0d37c99fc06f __go_draw_axes__.m: eliminate have_newer_gnuplot variable
John W. Eaton <jwe@octave.org>
parents: 8112
diff changeset
2038 colorspec = sprintf ("textcolor rgb \"#%02x%02x%02x\"",
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2039 round (255*color));
6745
ca6668e47518 [project @ 2007-06-19 06:00:08 by jwe]
jwe
parents: 6738
diff changeset
2040 endif
ca6668e47518 [project @ 2007-06-19 06:00:08 by jwe]
jwe
parents: 6738
diff changeset
2041 endfunction
7163
d4d8c7b33e16 [project @ 2007-11-12 21:54:07 by jwe]
jwe
parents: 7162
diff changeset
2042
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2043 function [f, s, fnt, it, bld] = get_fontname_and_size (t)
7163
d4d8c7b33e16 [project @ 2007-11-12 21:54:07 by jwe]
jwe
parents: 7162
diff changeset
2044 if (isempty (t.fontname))
7372
c51426c80045 [project @ 2008-01-14 19:50:10 by jwe]
jwe
parents: 7321
diff changeset
2045 fnt = "Helvetica";
7163
d4d8c7b33e16 [project @ 2007-11-12 21:54:07 by jwe]
jwe
parents: 7162
diff changeset
2046 else
7372
c51426c80045 [project @ 2008-01-14 19:50:10 by jwe]
jwe
parents: 7321
diff changeset
2047 fnt = t.fontname;
7168
f345eb60f941 [project @ 2007-11-13 15:16:52 by jwe]
jwe
parents: 7163
diff changeset
2048 endif
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2049 f = fnt;
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2050 it = false;
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2051 bld = false;
7372
c51426c80045 [project @ 2008-01-14 19:50:10 by jwe]
jwe
parents: 7321
diff changeset
2052 if (! isempty (t.fontweight) && strcmpi (t.fontweight, "bold"))
7168
f345eb60f941 [project @ 2007-11-13 15:16:52 by jwe]
jwe
parents: 7163
diff changeset
2053 if (! isempty(t.fontangle)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2054 && (strcmpi (t.fontangle, "italic")
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2055 || strcmpi (t.fontangle, "oblique")))
7540
3422f39573b1 strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents: 7513
diff changeset
2056 f = cstrcat (f, "-bolditalic");
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2057 it = true;
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2058 bld = true;
7168
f345eb60f941 [project @ 2007-11-13 15:16:52 by jwe]
jwe
parents: 7163
diff changeset
2059 else
7540
3422f39573b1 strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents: 7513
diff changeset
2060 f = cstrcat (f, "-bold");
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2061 bld = true;
7168
f345eb60f941 [project @ 2007-11-13 15:16:52 by jwe]
jwe
parents: 7163
diff changeset
2062 endif
f345eb60f941 [project @ 2007-11-13 15:16:52 by jwe]
jwe
parents: 7163
diff changeset
2063 elseif (! isempty(t.fontangle)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2064 && (strcmpi (t.fontangle, "italic")
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2065 || strcmpi (t.fontangle, "oblique")))
7540
3422f39573b1 strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents: 7513
diff changeset
2066 f = cstrcat (f, "-italic");
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2067 it = true;
7163
d4d8c7b33e16 [project @ 2007-11-12 21:54:07 by jwe]
jwe
parents: 7162
diff changeset
2068 endif
d4d8c7b33e16 [project @ 2007-11-12 21:54:07 by jwe]
jwe
parents: 7162
diff changeset
2069 if (isempty (t.fontsize))
d4d8c7b33e16 [project @ 2007-11-12 21:54:07 by jwe]
jwe
parents: 7162
diff changeset
2070 s = 10;
d4d8c7b33e16 [project @ 2007-11-12 21:54:07 by jwe]
jwe
parents: 7162
diff changeset
2071 else
d4d8c7b33e16 [project @ 2007-11-12 21:54:07 by jwe]
jwe
parents: 7162
diff changeset
2072 s = t.fontsize;
d4d8c7b33e16 [project @ 2007-11-12 21:54:07 by jwe]
jwe
parents: 7162
diff changeset
2073 endif
d4d8c7b33e16 [project @ 2007-11-12 21:54:07 by jwe]
jwe
parents: 7162
diff changeset
2074 endfunction
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2075
8164
0d37c99fc06f __go_draw_axes__.m: eliminate have_newer_gnuplot variable
John W. Eaton <jwe@octave.org>
parents: 8112
diff changeset
2076 function [str, f, s] = __maybe_munge_text__ (enhanced, obj, fld)
0d37c99fc06f __go_draw_axes__.m: eliminate have_newer_gnuplot variable
John W. Eaton <jwe@octave.org>
parents: 8112
diff changeset
2077
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2078 persistent warned_latex = false;
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2079
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2080 if (strcmp (fld, "string"))
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2081 [f, s, fnt, it, bld] = get_fontname_and_size (obj);
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2082 else
7372
c51426c80045 [project @ 2008-01-14 19:50:10 by jwe]
jwe
parents: 7321
diff changeset
2083 f = "Helvetica";
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2084 s = 10;
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2085 fnt = f;
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2086 it = false;
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2087 bld = false;
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2088 endif
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2089
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2090 str = getfield (obj, fld);
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2091 if (enhanced)
8190
73d6b71788c0 use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents: 8171
diff changeset
2092 if (strcmpi (obj.interpreter, "tex"))
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2093 str = __tex2enhanced__ (str, fnt, it, bld);
8190
73d6b71788c0 use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents: 8171
diff changeset
2094 elseif (strcmpi (obj.interpreter, "latex"))
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2095 if (! warned_latex)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2096 warning ("latex markup not supported for text objects");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2097 warned_latex = true;
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2098 endif
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2099 endif
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2100 endif
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2101 endfunction
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2102
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2103 function str = __tex2enhanced__ (str, fnt, it, bld)
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2104 persistent sym = __setup_sym_table__ ();
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2105 persistent flds = fieldnames (sym);
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2106
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2107 [s, e, m] = regexp(str,'\\([a-zA-Z]+|0)','start','end','matches');
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2108
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2109 for i = length (s) : -1 : 1
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2110 ## special case for "\0" and replace with "{/Symbol \306}'
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2111 if (strncmp (m{i}, '\0', 2))
7540
3422f39573b1 strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents: 7513
diff changeset
2112 str = cstrcat (str(1:s(i) - 1), '{/Symbol \306}', str(s(i) + 2:end));
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2113 else
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2114 f = m{i}(2:end);
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2115 if (isfield (sym, f))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2116 g = getfield(sym, f);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2117 ## FIXME The symbol font doesn't seem to support bold or italic
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2118 ##if (bld)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2119 ## if (it)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2120 ## g = regexprep (g, '/Symbol', '/Symbol-bolditalic');
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2121 ## else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2122 ## g = regexprep (g, '/Symbol', '/Symbol-bold');
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2123 ## endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2124 ##elseif (it)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2125 ## g = regexprep (g, '/Symbol', '/Symbol-italic');
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2126 ##endif
7540
3422f39573b1 strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents: 7513
diff changeset
2127 str = cstrcat (str(1:s(i) - 1), g, str(e(i) + 1:end));
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2128 elseif (strncmp (f, "rm", 2))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2129 bld = false;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2130 it = false;
7540
3422f39573b1 strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents: 7513
diff changeset
2131 str = cstrcat (str(1:s(i) - 1), '/', fnt, ' ', str(s(i) + 3:end));
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2132 elseif (strncmp (f, "it", 2) || strncmp (f, "sl", 2))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2133 it = true;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2134 if (bld)
7540
3422f39573b1 strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents: 7513
diff changeset
2135 str = cstrcat (str(1:s(i) - 1), '/', fnt, '-bolditalic ',
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2136 str(s(i) + 3:end));
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2137 else
7540
3422f39573b1 strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents: 7513
diff changeset
2138 str = cstrcat (str(1:s(i) - 1), '/', fnt, '-italic ',
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2139 str(s(i) + 3:end));
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2140 endif
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2141 elseif (strncmp (f, "bf", 2))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2142 bld = true;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2143 if (it)
7540
3422f39573b1 strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents: 7513
diff changeset
2144 str = cstrcat (str(1:s(i) - 1), '/', fnt, '-bolditalic ',
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2145 str(2(i) + 3:end));
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2146 else
7540
3422f39573b1 strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents: 7513
diff changeset
2147 str = cstrcat (str(1:s(i) - 1), '/', fnt, '-bold ',
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2148 str(s(i) + 3:end));
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2149 endif
8190
73d6b71788c0 use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents: 8171
diff changeset
2150 elseif (strcmpi (f, "color"))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2151 ## FIXME Ignore \color but remove trailing {} block as well
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2152 d = strfind(str(e(i) + 1:end),'}');
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2153 if (isempty (d))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2154 warning ('syntax error in \color argument');
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2155 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2156 str = cstrcat (str(1:s(i) - 1), str(e(i) + d + 1:end));
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2157 endif
8190
73d6b71788c0 use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents: 8171
diff changeset
2158 elseif(strcmpi (f, "fontname"))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2159 b1 = strfind(str(e(i) + 1:end),'{');
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2160 b2 = strfind(str(e(i) + 1:end),'}');
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2161 if (isempty(b1) || isempty(b2))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2162 warning ('syntax error in \fontname argument');
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2163 else
7540
3422f39573b1 strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents: 7513
diff changeset
2164 str = cstrcat (str(1:s(i) - 1), '/',
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2165 str(e(i)+b1(1) + 1:e(i)+b2(1)-1), '{}',
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2166 str(e(i) + b2(1) + 1:end));
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2167 endif
8190
73d6b71788c0 use case-insensitive comparison for graphics properties; misc style fixes
John W. Eaton <jwe@octave.org>
parents: 8171
diff changeset
2168 elseif(strcmpi (f, "fontsize"))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2169 b1 = strfind(str(e(i) + 1:end),'{');
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2170 b2 = strfind(str(e(i) + 1:end),'}');
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2171 if (isempty(b1) || isempty(b2))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2172 warning ('syntax error in \fontname argument');
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2173 else
7540
3422f39573b1 strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents: 7513
diff changeset
2174 str = cstrcat (str(1:s(i) - 1), '/=',
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2175 str(e(i)+b1(1) + 1:e(i)+b2(1)-1), '{}',
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2176 str(e(i) + b2(1) + 1:end));
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2177 endif
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2178 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2179 ## Last desperate attempt to treat the symbol. Look for things
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2180 ## like \pix, that should be translated to the symbol Pi and x
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2181 for j = 1 : length (flds)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2182 if (strncmp (flds{j}, f, length (flds{j})))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2183 g = getfield(sym, flds{j});
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2184 ## FIXME The symbol font doesn't seem to support bold or italic
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2185 ##if (bld)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2186 ## if (it)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2187 ## g = regexprep (g, '/Symbol', '/Symbol-bolditalic');
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2188 ## else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2189 ## g = regexprep (g, '/Symbol', '/Symbol-bold');
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2190 ## endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2191 ##elseif (it)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2192 ## g = regexprep (g, '/Symbol', '/Symbol-italic');
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2193 ##endif
7540
3422f39573b1 strcat.m: Matlab compatibility, with cstrcat.m replacing conventional strcat.m.
Ben Abbott <bpabbott@mac.com>
parents: 7513
diff changeset
2194 str = cstrcat (str(1:s(i) - 1), g,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2195 str(s(i) + length (flds{j}) + 1:end));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2196 break;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2197 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2198 endfor
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2199 endif
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2200 endif
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2201 endfor
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2202
8506
bc982528de11 comment style fixes
John W. Eaton <jwe@octave.org>
parents: 8360
diff changeset
2203 ## Prepend @ to things things like _0^x or _{-100}^{100} for
bc982528de11 comment style fixes
John W. Eaton <jwe@octave.org>
parents: 8360
diff changeset
2204 ## alignment But need to put the shorter of the two arguments first.
bc982528de11 comment style fixes
John W. Eaton <jwe@octave.org>
parents: 8360
diff changeset
2205 ## Carful of nested {} and unprinted characters when defining
bc982528de11 comment style fixes
John W. Eaton <jwe@octave.org>
parents: 8360
diff changeset
2206 ## shortest.. Don't have to worry about things like ^\theta as they
bc982528de11 comment style fixes
John W. Eaton <jwe@octave.org>
parents: 8360
diff changeset
2207 ## are already converted to ^{/Symbol q}.
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2208
8506
bc982528de11 comment style fixes
John W. Eaton <jwe@octave.org>
parents: 8360
diff changeset
2209 ## FIXME -- This is a mess... Is it worth it just for a "@" character?
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2210
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2211 [s, m] = regexp(str,'[_\^]','start','matches');
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2212 i = 1;
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2213 p = 0;
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2214 while (i < length (s))
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2215 if (i < length(s))
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2216 if (str(s(i) + p + 1) == "{")
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2217 s1 = strfind(str(s(i) + p + 2:end),'{');
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2218 si = 1;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2219 l1 = strfind(str(s(i) + p + 1:end),'}');
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2220 li = 1;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2221 while (li <= length (l1) && si <= length (s1))
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2222 if (l1(li) < s1(si))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2223 if (li == si)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2224 break;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2225 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2226 li++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2227 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2228 si++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2229 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2230 endwhile
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2231 l1 = l1 (min (length(l1), si));
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2232 if (s(i) + l1 + 1 == s(i+1))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2233 if (str(s(i + 1) + p + 1) == "{")
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2234 s2 = strfind(str(s(i + 1) + p + 2:end),'{');
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2235 si = 1;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2236 l2 = strfind(str(s(i + 1) + p + 1:end),'}');
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2237 li = 1;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2238 while (li <= length (l2) && si <= length (s2))
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2239 if (l2(li) < s2(si))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2240 if (li == si)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2241 break;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2242 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2243 li++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2244 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2245 si++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2246 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2247 endwhile
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2248 l2 = l2 (min (length(l2), si));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2249 if (length_string (str(s(i)+p+2:s(i)+p+l1-1)) <=
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2250 length_string(str(s(i+1)+p+2:s(i+1)+p+l2-1)))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2251 ## Shortest already first!
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2252 str = cstrcat (str(1:s(i)+p-1), "@", str(s(i)+p:end));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2253 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2254 ## Have to swap sub/super-script to get shortest first.
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2255 str = cstrcat (str(1:s(i)+p-1), "@", str(s(i+1)+p:s(i+1)+p+l2),
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2256 str(s(i)+p:s(i)+p+l1), str(s(i+1)+p+l2+1:end));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2257 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2258 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2259 ## Have to swap sub/super-script to get shortest first.
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2260 str = cstrcat (str(1:s(i)+p-1), "@", str(s(i+1)+p:s(i+1)+p+1),
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2261 str(s(i)+p:s(i)+p+l1), str(s(i+1)+p+2:end));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2262 endif
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2263 i += 2;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2264 p ++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2265 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2266 i++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2267 endif
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2268 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2269 if (s(i+1) == s(i) + 2)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2270 ## Shortest already first!
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2271 str = cstrcat (str(1:s(i)+p-1), "@", str(s(i)+p:end));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2272 p ++;
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2273 i += 2;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2274 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2275 i ++;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2276 endif
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2277 endif
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2278 else
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2279 i ++;
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2280 endif
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2281 endwhile
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2282
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2283 endfunction
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2284
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2285 function l = length_string (s)
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2286 l = length (s) - length (strfind(s,'{')) - length (strfind(s,'}'));
11032
c9b0a75b02e8 Make all regexp in Octave compatible with both POSIX and PCRE.
Rik <octave@nomad.inbox5.com>
parents: 11001
diff changeset
2287 m = regexp (s, '/([a-zA-Z0-9_-]+|[a-zA-Z0-9_-]+=[0-9]+)', 'matches');
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2288 if (!isempty (m))
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2289 l = l - sum (cellfun (@length, m));
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2290 endif
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2291 endfunction
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2292
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2293 function sym = __setup_sym_table__ ()
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2294 ## Setup the translation table for TeX to gnuplot enhanced mode.
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2295 sym.forall = '{/Symbol \042}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2296 sym.exists = '{/Symbol \044}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2297 sym.ni = '{/Symbol \047}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2298 sym.cong = '{/Symbol \100}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2299 sym.Delta = '{/Symbol D}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2300 sym.Phi = '{/Symbol F}';
7608
49810341db91 Correct typos in __go_draw_axes__.m and update Manual
godfrey@qss.Stanford.EDU
parents: 7603
diff changeset
2301 sym.Gamma = '{/Symbol G}';
7190
9e7377f41b78 [project @ 2007-11-26 21:24:02 by dbateman]
dbateman
parents: 7189
diff changeset
2302 sym.vartheta = '{/Symbol J}';
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2303 sym.Lambda = '{/Symbol L}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2304 sym.Pi = '{/Symbol P}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2305 sym.Theta = '{/Symbol Q}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2306 sym.Sigma = '{/Symbol S}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2307 sym.varsigma = '{/Symbol V}';
7420
4b17a7297e5d [project @ 2008-01-25 18:56:07 by jwe]
jwe
parents: 7390
diff changeset
2308 sym.Omega = '{/Symbol W}';
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2309 sym.Xi = '{/Symbol X}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2310 sym.Psi = '{/Symbol Y}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2311 sym.perp = '{/Symbol \136}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2312 sym.alpha = '{/Symbol a}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2313 sym.beta = '{/Symbol b}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2314 sym.chi = '{/Symbol c}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2315 sym.delta = '{/Symbol d}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2316 sym.epsilon = '{/Symbol e}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2317 sym.phi = '{/Symbol f}';
7608
49810341db91 Correct typos in __go_draw_axes__.m and update Manual
godfrey@qss.Stanford.EDU
parents: 7603
diff changeset
2318 sym.gamma = '{/Symbol g}';
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2319 sym.eta = '{/Symbol h}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2320 sym.iota = '{/Symbol i}';
7593
fdb6ff523237 __go_draw_axes__: use correct symbol codes
Michael D. Godfrey
parents: 7592
diff changeset
2321 sym.varphi = '{/Symbol j}';
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2322 sym.kappa = '{/Symbol k}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2323 sym.lambda = '{/Symbol l}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2324 sym.mu = '{/Symbol m}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2325 sym.nu = '{/Symbol n}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2326 sym.o = '{/Symbol o}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2327 sym.pi = '{/Symbol p}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2328 sym.theta = '{/Symbol q}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2329 sym.rho = '{/Symbol r}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2330 sym.sigma = '{/Symbol s}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2331 sym.tau = '{/Symbol t}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2332 sym.upsilon = '{/Symbol u}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2333 sym.varpi = '{/Symbol v}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2334 sym.omega = '{/Symbol w}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2335 sym.xi = '{/Symbol x}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2336 sym.psi = '{/Symbol y}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2337 sym.zeta = '{/Symbol z}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2338 sym.sim = '{/Symbol \176}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2339 sym.Upsilon = '{/Symbol \241}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2340 sym.prime = '{/Symbol \242}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2341 sym.leq = '{/Symbol \243}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2342 sym.infty = '{/Symbol \245}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2343 sym.clubsuit = '{/Symbol \247}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2344 sym.diamondsuit = '{/Symbol \250}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2345 sym.heartsuit = '{/Symbol \251}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2346 sym.spadesuit = '{/Symbol \252}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2347 sym.leftrightarrow = '{/Symbol \253}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2348 sym.leftarrow = '{/Symbol \254}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2349 sym.uparrow = '{/Symbol \255}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2350 sym.rightarrow = '{/Symbol \256}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2351 sym.downarrow = '{/Symbol \257}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2352 sym.circ = '{/Symbol \260}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2353 sym.pm = '{/Symbol \261}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2354 sym.geq = '{/Symbol \263}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2355 sym.times = '{/Symbol \264}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2356 sym.propto = '{/Symbol \265}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2357 sym.partial = '{/Symbol \266}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2358 sym.bullet = '{/Symbol \267}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2359 sym.div = '{/Symbol \270}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2360 sym.neq = '{/Symbol \271}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2361 sym.equiv = '{/Symbol \272}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2362 sym.approx = '{/Symbol \273}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2363 sym.ldots = '{/Symbol \274}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2364 sym.mid = '{/Symbol \275}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2365 sym.aleph = '{/Symbol \300}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2366 sym.Im = '{/Symbol \301}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2367 sym.Re = '{/Symbol \302}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2368 sym.wp = '{/Symbol \303}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2369 sym.otimes = '{/Symbol \304}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2370 sym.oplus = '{/Symbol \305}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2371 sym.oslash = '{/Symbol \306}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2372 sym.cap = '{/Symbol \307}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2373 sym.cup = '{/Symbol \310}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2374 sym.supset = '{/Symbol \311}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2375 sym.supseteq = '{/Symbol \312}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2376 sym.subset = '{/Symbol \314}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2377 sym.subseteq = '{/Symbol \315}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2378 sym.in = '{/Symbol \316}';
7593
fdb6ff523237 __go_draw_axes__: use correct symbol codes
Michael D. Godfrey
parents: 7592
diff changeset
2379 sym.notin = '{/Symbol \317}';
fdb6ff523237 __go_draw_axes__: use correct symbol codes
Michael D. Godfrey
parents: 7592
diff changeset
2380 sym.angle = '{/Symbol \320}';
fdb6ff523237 __go_draw_axes__: use correct symbol codes
Michael D. Godfrey
parents: 7592
diff changeset
2381 sym.bigtriangledown = '{/Symbol \321}';
fdb6ff523237 __go_draw_axes__: use correct symbol codes
Michael D. Godfrey
parents: 7592
diff changeset
2382 sym.langle = '{/Symbol \341}';
fdb6ff523237 __go_draw_axes__: use correct symbol codes
Michael D. Godfrey
parents: 7592
diff changeset
2383 sym.rangle = '{/Symbol \361}';
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2384 sym.nabla = '{/Symbol \321}';
7593
fdb6ff523237 __go_draw_axes__: use correct symbol codes
Michael D. Godfrey
parents: 7592
diff changeset
2385 sym.prod = '{/Symbol \325}';
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2386 sym.surd = '{/Symbol \326}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2387 sym.cdot = '{/Symbol \327}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2388 sym.neg = '{/Symbol \330}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2389 sym.wedge = '{/Symbol \331}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2390 sym.vee = '{/Symbol \332}';
7593
fdb6ff523237 __go_draw_axes__: use correct symbol codes
Michael D. Godfrey
parents: 7592
diff changeset
2391 sym.Leftrightarrow = '{/Symbol \333}';
fdb6ff523237 __go_draw_axes__: use correct symbol codes
Michael D. Godfrey
parents: 7592
diff changeset
2392 sym.Leftarrow = '{/Symbol \334}';
fdb6ff523237 __go_draw_axes__: use correct symbol codes
Michael D. Godfrey
parents: 7592
diff changeset
2393 sym.Uparrow = '{/Symbol \335}';
fdb6ff523237 __go_draw_axes__: use correct symbol codes
Michael D. Godfrey
parents: 7592
diff changeset
2394 sym.Rightarrow = '{/Symbol \336}';
fdb6ff523237 __go_draw_axes__: use correct symbol codes
Michael D. Godfrey
parents: 7592
diff changeset
2395 sym.Downarrow = '{/Symbol \337}';
fdb6ff523237 __go_draw_axes__: use correct symbol codes
Michael D. Godfrey
parents: 7592
diff changeset
2396 sym.diamond = '{/Symbol \340}';
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2397 sym.copyright = '{/Symbol \343}';
7593
fdb6ff523237 __go_draw_axes__: use correct symbol codes
Michael D. Godfrey
parents: 7592
diff changeset
2398 sym.lfloor = '{/Symbol \353}';
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2399 sym.lceil = '{/Symbol \351}';
7593
fdb6ff523237 __go_draw_axes__: use correct symbol codes
Michael D. Godfrey
parents: 7592
diff changeset
2400 sym.rfloor = '{/Symbol \373}';
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2401 sym.rceil = '{/Symbol \371}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2402 sym.int = '{/Symbol \362}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2403 endfunction
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2404
7390
3a21ee84a432 [project @ 2008-01-16 19:27:20 by jwe]
jwe
parents: 7379
diff changeset
2405 function retval = __do_enhanced_option__ (enhanced, obj)
3a21ee84a432 [project @ 2008-01-16 19:27:20 by jwe]
jwe
parents: 7379
diff changeset
2406 retval = "";
3a21ee84a432 [project @ 2008-01-16 19:27:20 by jwe]
jwe
parents: 7379
diff changeset
2407 if (enhanced)
3a21ee84a432 [project @ 2008-01-16 19:27:20 by jwe]
jwe
parents: 7379
diff changeset
2408 if (strcmpi (obj.interpreter, "none"))
3a21ee84a432 [project @ 2008-01-16 19:27:20 by jwe]
jwe
parents: 7379
diff changeset
2409 retval = "noenhanced";
3a21ee84a432 [project @ 2008-01-16 19:27:20 by jwe]
jwe
parents: 7379
diff changeset
2410 else
3a21ee84a432 [project @ 2008-01-16 19:27:20 by jwe]
jwe
parents: 7379
diff changeset
2411 retval = "enhanced";
3a21ee84a432 [project @ 2008-01-16 19:27:20 by jwe]
jwe
parents: 7379
diff changeset
2412 endif
3a21ee84a432 [project @ 2008-01-16 19:27:20 by jwe]
jwe
parents: 7379
diff changeset
2413 endif
3a21ee84a432 [project @ 2008-01-16 19:27:20 by jwe]
jwe
parents: 7379
diff changeset
2414 endfunction