annotate scripts/plot/util/private/__gnuplot_draw_axes__.m @ 22239:f7b70f3a8fc1

For gnuplot toolkit patch case, broadcast single color values (bug #48626). * __gnuplot_draw_axes__.m: For the case of a "patch" object, if the color value is only one-dimensional, broadcast its value to the same dimension as the z-coordinate vector rather than use the z values.
author Daniel J Sebald <daniel.sebald@ieee.org>
date Sat, 30 Jul 2016 10:38:09 -0500
parents 7a70004cae61
children 1ddb53b6ad30
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19697
4197fc428c7d maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents: 19597
diff changeset
1 ## Copyright (C) 2005-2015 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 -*-
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
20 ## @deftypefn {} {} __gnuplot_draw_axes__ (@var{h}, @var{plot_stream}, @var{enhanced}, @var{bg_is_set}, @var{fg_is_set}, @var{hlgnd})
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
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
26 function __gnuplot_draw_axes__ (h, plot_stream, enhanced, bg_is_set,
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
27 fg_is_set, hlgnd)
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
28
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
29 showhiddenhandles = get (0, "showhiddenhandles");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
30 unwind_protect
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
31 set (0, "showhiddenhandles", "on");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
32 axis_obj = __get__ (h);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
33 unwind_protect_cleanup
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
34 set (0, "showhiddenhandles", showhiddenhandles);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
35 end_unwind_protect
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
36
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
37 parent_figure_obj = get (axis_obj.parent);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
38 gnuplot_term = __gnuplot_get_var__ (axis_obj.parent, "GPVAL_TERM");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
39
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
40 ## Set to false for plotyy axes.
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
41 ymirror = true;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
42 if (isfield (axis_obj, "__plotyy_axes__"))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
43 if (all (ishandle (axis_obj.__plotyy_axes__)))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
44 ymirror = false;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
45 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
46 h = axis_obj.__plotyy_axes__;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
47 h = h(ishandle (h));
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
48 h = h(isprop (h, "__plotyy_axes__"));
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
49 rmappdata (h, "__plotyy_axes__");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
50 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
51 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
52
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
53 nd = __calc_dimensions__ (h);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
54
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
55 if (strcmp (axis_obj.dataaspectratiomode, "manual")
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
56 && strcmp (axis_obj.xlimmode, "manual")
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
57 && strcmp (axis_obj.ylimmode, "manual"))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
58 ## All can't be "manual"
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
59 axis_obj.plotboxaspectratiomode = "auto";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
60 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
61
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
62 if (strcmp (axis_obj.dataaspectratiomode, "manual")
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
63 && strcmp (axis_obj.xlimmode, "manual")
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
64 && strcmp (axis_obj.ylimmode, "manual")
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
65 && (nd == 2 || all (mod (axis_obj.view, 90) == 0)))
18857
7bbe3658c5ef maint: Use "FIXME:" coding convention in m-files.
Rik <rik@octave.org>
parents: 18829
diff changeset
66 ## FIXME: adjust plotboxaspectratio to respect other
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
67 fpos = get (axis_obj.parent, "position");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
68 apos = axis_obj.position;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
69 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
70
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
71 pos = __actual_axis_position__ (h);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
72
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
73 if (strcmp (axis_obj.dataaspectratiomode, "manual"))
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
74 dr = axis_obj.dataaspectratio;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
75 if (nd == 2 || all (mod (axis_obj.view, 90) == 0))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
76 dr = dr(1) / dr(2);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
77 else
18857
7bbe3658c5ef maint: Use "FIXME:" coding convention in m-files.
Rik <rik@octave.org>
parents: 18829
diff changeset
78 ## FIXME: need to properly implement 3D
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
79 dr = mean (dr(1:2)) / dr(3);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
80 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
81 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
82 dr = 1;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
83 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
84
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
85 if (strcmp (axis_obj.activepositionproperty, "position"))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
86 if (__gnuplot_has_feature__ ("screen_coordinates_for_{lrtb}margin"))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
87 if (nd == 2 || all (mod (axis_obj.view, 90) == 0))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
88 x = [1, 1];
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
89 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
90 ## 3D plots need to be sized down to fit in the window.
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
91 x = 1.0 ./ sqrt ([2, 2.5]);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
92 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
93 fprintf (plot_stream, "set tmargin screen %.15g;\n",
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
94 pos(2)+pos(4)/2+x(2)*pos(4)/2);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
95 fprintf (plot_stream, "set bmargin screen %.15g;\n",
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
96 pos(2)+pos(4)/2-x(2)*pos(4)/2);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
97 fprintf (plot_stream, "set lmargin screen %.15g;\n",
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
98 pos(1)+pos(3)/2-x(1)*pos(3)/2);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
99 fprintf (plot_stream, "set rmargin screen %.15g;\n",
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
100 pos(1)+pos(3)/2+x(1)*pos(3)/2);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
101 sz_str = "";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
102 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
103 fprintf (plot_stream, "set tmargin 0;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
104 fprintf (plot_stream, "set bmargin 0;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
105 fprintf (plot_stream, "set lmargin 0;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
106 fprintf (plot_stream, "set rmargin 0;\n");
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
107
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
108 if (nd == 3 && all (axis_obj.view == [0, 90]))
18857
7bbe3658c5ef maint: Use "FIXME:" coding convention in m-files.
Rik <rik@octave.org>
parents: 18829
diff changeset
109 ## FIXME: Kludge to allow colorbar to be added to a pcolor() plot
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
110 pos(3:4) = pos(3:4) * 1.4;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
111 pos(1:2) = pos(1:2) - pos(3:4) * 0.125;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
112 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
113
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
114 fprintf (plot_stream, "set origin %.15g, %.15g;\n", pos(1), pos(2));
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
115
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
116 if (strcmp (axis_obj.dataaspectratiomode, "manual"))
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
117 sz_str = sprintf ("set size ratio %.15g", -dr);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
118 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
119 sz_str = "set size noratio";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
120 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
121 sz_str = sprintf ("%s %.15g, %.15g;\n", sz_str, pos(3), pos(4));
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
122 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
123 else ## activepositionproperty == outerposition
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
124 fprintf (plot_stream, "unset tmargin;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
125 fprintf (plot_stream, "unset bmargin;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
126 fprintf (plot_stream, "unset lmargin;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
127 fprintf (plot_stream, "unset rmargin;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
128 fprintf (plot_stream, "set origin %g, %g;\n", pos(1:2));
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
129 if (strcmp (axis_obj.dataaspectratiomode, "manual"))
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
130 sz_str = sprintf ("ratio %g", -dr);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
131 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
132 sz_str = "noratio";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
133 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
134 sz_str = sprintf ("set size %s %g, %g;\n", sz_str, pos(3:4));
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
135 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
136 if (! isempty (sz_str))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
137 fputs (plot_stream, sz_str);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
138 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
139
21808
a4c744194bbb Add equal data aspect ratio to gnuplot graphics toolkit 3D plots (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21806
diff changeset
140 ## Code above uses axis size for the data aspect ratio, which isn't
a4c744194bbb Add equal data aspect ratio to gnuplot graphics toolkit 3D plots (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21806
diff changeset
141 ## quite correct. The only fine control is to set all axes units equal.
a4c744194bbb Add equal data aspect ratio to gnuplot graphics toolkit 3D plots (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21806
diff changeset
142 if (nd == 3 &&
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
143 strcmp (axis_obj.dataaspectratiomode, "manual") &&
21808
a4c744194bbb Add equal data aspect ratio to gnuplot graphics toolkit 3D plots (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21806
diff changeset
144 axis_obj.dataaspectratio(1) == axis_obj.dataaspectratio(2))
a4c744194bbb Add equal data aspect ratio to gnuplot graphics toolkit 3D plots (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21806
diff changeset
145 if (axis_obj.dataaspectratio(1) == axis_obj.dataaspectratio(3))
a4c744194bbb Add equal data aspect ratio to gnuplot graphics toolkit 3D plots (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21806
diff changeset
146 zstr = "z";
a4c744194bbb Add equal data aspect ratio to gnuplot graphics toolkit 3D plots (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21806
diff changeset
147 else
a4c744194bbb Add equal data aspect ratio to gnuplot graphics toolkit 3D plots (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21806
diff changeset
148 zstr = "";
a4c744194bbb Add equal data aspect ratio to gnuplot graphics toolkit 3D plots (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21806
diff changeset
149 endif
a4c744194bbb Add equal data aspect ratio to gnuplot graphics toolkit 3D plots (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21806
diff changeset
150 fprintf (plot_stream, "set view equal xy%s;\n", zstr);
a4c744194bbb Add equal data aspect ratio to gnuplot graphics toolkit 3D plots (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21806
diff changeset
151 endif
a4c744194bbb Add equal data aspect ratio to gnuplot graphics toolkit 3D plots (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21806
diff changeset
152
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
153 ## Reset all labels, axis-labels, tick-labels, and title
18857
7bbe3658c5ef maint: Use "FIXME:" coding convention in m-files.
Rik <rik@octave.org>
parents: 18829
diff changeset
154 ## FIXME: We should have an function to initialize the axis.
7bbe3658c5ef maint: Use "FIXME:" coding convention in m-files.
Rik <rik@octave.org>
parents: 18829
diff changeset
155 ## Presently, this is dispersed in this function.
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
156 fputs (plot_stream, "unset label;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
157 fputs (plot_stream, "unset xtics;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
158 fputs (plot_stream, "unset ytics;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
159 fputs (plot_stream, "unset ztics;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
160 fputs (plot_stream, "unset x2tics;\n");
20637
751b9cc78904 Fix issue with gnuplot, subplot, and 2 y-axes (bug #45822).
Avinoam Kalma <a.kalma@gmail.com>
parents: 20057
diff changeset
161 fputs (plot_stream, "unset y2tics;\n");
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
162
21832
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
163 if (isempty (axis_obj.title) || isempty (get (axis_obj.title, "string")))
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
164 fputs (plot_stream, "unset title;\n");
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
165 else
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
166 if (nd == 2)
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
167 t = get(axis_obj.title);
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
168 colorspec = get_text_colorspec (t.color);
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
169 [tt, f, s] = __maybe_munge_text__ (enhanced, t, "string");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
170 fontspec = create_fontspec (f, s, gnuplot_term);
18996
538f6492f21c Honour the title.color property when plotting with gnuplot (bug #42927).
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18985
diff changeset
171 fprintf (plot_stream, "set title \"%s\" %s %s %s;\n",
19417
cdb6bc186c42 Fix ploting 1D images with gnuplot (bug #43836).
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 19388
diff changeset
172 undo_string_escapes (tt), fontspec, colorspec,
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
173 __do_enhanced_option__ (enhanced, t));
21832
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
174 else
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
175 ## Change meaning of "normalized", but it at least gives user some control
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
176 if (! strcmp (get (axis_obj.title, "units"), "normalized"))
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
177 unwind_protect
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
178 set (axis_obj.title, "units", "normalized");
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
179 set (axis_obj.title, "position", [0.5 1.02 0.5]);
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
180 unwind_protect_cleanup
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
181 end_unwind_protect
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
182 endif
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
183 t = get(axis_obj.title);
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
184 axispos = axis_obj.position;
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
185 screenpos = t.position;
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
186 screenpos(1) = axispos(1)+screenpos(1)*axispos(3);
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
187 screenpos(2) = axispos(2)+screenpos(2)*axispos(4);
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
188 fputs (plot_stream, "unset title;\n");
21844
c0a552e71ceb Fix gnuplot toolkit text object bug introduced by changeset 7fe10fcd8370.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21842
diff changeset
189 do_text (plot_stream, gnuplot_term, enhanced, t, h, screenpos);
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
190 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
191 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
192
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
193 if (! isempty (axis_obj.xlabel))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
194 t = get (axis_obj.xlabel);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
195 angle = t.rotation;
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
196 colorspec = get_text_colorspec (t.color);
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
197 if (isempty (t.string))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
198 fprintf (plot_stream, "unset xlabel;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
199 fprintf (plot_stream, "unset x2label;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
200 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
201 [tt, f, s] = __maybe_munge_text__ (enhanced, t, "string");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
202 fontspec = create_fontspec (f, s, gnuplot_term);
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
203 if (strcmp (axis_obj.xaxislocation, "top"))
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
204 fprintf (plot_stream, "set x2label \"%s\" %s %s %s",
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
205 undo_string_escapes (tt), colorspec, fontspec,
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
206 __do_enhanced_option__ (enhanced, t));
13216
434e227b100b Improvements to plotyy.
Ben Abbott <bpabbott@mac.com>
parents: 13209
diff changeset
207 else
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
208 fprintf (plot_stream, "set xlabel \"%s\" %s %s %s",
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
209 undo_string_escapes (tt), colorspec, fontspec,
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
210 __do_enhanced_option__ (enhanced, t));
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
211 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
212 fprintf (plot_stream, " rotate by %f;\n", angle);
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
213 if (strcmp (axis_obj.xaxislocation, "top"))
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
214 fprintf (plot_stream, "unset xlabel;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
215 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
216 fprintf (plot_stream, "unset x2label;\n");
13216
434e227b100b Improvements to plotyy.
Ben Abbott <bpabbott@mac.com>
parents: 13209
diff changeset
217 endif
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
218 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
219 endif
10931
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
220
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
221 if (! isempty (axis_obj.ylabel))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
222 t = get (axis_obj.ylabel);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
223 angle = t.rotation;
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
224 colorspec = get_text_colorspec (t.color);
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
225 if (isempty (t.string))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
226 fprintf (plot_stream, "unset ylabel;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
227 fprintf (plot_stream, "unset y2label;\n");
8889
665b264b6a50 Compatible support of figure paper properties and resolution for the gnuplot backend.
Ben Abbott <bpabbott@mac.com>
parents: 8812
diff changeset
228 else
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
229 [tt, f, s] = __maybe_munge_text__ (enhanced, t, "string");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
230 fontspec = create_fontspec (f, s, gnuplot_term);
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
231 if (strcmp (axis_obj.yaxislocation, "right"))
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
232 fprintf (plot_stream, "set y2label \"%s\" %s %s %s",
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
233 undo_string_escapes (tt), colorspec, fontspec,
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
234 __do_enhanced_option__ (enhanced, t));
10931
a72d53df4fa6 Treatment of activepositionproperty for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 10930
diff changeset
235 else
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
236 fprintf (plot_stream, "set ylabel \"%s\" %s %s %s",
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
237 undo_string_escapes (tt), colorspec, fontspec,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
238 __do_enhanced_option__ (enhanced, t));
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
239 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
240 fprintf (plot_stream, " rotate by %f;\n", angle);
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
241 if (strcmp (axis_obj.yaxislocation, "right"))
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
242 fprintf (plot_stream, "unset ylabel;\n");
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
243 else
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
244 fprintf (plot_stream, "unset y2label;\n");
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
245 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
246 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
247 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
248
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
249 if (! isempty (axis_obj.zlabel))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
250 t = get (axis_obj.zlabel);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
251 angle = t.rotation;
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
252 colorspec = get_text_colorspec (t.color);
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
253 if (isempty (t.string))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
254 fputs (plot_stream, "unset zlabel;\n");
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
255 else
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
256 [tt, f, s] = __maybe_munge_text__ (enhanced, t, "string");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
257 fontspec = create_fontspec (f, s, gnuplot_term);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
258 fprintf (plot_stream, "set zlabel \"%s\" %s %s %s",
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
259 undo_string_escapes (tt), colorspec, fontspec,
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
260 __do_enhanced_option__ (enhanced, t));
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
261 fprintf (plot_stream, " rotate by %f;\n", angle);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
262 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
263 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
264
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
265 if (strcmp (axis_obj.xaxislocation, "top"))
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
266 xaxisloc = "x2";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
267 xaxisloc_using = "x2";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
268 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
269 xaxisloc = "x";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
270 xaxisloc_using = "x1";
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
271 if (strcmp (axis_obj.xaxislocation, "zero"))
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
272 fputs (plot_stream, "set xzeroaxis;\n");
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
273 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
274 endif
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
275 if (strcmp (axis_obj.yaxislocation, "right"))
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
276 yaxisloc = "y2";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
277 yaxisloc_using = "y2";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
278 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
279 yaxisloc = "y";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
280 yaxisloc_using = "y1";
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
281 if (strcmp (axis_obj.yaxislocation, "zero"))
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
282 fputs (plot_stream, "set yzeroaxis;\n");
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
283 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
284 endif
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
285
22048
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
286 have_major_grid = false;
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
287 have_minor_grid = false;
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
288 visible_gls = ! strcmp (axis_obj.gridlinestyle, "none") ...
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
289 && ! strcmp (axis_obj.gridcolor, "none");
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
290 visible_mgls = ! strcmp (axis_obj.minorgridlinestyle, "none") ...
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
291 && ! strcmp (axis_obj.minorgridcolor, "none");
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
292
22048
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
293 if (strcmp (axis_obj.xgrid, "on") && visible_gls)
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
294 have_major_grid = true;
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
295 fprintf (plot_stream, "set grid %stics;\n", xaxisloc);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
296 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
297 fprintf (plot_stream, "set grid no%stics;\n", xaxisloc);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
298 endif
7274
44fdc33e5207 [project @ 2007-12-10 07:36:50 by jwe]
jwe
parents: 7271
diff changeset
299
22048
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
300 if (strcmp (axis_obj.ygrid, "on") && visible_gls)
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
301 have_major_grid = true;
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
302 fprintf (plot_stream, "set grid %stics;\n", yaxisloc);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
303 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
304 fprintf (plot_stream, "set grid no%stics;\n", yaxisloc);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
305 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
306
22048
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
307 if (strcmp (axis_obj.zgrid, "on") && visible_gls)
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
308 have_major_grid = true;
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
309 fputs (plot_stream, "set grid ztics;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
310 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
311 fputs (plot_stream, "set grid noztics;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
312 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
313
22048
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
314 if (strcmp (axis_obj.xminorgrid, "on") && visible_mgls)
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
315 have_minor_grid = true;
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
316 if (strcmp (axis_obj.xscale, "log"))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
317 m = 10;
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
318 else
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
319 m = 5;
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
320 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
321 fprintf (plot_stream, "set m%stics %d;\n", xaxisloc, m);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
322 fprintf (plot_stream, "set grid m%stics;\n", xaxisloc);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
323 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
324 fprintf (plot_stream, "set grid nom%stics;\n", xaxisloc);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
325 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
326
22048
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
327 if (strcmp (axis_obj.yminorgrid, "on") && visible_mgls)
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
328 have_minor_grid = true;
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
329 if (strcmp (axis_obj.yscale, "log"))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
330 m = 10;
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
331 else
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
332 m = 5;
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
333 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
334 fprintf (plot_stream, "set m%stics %d;\n", yaxisloc, m);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
335 fprintf (plot_stream, "set grid m%stics;\n", yaxisloc);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
336 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
337 fprintf (plot_stream, "set grid nom%stics;\n", yaxisloc);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
338 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
339
22048
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
340 if (strcmp (axis_obj.zminorgrid, "on") && visible_mgls)
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
341 have_minor_grid = true;
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
342 if (strcmp (axis_obj.zscale, "log"))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
343 m = 10;
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
344 else
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
345 m = 5;
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
346 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
347 fprintf (plot_stream, "set mztics %d;\n", m);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
348 fputs (plot_stream, "set grid mztics;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
349 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
350 fputs (plot_stream, "set grid nomztics;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
351 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
352
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
353 ## The grid front/back/layerdefault option also controls the
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
354 ## appearance of tics, so it is used even if the grid is absent.
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
355 if (strcmp (axis_obj.layer, "top"))
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
356 fputs (plot_stream, "set grid front;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
357 fputs (plot_stream, "set border front;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
358 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
359 fputs (plot_stream, "set grid layerdefault;\n");
18857
7bbe3658c5ef maint: Use "FIXME:" coding convention in m-files.
Rik <rik@octave.org>
parents: 18829
diff changeset
360 ## FIXME: The gnuplot help says that "layerdefault" should work
7bbe3658c5ef maint: Use "FIXME:" coding convention in m-files.
Rik <rik@octave.org>
parents: 18829
diff changeset
361 ## for set border too, but it fails for me with gnuplot 4.2.5.
7bbe3658c5ef maint: Use "FIXME:" coding convention in m-files.
Rik <rik@octave.org>
parents: 18829
diff changeset
362 ## So, use "back" instead.
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
363 fputs (plot_stream, "set border back;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
364 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
365
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
366 xlogscale = strcmp (axis_obj.xscale, "log");
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
367 ylogscale = strcmp (axis_obj.yscale, "log");
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
368 zlogscale = strcmp (axis_obj.zscale, "log");
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
369
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
370 ## Detect logscale and negative lims
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
371 if (xlogscale && all (axis_obj.xlim < 0))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
372 axis_obj.xsgn = -1;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
373 if (strcmp (axis_obj.xdir, "reverse"))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
374 axis_obj.xdir = "normal";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
375 elseif (strcmp (axis_obj.xdir, "normal"))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
376 axis_obj.xdir = "reverse";
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
377 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
378 axis_obj.xtick = -flip (axis_obj.xtick);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
379 axis_obj.xticklabel = flip (axis_obj.xticklabel);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
380 axis_obj.xlim = -flip (axis_obj.xlim);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
381 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
382 axis_obj.xsgn = 1;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
383 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
384 if (ylogscale && all (axis_obj.ylim < 0))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
385 axis_obj.ysgn = -1;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
386 if (strcmp (axis_obj.ydir, "reverse"))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
387 axis_obj.ydir = "normal";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
388 elseif (strcmp (axis_obj.ydir, "normal"))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
389 axis_obj.ydir = "reverse";
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
390 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
391 axis_obj.ytick = -flip (axis_obj.ytick);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
392 axis_obj.yticklabel = flip (axis_obj.yticklabel);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
393 axis_obj.ylim = -flip (axis_obj.ylim);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
394 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
395 axis_obj.ysgn = 1;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
396 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
397 if (zlogscale && all (axis_obj.zlim < 0))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
398 axis_obj.zsgn = -1;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
399 if (strcmp (axis_obj.zdir, "reverse"))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
400 axis_obj.zdir = "normal";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
401 elseif (strcmp (axis_obj.zdir, "normal"))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
402 axis_obj.zdir = "reverse";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
403 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
404 axis_obj.ztick = -flip (axis_obj.ztick);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
405 axis_obj.zticklabel = flip (axis_obj.zticklabel);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
406 axis_obj.zlim = -flip (axis_obj.zlim);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
407 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
408 axis_obj.zsgn = 1;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
409 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
410
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
411 xlim = axis_obj.xlim;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
412 ylim = axis_obj.ylim;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
413 zlim = axis_obj.zlim;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
414 clim = axis_obj.clim;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
415
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
416 do_tics (axis_obj, plot_stream, ymirror, gnuplot_term);
11334
703f51c2beb7 set grid linewidths from axis linewidth property
John W. Eaton <jwe@octave.org>
parents: 11312
diff changeset
417
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
418 fputs (plot_stream, "unset logscale;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
419 if (xlogscale)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
420 fprintf (plot_stream, "set logscale %s;\n", xaxisloc);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
421 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
422 if (ylogscale)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
423 fprintf (plot_stream, "set logscale %s;\n", yaxisloc);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
424 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
425 if (zlogscale)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
426 fputs (plot_stream, "set logscale z;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
427 endif
13143
bda7b080f205 gnuplot support for log plots with only negative data. Bug #34232.
Ben Abbott <bpabbott@mac.com>
parents: 12965
diff changeset
428
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
429 xautoscale = strcmp (axis_obj.xlimmode, "auto");
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
430 yautoscale = strcmp (axis_obj.ylimmode, "auto");
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
431 zautoscale = strcmp (axis_obj.zlimmode, "auto");
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
432 cautoscale = strcmp (axis_obj.climmode, "auto");
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
433 cdatadirect = false;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
434 truecolor = false;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
435
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
436 fputs (plot_stream, "set clip two;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
437
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
438 kids = axis_obj.children;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
439 ## Remove the axis labels and title from the children, and
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
440 ## preserved the original order.
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
441 [jnk, k] = setdiff (kids, [axis_obj.xlabel; axis_obj.ylabel; ...
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
442 axis_obj.zlabel; axis_obj.title]);
20231
83792dd9bcc1 Use in-place operators in m-files where possible.
Rik <rik@octave.org>
parents: 20191
diff changeset
443 kids = kids(sort (k));
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
444
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
445 if (nd == 3)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
446 fputs (plot_stream, "set parametric;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
447 fputs (plot_stream, "set style data lines;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
448 fputs (plot_stream, "set surface;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
449 fputs (plot_stream, "unset contour;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
450 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
451
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
452 data_idx = 0;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
453 data = cell ();
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
454 is_image_data = [];
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
455 hidden_removal = NaN;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
456 view_map = false;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
457
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
458 if (! cautoscale && clim(1) == clim(2))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
459 clim(2)++;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
460 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
461 addedcmap = [];
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
462
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
463 ximg_data = {};
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
464 ximg_data_idx = 0;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
465
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
466 while (! isempty (kids))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
467
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
468 obj = get (kids(end));
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
469
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
470 if (isfield (obj, "xdata"))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
471 obj.xdata = double (obj.xdata);
17306
09543e9c8f40 Use explicit form of end (endif, endfor, etc.) in core m-files.
Rik <rik@octave.org>
parents: 17199
diff changeset
472 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
473 if (isfield (obj, "ydata"))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
474 obj.ydata = double (obj.ydata);
17306
09543e9c8f40 Use explicit form of end (endif, endfor, etc.) in core m-files.
Rik <rik@octave.org>
parents: 17199
diff changeset
475 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
476 if (isfield (obj, "zdata"))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
477 obj.zdata = double (obj.zdata);
17306
09543e9c8f40 Use explicit form of end (endif, endfor, etc.) in core m-files.
Rik <rik@octave.org>
parents: 17199
diff changeset
478 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
479
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
480 if (isfield (obj, "units"))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
481 units = obj.units;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
482 unwind_protect
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
483 set (kids(end), "units", "data");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
484 obj = get (kids(end));
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
485 unwind_protect_cleanup
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
486 set (kids(end), "units", units);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
487 end_unwind_protect
13143
bda7b080f205 gnuplot support for log plots with only negative data. Bug #34232.
Ben Abbott <bpabbott@mac.com>
parents: 12965
diff changeset
488 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
489 kids = kids(1:(end-1));
13143
bda7b080f205 gnuplot support for log plots with only negative data. Bug #34232.
Ben Abbott <bpabbott@mac.com>
parents: 12965
diff changeset
490
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
491 if (strcmp (obj.visible, "off"))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
492 continue;
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
493 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
494
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
495 if (xlogscale && isfield (obj, "xdata"))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
496 obj.xdata = axis_obj.xsgn * obj.xdata;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
497 obj.xdata(obj.xdata<=0) = NaN;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
498 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
499 if (ylogscale && isfield (obj, "ydata"))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
500 obj.ydata = axis_obj.ysgn * obj.ydata;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
501 obj.ydata(obj.ydata<=0) = NaN;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
502 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
503 if (zlogscale && isfield (obj, "zdata"))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
504 obj.zdata = axis_obj.zsgn * obj.zdata;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
505 obj.zdata(obj.zdata<=0) = NaN;
7316
fac781a4078d [project @ 2007-12-14 17:32:25 by jwe]
jwe
parents: 7307
diff changeset
506 endif
fac781a4078d [project @ 2007-12-14 17:32:25 by jwe]
jwe
parents: 7307
diff changeset
507
22055
21f3cbd5c708 Supply correct key title specs for the gnuplot toolkit (bug #48427).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22052
diff changeset
508 if (strcmp (get (obj.parent, "type"), "hggroup"))
21f3cbd5c708 Supply correct key title specs for the gnuplot toolkit (bug #48427).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22052
diff changeset
509 obj.displayname = get (obj.parent, "displayname");
21f3cbd5c708 Supply correct key title specs for the gnuplot toolkit (bug #48427).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22052
diff changeset
510 endif
21f3cbd5c708 Supply correct key title specs for the gnuplot toolkit (bug #48427).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22052
diff changeset
511
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
512 switch (obj.type)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
513 case "image"
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
514 img_data = obj.cdata;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
515 img_xdata = obj.xdata;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
516 img_ydata = obj.ydata;
13979
f35b593688a5 Changing the legend's interpreter property should be inherited by the
Ben Abbott <bpabbott@mac.com>
parents: 13782
diff changeset
517
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
518 if (ndims (img_data) == 3)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
519 truecolor = true;
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
520 elseif (strcmp (obj.cdatamapping, "direct"))
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
521 cdatadirect = true;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
522 endif
20735
418ae0cb752f Replace ++,-- with in-place operators for performance.
Rik <rik@octave.org>
parents: 20714
diff changeset
523 data_idx += 1;
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
524 is_image_data(data_idx) = true;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
525 parametric(data_idx) = false;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
526 have_cdata(data_idx) = false;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
527 have_3d_patch(data_idx) = false;
15433
283cada76dd6 For the gnuplot backend, elevate all plot variables to double to prevent
Ben Abbott <bpabbott@mac.com>
parents: 15331
diff changeset
528
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
529 if (img_xdata(2) < img_xdata(1))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
530 img_xdata = img_xdata(2:-1:1);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
531 img_data = img_data(:,end:-1:1,:);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
532 elseif (img_xdata(1) == img_xdata(2))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
533 img_xdata = img_xdata(1) + [0, columns(img_data)-1];
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
534 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
535 if (img_ydata(2) < img_ydata(1))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
536 img_ydata = img_ydata(2:-1:1);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
537 img_data = img_data(end:-1:1,:,:);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
538 elseif (img_ydata(1) == img_ydata(2))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
539 img_ydata = img_ydata(1) + [0, rows(img_data)-1];
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
540 endif
8052
961d4c52ffae Convert stem and stem3 to use stem series objects
David Bateman <dbateman@free.fr>
parents: 8048
diff changeset
541
19417
cdb6bc186c42 Fix ploting 1D images with gnuplot (bug #43836).
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 19388
diff changeset
542 x_origin = min (img_xdata);
cdb6bc186c42 Fix ploting 1D images with gnuplot (bug #43836).
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 19388
diff changeset
543 y_origin = min (img_ydata);
cdb6bc186c42 Fix ploting 1D images with gnuplot (bug #43836).
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 19388
diff changeset
544
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
545 [y_dim, x_dim] = size (img_data(:,:,1));
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
546 if (x_dim > 1)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
547 dx = abs (img_xdata(2)-img_xdata(1))/(x_dim-1);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
548 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
549 x_dim = 2;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
550 img_data = [img_data, img_data];
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
551 dx = abs (img_xdata(2)-img_xdata(1));
19417
cdb6bc186c42 Fix ploting 1D images with gnuplot (bug #43836).
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 19388
diff changeset
552 if (dx < 1)
cdb6bc186c42 Fix ploting 1D images with gnuplot (bug #43836).
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 19388
diff changeset
553 ## Correct gnuplot string for 1-D images
cdb6bc186c42 Fix ploting 1D images with gnuplot (bug #43836).
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 19388
diff changeset
554 dx = 0.5;
cdb6bc186c42 Fix ploting 1D images with gnuplot (bug #43836).
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 19388
diff changeset
555 x_origin = 0.75;
cdb6bc186c42 Fix ploting 1D images with gnuplot (bug #43836).
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 19388
diff changeset
556 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
557 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
558 if (y_dim > 1)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
559 dy = abs (img_ydata(2)-img_ydata(1))/(y_dim-1);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
560 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
561 y_dim = 2;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
562 img_data = [img_data; img_data];
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
563 dy = abs (img_ydata(2)-img_ydata(1));
19417
cdb6bc186c42 Fix ploting 1D images with gnuplot (bug #43836).
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 19388
diff changeset
564 if (dy < 1)
cdb6bc186c42 Fix ploting 1D images with gnuplot (bug #43836).
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 19388
diff changeset
565 ## Correct gnuplot string for 1-D images
cdb6bc186c42 Fix ploting 1D images with gnuplot (bug #43836).
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 19388
diff changeset
566 dy = 0.5;
cdb6bc186c42 Fix ploting 1D images with gnuplot (bug #43836).
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 19388
diff changeset
567 y_origin = 0.75;
cdb6bc186c42 Fix ploting 1D images with gnuplot (bug #43836).
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 19388
diff changeset
568 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
569 endif
11201
6c8791cb35b1 __go_draw_axes__.m: Set proper tight axis limits for log scale.
Ben Abbott <bpabbott@mac.com>
parents: 11198
diff changeset
570
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
571 if (ndims (img_data) == 3)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
572 data{data_idx} = permute (img_data, [3, 1, 2])(:);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
573 format = "1:2:3";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
574 imagetype = "rgbimage";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
575 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
576 data{data_idx} = img_data(:);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
577 format = "1";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
578 imagetype = "image";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
579 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
580
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
581 titlespec{data_idx} = "title \"\"";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
582 usingclause{data_idx} = sprintf ("binary array=%dx%d scan=yx origin=(%.15g,%.15g) dx=%.15g dy=%.15g using %s",
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
583 x_dim, y_dim, x_origin, y_origin, dx, dy, format);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
584 withclause{data_idx} = sprintf ("with %s;", imagetype);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
585
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
586 case "line"
17405
3f0ed69d21c6 Replace unnecessary instances of strncmp with strcmp.
Rik <rik@octave.org>
parents: 17338
diff changeset
587 if (strcmp (obj.linestyle, "none")
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
588 && (! isfield (obj, "marker")
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
589 || (isfield (obj, "marker")
17405
3f0ed69d21c6 Replace unnecessary instances of strncmp with strcmp.
Rik <rik@octave.org>
parents: 17338
diff changeset
590 && strcmp (obj.marker, "none"))))
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
591 continue;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
592 endif
20735
418ae0cb752f Replace ++,-- with in-place operators for performance.
Rik <rik@octave.org>
parents: 20714
diff changeset
593 data_idx += 1;
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
594 is_image_data(data_idx) = false;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
595 parametric(data_idx) = true;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
596 have_cdata(data_idx) = false;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
597 have_3d_patch(data_idx) = false;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
598 if (isempty (obj.displayname))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
599 titlespec{data_idx} = "title \"\"";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
600 else
18985
f84361735a40 maint: Use Octave coding conventions for some recent patches.
Rik <rik@octave.org>
parents: 18982
diff changeset
601 tmp = undo_string_escapes (
f84361735a40 maint: Use Octave coding conventions for some recent patches.
Rik <rik@octave.org>
parents: 18982
diff changeset
602 __maybe_munge_text__ (enhanced, obj, "displayname")
f84361735a40 maint: Use Octave coding conventions for some recent patches.
Rik <rik@octave.org>
parents: 18982
diff changeset
603 );
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
604 titlespec{data_idx} = ['title "' tmp '"'];
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
605 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
606 usingclause{data_idx} = sprintf ("record=%d", numel (obj.xdata));
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
607 errbars = "";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
608 if (nd == 3)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
609 xdat = obj.xdata(:);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
610 ydat = obj.ydata(:);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
611 if (! isempty (obj.zdata))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
612 zdat = obj.zdata(:);
11109
41d18f6342f9 remove image_viewer function
John W. Eaton <jwe@octave.org>
parents: 11095
diff changeset
613 else
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
614 zdat = zeros (size (xdat));
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
615 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
616 data{data_idx} = [xdat, ydat, zdat]';
18985
f84361735a40 maint: Use Octave coding conventions for some recent patches.
Rik <rik@octave.org>
parents: 18982
diff changeset
617 usingclause{data_idx} = sprintf ("record=%d using ($1):($2):($3)",
f84361735a40 maint: Use Octave coding conventions for some recent patches.
Rik <rik@octave.org>
parents: 18982
diff changeset
618 numel (xdat));
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
619 ## fputs (plot_stream, "set parametric;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
620 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
621 xdat = obj.xdata(:);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
622 ydat = obj.ydata(:);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
623 data{data_idx} = [xdat, ydat]';
18985
f84361735a40 maint: Use Octave coding conventions for some recent patches.
Rik <rik@octave.org>
parents: 18982
diff changeset
624 usingclause{data_idx} = ...
f84361735a40 maint: Use Octave coding conventions for some recent patches.
Rik <rik@octave.org>
parents: 18982
diff changeset
625 sprintf ("record=%d using ($1):($2) axes %s%s",
f84361735a40 maint: Use Octave coding conventions for some recent patches.
Rik <rik@octave.org>
parents: 18982
diff changeset
626 rows (xdat), xaxisloc_using, yaxisloc_using);
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
627 endif
7510
f3e6ada67d9e improve handling line style for errorbar plots
John W. Eaton <jwe@octave.org>
parents: 7472
diff changeset
628
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
629 [style, sidx] = do_linestyle_command (obj, obj.color, data_idx,
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
630 plot_stream, errbars);
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
631 if (__gnuplot_has_feature__ ("linetype"))
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
632 scmd = "linetype";
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
633 else
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
634 scmd = "linestyle";
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
635 endif
7510
f3e6ada67d9e improve handling line style for errorbar plots
John W. Eaton <jwe@octave.org>
parents: 7472
diff changeset
636
21957
6be06f0c7463 gnuplot graphics: Fix MarkerFaceColor invalid and MarkerEdgeColor 'none' bugs (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21853
diff changeset
637 if isempty (style{1})
6be06f0c7463 gnuplot graphics: Fix MarkerFaceColor invalid and MarkerEdgeColor 'none' bugs (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21853
diff changeset
638 style{1} = "points";
6be06f0c7463 gnuplot graphics: Fix MarkerFaceColor invalid and MarkerEdgeColor 'none' bugs (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21853
diff changeset
639 data{data_idx} = {};
6be06f0c7463 gnuplot graphics: Fix MarkerFaceColor invalid and MarkerEdgeColor 'none' bugs (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21853
diff changeset
640 endif
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
641 withclause{data_idx} = sprintf ("with %s %s %d",
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
642 style{1}, scmd, sidx(1));
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
643
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
644 if (length (style) > 1)
20735
418ae0cb752f Replace ++,-- with in-place operators for performance.
Rik <rik@octave.org>
parents: 20714
diff changeset
645 data_idx += 1;
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
646 is_image_data(data_idx) = is_image_data(data_idx - 1);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
647 parametric(data_idx) = parametric(data_idx - 1);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
648 have_cdata(data_idx) = have_cdata(data_idx - 1);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
649 have_3d_patch(data_idx) = have_3d_patch(data_idx - 1);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
650 titlespec{data_idx} = "title \"\"";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
651 usingclause{data_idx} = usingclause{data_idx - 1};
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
652 data{data_idx} = data{data_idx - 1};
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
653 withclause{data_idx} = sprintf ("with %s %s %d",
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
654 style{2}, scmd, sidx(2));
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
655 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
656 if (length (style) > 2)
20735
418ae0cb752f Replace ++,-- with in-place operators for performance.
Rik <rik@octave.org>
parents: 20714
diff changeset
657 data_idx += 1;
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
658 is_image_data(data_idx) = is_image_data(data_idx - 1);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
659 parametric(data_idx) = parametric(data_idx - 1);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
660 have_cdata(data_idx) = have_cdata(data_idx - 1);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
661 have_3d_patch(data_idx) = have_3d_patch(data_idx - 1);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
662 titlespec{data_idx} = "title \"\"";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
663 usingclause{data_idx} = usingclause{data_idx - 1};
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
664 data{data_idx} = data{data_idx - 1};
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
665 withclause{data_idx} = sprintf ("with %s %s %d",
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
666 style{3}, scmd, sidx(3));
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
667 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
668
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
669 case "patch"
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
670 cmap = parent_figure_obj.colormap;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
671 [nr, nc] = size (obj.xdata);
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
672
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
673 if (! isempty (obj.cdata))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
674 cdat = obj.cdata;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
675 if (strcmp (obj.cdatamapping, "direct"))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
676 cdatadirect = true;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
677 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
678 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
679 cdat = [];
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
680 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
681
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
682 data_3d_idx = NaN;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
683 for i = 1:nc
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
684 xcol = obj.xdata(:,i);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
685 ycol = obj.ydata(:,i);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
686 if (nd == 3)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
687 if (! isempty (obj.zdata))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
688 zcol = obj.zdata(:,i);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
689 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
690 zcol = zeros (size (xcol));
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
691 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
692 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
693
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
694 if (! isnan (xcol) && ! isnan (ycol))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
695 ## Is the patch closed or not
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
696 if (! strcmp (obj.facecolor, "none"))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
697 hidden_removal = true;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
698 if (nd == 3)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
699 if (numel (xcol) > 3)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
700 error ("__gnuplot_draw_axes__: gnuplot (as of v4.2) only supports 3-D filled triangular patches");
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
701 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
702 if (isnan (data_3d_idx))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
703 data_idx += 1;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
704 data_3d_idx = data_idx;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
705 is_image_data(data_idx) = false;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
706 parametric(data_idx) = false;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
707 have_cdata(data_idx) = true;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
708 have_3d_patch(data_idx) = true;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
709 withclause{data_3d_idx} = sprintf ("with pm3d");
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
710 usingclause{data_3d_idx} = "using 1:2:3:4";
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
711 data{data_3d_idx} = [];
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
712 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
713 local_idx = data_3d_idx;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
714 ccdat = NaN;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
715 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
716 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
717 data_idx += 1;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
718 local_idx = data_idx;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
719 is_image_data(data_idx) = false;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
720 parametric(data_idx) = false;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
721 have_cdata(data_idx) = false;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
722 have_3d_patch(data_idx) = false;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
723 endif
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
724
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
725 if (i > 1 || isempty (obj.displayname))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
726 titlespec{local_idx} = "title \"\"";
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
727 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
728 tmp = undo_string_escapes (
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
729 __maybe_munge_text__ (enhanced, obj, "displayname")
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
730 );
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
731 titlespec{local_idx} = ['title "' tmp '"'];
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
732 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
733 if (isfield (obj, "facecolor"))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
734 if ((strcmp (obj.facecolor, "flat")
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
735 || strcmp (obj.facecolor, "interp"))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
736 && isfield (obj, "cdata"))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
737 if (ndims (obj.cdata) == 2
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
738 && (columns (obj.cdata) == nc
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
739 && (rows (obj.cdata) == 1
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
740 || rows (obj.cdata) == 3)))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
741 ccol = cdat(:, i);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
742 elseif (ndims (obj.cdata) == 2
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
743 && (rows (obj.cdata) == nc
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
744 && (columns (obj.cdata) == 1
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
745 || columns (obj.cdata) == 3)))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
746 ccol = cdat(i, :);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
747 elseif (ndims (obj.cdata) == 3)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
748 ccol = permute (cdat (:, i, :), [1, 3, 2]);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
749 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
750 ccol = cdat;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
751 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
752 if (strcmp (obj.facecolor, "flat"))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
753 if (isequal (size (ccol), [1, 3]))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
754 ## RGB Triplet
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
755 color = ccol;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
756 elseif (nd == 3 && numel (xcol) == 3)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
757 ccdat = ccol;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
758 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
759 if (cdatadirect)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
760 r = round (ccol);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
761 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
762 r = 1 + round ((rows (cmap) - 1)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
763 * (ccol - clim(1))/(clim(2) - clim(1)));
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
764 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
765 r = max (1, min (r, rows (cmap)));
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
766 color = cmap(r, :);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
767 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
768 elseif (strcmp (obj.facecolor, "interp"))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
769 if (nd == 3 && numel (xcol) == 3)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
770 ccdat = ccol;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
771 if (! isvector (ccdat))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
772 tmp = rows (cmap) + rows (addedcmap) + ...
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
773 [1 : rows(ccdat)];
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
774 addedcmap = [addedcmap; ccdat];
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
775 ccdat = tmp(:);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
776 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
777 ccdat = ccdat(:);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
778 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
779 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
780 if (sum (diff (ccol)))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
781 warning ("\"interp\" not supported, using 1st entry of cdata");
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
782 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
783 if (cdatadirect)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
784 r = round (ccol);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
785 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
786 r = 1 + round ((rows (cmap) - 1)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
787 * (ccol - clim(1))/(clim(2) - clim(1)));
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
788 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
789 r = max (1, min (r, rows (cmap)));
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
790 color = cmap(r(1),:);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
791 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
792 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
793 elseif (isnumeric (obj.facecolor))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
794 color = obj.facecolor;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
795 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
796 color = [0, 1, 0];
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
797 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
798 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
799 color = [0, 1, 0];
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
800 endif
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
801
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
802 if (nd == 3 && numel (xcol) == 3)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
803 if (isnan (ccdat))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
804 ccdat = (rows (cmap) + rows (addedcmap) + 1) * ones(3, 1);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
805 addedcmap = [addedcmap; reshape(color, 1, 3)];
22239
f7b70f3a8fc1 For gnuplot toolkit patch case, broadcast single color values (bug #48626).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22127
diff changeset
806 elseif (numel (ccdat) == 1)
f7b70f3a8fc1 For gnuplot toolkit patch case, broadcast single color values (bug #48626).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22127
diff changeset
807 ccdat = ccdat * ones (size (zcol));
f7b70f3a8fc1 For gnuplot toolkit patch case, broadcast single color values (bug #48626).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22127
diff changeset
808 elseif (numel (ccdat) < 1)
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
809 ccdat = zcol;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
810 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
811 data{data_3d_idx} = [data{data_3d_idx}, ...
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
812 [[xcol; xcol(end)], [ycol; ycol(end)], ...
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
813 [zcol; zcol(end)], [ccdat; ccdat(end)]]'];
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
814 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
815 if (__gnuplot_has_feature__ ("transparent_patches")
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
816 && isscalar (obj.facealpha))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
817 colorspec = sprintf ("lc rgb \"#%02x%02x%02x\" fillstyle transparent solid %f",
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
818 round (255*color), obj.facealpha);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
819 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
820 colorspec = sprintf ("lc rgb \"#%02x%02x%02x\"",
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
821 round (255*color));
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
822 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
823
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
824 withclause{data_idx} = sprintf ("with filledcurve %s",
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
825 colorspec);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
826 data{data_idx} = [xcol, ycol]';
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
827 usingclause{data_idx} = sprintf ("record=%d using ($1):($2)",
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
828 numel (xcol));
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
829 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
830 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
831 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
832
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
833 ## patch outline
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
834 if (!(strcmp (obj.edgecolor, "none")
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
835 && (strcmp (obj.marker, "none")
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
836 || (strcmp (obj.markeredgecolor, "none")
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
837 && strcmp (obj.markerfacecolor, "none")))))
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
838
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
839 data_idx += 1;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
840 is_image_data(data_idx) = false;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
841 parametric(data_idx) = false;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
842 have_cdata(data_idx) = false;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
843 have_3d_patch(data_idx) = false;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
844 titlespec{data_idx} = "title \"\"";
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
845 usingclause{data_idx} = sprintf ("record=%d", numel (obj.xdata));
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
846
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
847 if (isfield (obj, "markersize"))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
848 mdat = obj.markersize / 3;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
849 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
850
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
851 if (isfield (obj, "edgecolor"))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
852 ## FIXME: This is the wrong thing to do as edgecolor,
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
853 ## markeredgecolor and markerfacecolor can have different values
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
854 ## and we should treat them seperately. However, the code below
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
855 ## allows the scatter functions to work as expected, where only
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
856 ## one of these values is set.
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
857 if (strcmp (obj.edgecolor, "none"))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
858 if (strcmp (obj.markeredgecolor, "none"))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
859 ec = obj.markerfacecolor;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
860 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
861 ec = obj.markeredgecolor;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
862 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
863 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
864 ec = obj.edgecolor;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
865 endif
10089
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
866
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
867 if ((strcmp (ec, "flat")
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
868 || strcmp (ec, "interp"))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
869 && isfield (obj, "cdata"))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
870 if (ndims (obj.cdata) == 2
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
871 && (columns (obj.cdata) == nc
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
872 && (rows (obj.cdata) == 1
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
873 || rows (obj.cdata) == 3)))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
874 ccol = cdat(:, i);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
875 elseif (ndims (obj.cdata) == 2
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
876 && (rows (obj.cdata) == nc
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
877 && (columns (obj.cdata) == 1
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
878 || columns (obj.cdata) == 3)))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
879 ccol = cdat(i, :);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
880 elseif (ndims (obj.cdata) == 3)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
881 ccol = permute (cdat (:, i, :), [1, 3, 2]);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
882 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
883 ccol = cdat;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
884 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
885 if (strcmp (ec, "flat"))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
886 if (numel (ccol) == 3)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
887 color = ccol;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
888 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
889 if (isscalar (ccol))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
890 ccol = repmat (ccol, numel (xcol), 1);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
891 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
892 color = "flat";
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
893 have_cdata(data_idx) = true;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
894 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
895 elseif (strcmp (ec, "interp"))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
896 if (numel (ccol) == 3)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
897 warning ("\"interp\" not supported, using 1st entry of cdata");
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
898 color = ccol(1,:);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
899 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
900 if (isscalar (ccol))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
901 ccol = repmat (ccol, numel (xcol), 1);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
902 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
903 color = "interp";
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
904 have_cdata(data_idx) = true;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
905 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
906 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
907 elseif (isnumeric (ec))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
908 color = ec;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
909 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
910 color = [0, 0, 0];
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
911 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
912 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
913 color = [0, 0, 0];
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
914 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
915
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
916 lt = gnuplot_linetype (obj);
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
917
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
918 if (isfield (obj, "linewidth"))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
919 lw = sprintf ("linewidth %f", obj.linewidth);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
920 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
921 lw = "";
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
922 endif
10089
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
923
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
924 [pt, pt2, obj] = gnuplot_pointtype (obj);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
925 if (! isempty (pt))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
926 pt = sprintf ("pointtype %s", pt);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
927 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
928 if (! isempty (pt2))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
929 pt2 = sprintf ("pointtype %s", pt2);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
930 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
931
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
932 if (ischar (color))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
933 if (columns (ccol) == 1)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
934 colorspec = "palette";
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
935 elseif (columns (ccol) == 3)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
936 colorspec = "lc rgb variable";
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
937 ccol = 255*ccol*[0x1; 0x100; 0x10000];
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
938 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
939 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
940 colorspec = sprintf ("lc rgb \"#%02x%02x%02x\"",
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
941 round (255*color));
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
942 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
943
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
944 sidx = 1;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
945 if (isempty (lt))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
946 style = "";
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
947 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
948 style = "lines";
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
949 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
950 tmpwith = {};
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
951
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
952 facesame = true;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
953 if (! isequal (pt, pt2) && isfield (obj, "markerfacecolor")
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
954 && ! strcmp (obj.markerfacecolor, "none"))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
955 if (strcmp (obj.markerfacecolor, "auto")
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
956 || ! isnumeric (obj.markerfacecolor)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
957 || (isnumeric (obj.markerfacecolor)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
958 && isequal (color, obj.markerfacecolor)))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
959 style = [style "points"];
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
960 if (isfield (obj, "markersize"))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
961 if (length (mdat) == nc)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
962 m = mdat(i);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
963 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
964 m = mdat;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
965 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
966 ps = sprintf ("pointsize %f", m / 3);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
967 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
968 ps = "";
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
969 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
970
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
971 tmpwith{sidx} = sprintf ("with %s %s %s %s %s %s",
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
972 style, lw, pt2, lt, ps,
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
973 colorspec);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
974 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
975 facesame = false;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
976 if (! isempty (style))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
977 tmpwith{sidx} = sprintf ("with %s %s %s %s",
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
978 style, lw, lt,
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
979 colorspec);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
980 sidx += 1;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
981 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
982 if (isnumeric (obj.markerfacecolor))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
983 colorspec = sprintf ("lc rgb \"#%02x%02x%02x\"",
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
984 round (255*obj.markerfacecolor));
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
985 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
986 style = "points";
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
987 if (isfield (obj, "markersize"))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
988 if (length (mdat) == nc)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
989 m = mdat(i);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
990 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
991 m = mdat;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
992 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
993 ps = sprintf ("pointsize %f", m / 3);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
994 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
995 ps = "";
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
996 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
997 tmpwith{sidx} = sprintf ("with %s %s %s %s %s %s",
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
998 style, lw, pt2, lt, ps,
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
999 colorspec);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1000 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1001 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1002
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1003 if (isfield (obj, "markeredgecolor")
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1004 && ! strcmp (obj.markeredgecolor, "none"))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1005 if (facesame && ! isempty (pt)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1006 && (strcmp (obj.markeredgecolor, "auto")
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1007 || ! isnumeric (obj.markeredgecolor)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1008 || (isnumeric (obj.markeredgecolor)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1009 && isequal (color, obj.markeredgecolor))))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1010 if (sidx == 1 && ((length (style) == 5
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1011 && strncmp (style, "lines", 5))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1012 || isempty (style)))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1013 style = [style, "points"];
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1014 if (isfield (obj, "markersize"))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1015 if (length (mdat) == nc)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1016 m = mdat(i);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1017 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1018 m = mdat;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1019 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1020 ps = sprintf ("pointsize %f", m / 3);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1021 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1022 ps = "";
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1023 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1024 tmpwith{sidx} = sprintf ("with %s %s %s %s %s %s",
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1025 style, lw, pt, lt, ps,
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1026 colorspec);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1027 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1028 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1029 if (! isempty (style))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1030 if (length (tmpwith) < sidx || isempty (tmpwith{sidx}))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1031 tmpwith{sidx} = sprintf ("with %s %s %s %s",
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1032 style, lw, lt,
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1033 colorspec);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1034 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1035 sidx += 1;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1036 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1037
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1038 if (! isempty (pt))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1039 if (strcmp (obj.markeredgecolor, "auto"))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1040 colorspec = sprintf ("lc rgb \"#%02x%02x%02x\"",
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1041 round (255*color));
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1042 elseif (isnumeric (obj.markeredgecolor))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1043 colorspec = sprintf ("lc rgb \"#%02x%02x%02x\"",
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1044 round (255*obj.markeredgecolor));
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1045 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1046 style = "points";
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1047 if (isfield (obj, "markersize"))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1048 if (length (mdat) == nc)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1049 m = mdat(i);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1050 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1051 m = mdat;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1052 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1053 ps = sprintf ("pointsize %f", m / 3);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1054 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1055 ps = "";
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1056 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1057 tmpwith{sidx} = sprintf ("with %s %s %s %s %s %s",
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1058 style, lw, pt, lt, ps,
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1059 colorspec);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1060 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1061 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1062 endif
10089
dd70982c81a3 Allow markerfacecolor and markeredgecolor to be set and used for patch objects
David Bateman <dbateman@free.fr>
parents: 9793
diff changeset
1063
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1064 if (! isempty (tmpwith))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1065 withclause{data_idx} = tmpwith{1};
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1066 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1067 if (! isempty (style))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1068 withclause{data_idx} = sprintf ("with %s %s %s %s %s",
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1069 style, lw, pt, lt,
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1070 colorspec);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1071 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1072 withclause{data_idx} = "";
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1073 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1074 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1075 if (nd == 3)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1076 if (ischar (color))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1077 if (! isnan (xcol) && ! isnan (ycol) && ! isnan (zcol))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1078 data{data_idx} = [[xcol; xcol(1)], [ycol; ycol(1)], ...
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1079 [zcol; zcol(1)], [ccol; ccol(1)]]';
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1080 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1081 data{data_idx} = [xcol, ycol, zcol, ccol]';
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1082 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1083 usingclause{data_idx} = sprintf ("record=%d using ($1):($2):($3):($4)", columns (data{data_idx}));
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1084 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1085 if (! isnan (xcol) && ! isnan (ycol) && ! isnan (zcol))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1086 data{data_idx} = [[xcol; xcol(1)], [ycol; ycol(1)], ...
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1087 [zcol; zcol(1)]]';
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1088 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1089 data{data_idx} = [xcol, ycol, zcol]';
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1090 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1091 usingclause{data_idx} = sprintf ("record=%d using ($1):($2):($3)", columns (data{data_idx}));
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1092 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1093 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1094 if (ischar (color))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1095 if (! isnan (xcol) && ! isnan (ycol))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1096 data{data_idx} = [[xcol; xcol(1)], [ycol; ycol(1)], ...
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1097 [ccol; ccol(1)]]';
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1098 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1099 data{data_idx} = [xcol, ycol, ccol]';
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1100 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1101 usingclause{data_idx} = sprintf ("record=%d using ($1):($2):($3)", columns (data{data_idx}));
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1102 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1103 if (! isnan (xcol) && ! isnan (ycol))
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1104 data{data_idx} = [[xcol; xcol(1)], [ycol; ycol(1)]]';
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1105 else
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1106 data{data_idx} = [xcol, ycol]';
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1107 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1108 usingclause{data_idx} = sprintf ("record=%d using ($1):($2)", columns (data{data_idx}));
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1109 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1110 endif
6790
f1157da78825 [project @ 2007-07-24 19:02:27 by jwe]
jwe
parents: 6788
diff changeset
1111
22080
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1112 if (length (tmpwith) > 1)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1113 data_idx += 1;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1114 is_image_data(data_idx) = is_image_data(data_idx - 1);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1115 parametric(data_idx) = parametric(data_idx - 1);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1116 have_cdata(data_idx) = have_cdata(data_idx - 1);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1117 have_3d_patch(data_idx) = have_3d_patch(data_idx - 1);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1118 titlespec{data_idx} = "title \"\"";
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1119 usingclause{data_idx} = usingclause{data_idx - 1};
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1120 data{data_idx} = data{data_idx - 1};
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1121 withclause{data_idx} = tmpwith{2};
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1122 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1123 if (length (tmpwith) > 2)
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1124 data_idx += 1;
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1125 is_image_data(data_idx) = is_image_data(data_idx - 1);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1126 parametric(data_idx) = parametric(data_idx - 1);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1127 have_cdata(data_idx) = have_cdata(data_idx - 1);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1128 have_3d_patch(data_idx) = have_3d_patch(data_idx - 1);
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1129 titlespec{data_idx} = "title \"\"";
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1130 usingclause{data_idx} = usingclause{data_idx - 1};
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1131 data{data_idx} = data{data_idx - 1};
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1132 withclause{data_idx} = tmpwith{3};
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1133 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1134 endif
43646269998d maint: correct indentation of __gnuplot_draw_axes__.m.
Rik <rik@octave.org>
parents: 22057
diff changeset
1135 endfor
10995
e81914f3921f Update legend code to support fltk (fixes #29348 and partially fixes #30461)
David Bateman <dbateman@free.fr>
parents: 10992
diff changeset
1136
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1137 case "surface"
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1138 view_map = true;
21714
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1139 if (isempty (obj.displayname))
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1140 tspec = "title \"\"";
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1141 else
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1142 tmp = undo_string_escapes (
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1143 __maybe_munge_text__ (enhanced, obj, "displayname")
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1144 );
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1145 tspec = ['title "' tmp '"'];
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1146 endif
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1147
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1148 xdat = obj.xdata;
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1149 ydat = obj.ydata;
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1150 zdat = obj.zdata;
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1151 cdat = obj.cdata;
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1152 err = false;
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1153 if (! size_equal (zdat, cdat))
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1154 err = true;
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1155 endif
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1156 if (isvector (xdat) && isvector (ydat) && ismatrix (zdat))
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1157 if (rows (zdat) == length (ydat)
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1158 && columns (zdat) == length (xdat))
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1159 [xdat, ydat] = meshgrid (xdat, ydat);
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1160 else
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1161 err = true;
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1162 endif
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1163 elseif (ismatrix (xdat) && ismatrix (ydat) && ismatrix (zdat))
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1164 if (! size_equal (xdat, ydat, zdat))
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1165 err = true;
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1166 endif
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1167 else
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1168 err = true;
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1169 endif
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1170 if (err)
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1171 error ("__gnuplot_draw_axes__: invalid grid data");
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1172 endif
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1173 xlen = columns (zdat);
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1174 ylen = rows (zdat);
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1175
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1176 if (! strcmp (obj.facecolor, "none"))
20735
418ae0cb752f Replace ++,-- with in-place operators for performance.
Rik <rik@octave.org>
parents: 20714
diff changeset
1177 data_idx += 1;
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1178 is_image_data(data_idx) = false;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1179 parametric(data_idx) = false;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1180 have_cdata(data_idx) = true;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1181 have_3d_patch(data_idx) = false;
7110
0e63f1126f01 [project @ 2007-11-06 22:36:22 by jwe]
jwe
parents: 7109
diff changeset
1182
21714
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1183 titlespec{data_idx} = tspec;
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1184 tspec = "title \"\"";
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1185
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1186 flat_interp_face = (strcmp (obj.facecolor, "flat")
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1187 || strcmp (obj.facecolor, "interp"));
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1188
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1189 if (xlen == columns (xdat) && xlen == columns (ydat)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1190 && ylen == rows (xdat) && ylen == rows (ydat))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1191 len = 4 * xlen;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1192 zz = zeros (ylen, len);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1193 k = 1;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1194 for kk = 1:4:len
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1195 zz(:,kk) = xdat(:,k);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1196 zz(:,kk+1) = ydat(:,k);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1197 zz(:,kk+2) = zdat(:,k);
21714
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1198 if (flat_interp_face)
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1199 zz(:,kk+3) = cdat(:,k);
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1200 else
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1201 ## Convert color to 24-bit RGB
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1202 zz(:,kk+3) = hex2dec (sprintf ("%02x%02x%02x",
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1203 round (255*obj.facecolor)));
21700
e6fcaea7d433 Properly handle 'flat' face color for gnuplot graphics toolkit (bug #47911).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21524
diff changeset
1204 endif
20735
418ae0cb752f Replace ++,-- with in-place operators for performance.
Rik <rik@octave.org>
parents: 20714
diff changeset
1205 k += 1;
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1206 endfor
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1207 data{data_idx} = zz.';
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1208 endif
7109
5436efbf35e3 [project @ 2007-11-06 22:16:25 by jwe]
jwe
parents: 7094
diff changeset
1209
21714
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1210 doing_interp_color = strcmp (obj.facecolor, "interp");
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1211 if (doing_interp_color)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1212 interp_str = "interpolate 0, 0";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1213 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1214 ## No interpolation of facecolors.
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1215 interp_str = "";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1216 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1217 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
1218
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1219 fputs (plot_stream, "unset pm3d\n");
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1220 fputs (plot_stream, "set style increment default;\n");
21714
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1221 hidden_removal = true;
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1222 if (flat_interp_face)
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1223 color_source = "";
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1224 else
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1225 color_source = " linecolor rgb variable";
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1226 endif
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1227 withclause{data_idx} = sprintf ("with pm3d%s", color_source);
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1228
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1229 if (doing_interp_color)
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1230 ## "depthorder" interferes with interpolation of colors.
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1231 dord = "scansautomatic";
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1232 else
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1233 dord = "depthorder";
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1234 endif
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1235
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1236 if (__gnuplot_has_feature__ ("transparent_surface")
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1237 && isscalar (obj.facealpha))
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1238 fprintf (plot_stream,
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1239 "set style fill transparent solid %f;\n",
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1240 obj.facealpha);
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1241 endif
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1242 fprintf (plot_stream,
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1243 "set pm3d explicit at s %s %s corners2color c3;\n",
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1244 interp_str, dord);
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1245 endif
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1246
22127
7a70004cae61 Disable gnuplot graphics toolkit mesh when linestyle is 'none' (bug #48512)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22080
diff changeset
1247 if (! strcmp (obj.linestyle, "none") && ! strcmp (obj.edgecolor, "none"))
21714
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1248 flat_interp_edge = (strcmp (obj.edgecolor, "flat")
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1249 || strcmp (obj.edgecolor, "interp"));
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1250 if (flat_interp_edge)
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1251 scmd = "palette";
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1252 ccol = ":($4)";
21800
0eefa882bcc7 Restore matrix width variable taken out by changeset ddd00394d4fe.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21799
diff changeset
1253 N_tup = 4;
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1254 else
21714
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1255 if (__gnuplot_has_feature__ ("linetype"))
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1256 scmd = "linetype";
21700
e6fcaea7d433 Properly handle 'flat' face color for gnuplot graphics toolkit (bug #47911).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21524
diff changeset
1257 else
21714
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1258 scmd = "linestyle";
21700
e6fcaea7d433 Properly handle 'flat' face color for gnuplot graphics toolkit (bug #47911).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21524
diff changeset
1259 endif
21714
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1260 ccol = "";
21800
0eefa882bcc7 Restore matrix width variable taken out by changeset ddd00394d4fe.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21799
diff changeset
1261 N_tup = 3;
21714
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1262 endif
7109
5436efbf35e3 [project @ 2007-11-06 22:16:25 by jwe]
jwe
parents: 7094
diff changeset
1263
21714
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1264 [style, sidx] = do_linestyle_command (obj, obj.edgecolor,
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1265 data_idx,
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1266 plot_stream);
21799
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1267 domeshcolumn = (strcmp (obj.meshstyle, "column")
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1268 || strcmp (obj.meshstyle, "both"));
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1269 domeshrow = (strcmp (obj.meshstyle, "row")
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1270 || strcmp (obj.meshstyle, "both"));
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1271 num_pass = 0;
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1272 num_cols = 0;
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1273 if (domeshcolumn)
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1274 num_pass += xlen;
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1275 num_cols = xlen;
21714
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1276 endif
21799
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1277 if (domeshrow)
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1278 num_pass += ylen;
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1279 endif
21714
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1280
21799
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1281 for np = 1:num_pass
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1282 if (np <= num_cols)
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1283 k = np;
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1284 yrec = ylen;
21800
0eefa882bcc7 Restore matrix width variable taken out by changeset ddd00394d4fe.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21799
diff changeset
1285 zz = zeros (ylen, N_tup);
21799
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1286 zz(:,1) = xdat(:,k);
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1287 zz(:,2) = ydat(:,k);
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1288 zz(:,3) = zdat(:,k);
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1289 if (flat_interp_edge)
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1290 zz(:,4) = cdat(:,k);
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1291 endif
21714
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1292 else
21799
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1293 j = np - num_cols;
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1294 yrec = xlen;
21800
0eefa882bcc7 Restore matrix width variable taken out by changeset ddd00394d4fe.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21799
diff changeset
1295 zz = zeros (xlen, N_tup);
21799
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1296 zz(:,1) = xdat(j,:)';
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1297 zz(:,2) = ydat(j,:)';
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1298 zz(:,3) = zdat(j,:)';
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1299 if (flat_interp_edge)
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1300 zz(:,4) = cdat(j,:)';
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1301 endif
21714
68522e5b74ef Reorganize 'surface' gnuplot handling to improve 'edge' control
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21700
diff changeset
1302 endif
21799
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1303
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1304 zz = zz.';
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1305
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1306 for i_stl = 1:length (style)
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1307 if (flat_interp_edge)
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1308 sopt = "";
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1309 else
22048
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1310 sopt = sprintf ("%d", sidx(i_stl));
21799
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1311 endif
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1312 data_idx += 1;
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1313 is_image_data(data_idx) = false;
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1314 parametric(data_idx) = false;
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1315 if (flat_interp_edge)
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1316 have_cdata(data_idx) = true;
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1317 else
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1318 have_cdata(data_idx) = false;
22048
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1319 endif
21799
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1320 have_3d_patch(data_idx) = false;
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1321 titlespec{data_idx} = tspec;
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1322 usingclause{data_idx} = sprintf ("record=%dx1 using ($1):($2):($3)%s",
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1323 yrec, ccol);
21957
6be06f0c7463 gnuplot graphics: Fix MarkerFaceColor invalid and MarkerEdgeColor 'none' bugs (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21853
diff changeset
1324 if isempty (style{i_stl})
6be06f0c7463 gnuplot graphics: Fix MarkerFaceColor invalid and MarkerEdgeColor 'none' bugs (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21853
diff changeset
1325 style{i_stl} = "points";
6be06f0c7463 gnuplot graphics: Fix MarkerFaceColor invalid and MarkerEdgeColor 'none' bugs (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21853
diff changeset
1326 data{data_idx} = {};
6be06f0c7463 gnuplot graphics: Fix MarkerFaceColor invalid and MarkerEdgeColor 'none' bugs (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21853
diff changeset
1327 else
6be06f0c7463 gnuplot graphics: Fix MarkerFaceColor invalid and MarkerEdgeColor 'none' bugs (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21853
diff changeset
1328 data{data_idx} = zz;
6be06f0c7463 gnuplot graphics: Fix MarkerFaceColor invalid and MarkerEdgeColor 'none' bugs (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21853
diff changeset
1329 endif
21799
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1330 withclause{data_idx} = sprintf ("with %s %s %s",
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1331 style{i_stl}, scmd, sopt);
ddd00394d4fe Implement graphics property meshstyle for gnuplot graphics toolkit (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21796
diff changeset
1332 endfor
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1333 endfor
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1334 endif
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1335
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1336 case "text"
21844
c0a552e71ceb Fix gnuplot toolkit text object bug introduced by changeset 7fe10fcd8370.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21842
diff changeset
1337 do_text (plot_stream, gnuplot_term, enhanced, obj, h);
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1338
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1339 case "hggroup"
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1340 ## Push group children into the kid list.
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1341 if (isempty (kids))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1342 kids = obj.children;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1343 elseif (! isempty (obj.children))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1344 kids = [kids; obj.children];
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1345 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1346
21789
6afdf40be534 Implement graphics object "light" (patch #8943).
mmuetzel <markus.muetzel@gmx.de>
parents: 21775
diff changeset
1347 case "light"
6afdf40be534 Implement graphics object "light" (patch #8943).
mmuetzel <markus.muetzel@gmx.de>
parents: 21775
diff changeset
1348 ## ignore it
6afdf40be534 Implement graphics object "light" (patch #8943).
mmuetzel <markus.muetzel@gmx.de>
parents: 21775
diff changeset
1349
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1350 otherwise
21031
66a08c3cafe3 maint: Follow Octave coding conventions in m-files.
Rik <rik@octave.org>
parents: 21000
diff changeset
1351 error ("__gnuplot_draw_axes__: unknown object class, %s", obj.type);
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1352 endswitch
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1353
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1354 endwhile
11423
00b0aa8d539e __go_draw_axes__.m: Enable vertical alignment of text objects for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 11334
diff changeset
1355
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1356 ## This is needed to prevent warnings for rotations in 3D plots, while
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1357 ## allowing colorbars with contours.
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
1358 if (nd == 2 || (data_idx > 1 && ! view_map))
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1359 fputs (plot_stream, "set pm3d implicit;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1360 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1361 fputs (plot_stream, "set pm3d explicit;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1362 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1363
21773
45871845a93c Remove gnuplot hidden-line-removal deactivation from patch code (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21758
diff changeset
1364 if (! isnan (hidden_removal) && hidden_removal)
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1365 fputs (plot_stream, "set hidden3d front nooffset;\n");
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1366 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1367 fputs (plot_stream, "unset hidden3d;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1368 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1369
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1370 have_data = (! (isempty (data) || all (cellfun ("isempty", data))));
7865
b74039822fd2 Add support for hggroup
Michael Goffioul <michael.goffioul@gmail.com>
parents: 7726
diff changeset
1371
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1372 ## Note we don't use the [xy]2range of gnuplot as we don't use the
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1373 ## dual axis plotting features of gnuplot.
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1374 if (isempty (xlim))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1375 return;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1376 endif
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
1377 if (strcmp (axis_obj.xdir, "reverse"))
20282
977853866d69 Flip gnuplot range values rather than use reverse/noreverse (bug #38914)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 20231
diff changeset
1378 xlim = flip (xlim);
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1379 endif
20282
977853866d69 Flip gnuplot range values rather than use reverse/noreverse (bug #38914)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 20231
diff changeset
1380
977853866d69 Flip gnuplot range values rather than use reverse/noreverse (bug #38914)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 20231
diff changeset
1381 fprintf (plot_stream, "set xrange [%.15e:%.15e];\n", xlim);
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
1382 if (strcmp (axis_obj.xaxislocation, "top"))
20282
977853866d69 Flip gnuplot range values rather than use reverse/noreverse (bug #38914)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 20231
diff changeset
1383 fprintf (plot_stream, "set x2range [%.15e:%.15e];\n", xlim);
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1384 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1385
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1386 if (isempty (ylim))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1387 return;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1388 endif
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
1389 if (strcmp (axis_obj.ydir, "reverse"))
20282
977853866d69 Flip gnuplot range values rather than use reverse/noreverse (bug #38914)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 20231
diff changeset
1390 ylim = flip (ylim);
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1391 endif
20282
977853866d69 Flip gnuplot range values rather than use reverse/noreverse (bug #38914)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 20231
diff changeset
1392 fprintf (plot_stream, "set yrange [%.15e:%.15e];\n", ylim);
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
1393 if (strcmp (axis_obj.yaxislocation, "right"))
20282
977853866d69 Flip gnuplot range values rather than use reverse/noreverse (bug #38914)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 20231
diff changeset
1394 fprintf (plot_stream, "set y2range [%.15e:%.15e];\n", ylim);
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1395 endif
7692
da1f4bc7cbe8 Conditionally set 'set pm3d implicit'
David Bateman <dbateman@free.fr>
parents: 7676
diff changeset
1396
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1397 if (nd == 3)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1398 if (isempty (zlim))
7222
dd8b3bbeeaf9 [project @ 2007-11-30 06:23:25 by jwe]
jwe
parents: 7220
diff changeset
1399 return;
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1400 endif
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
1401 if (strcmp (axis_obj.zdir, "reverse"))
20282
977853866d69 Flip gnuplot range values rather than use reverse/noreverse (bug #38914)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 20231
diff changeset
1402 zlim = flip (zlim);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1403 endif
20282
977853866d69 Flip gnuplot range values rather than use reverse/noreverse (bug #38914)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 20231
diff changeset
1404 fprintf (plot_stream, "set zrange [%.15e:%.15e];\n", zlim);
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1405 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1406
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1407 cmap = parent_figure_obj.colormap;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1408 cmap_sz = rows (cmap);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1409 if (! any (isinf (clim)))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1410 if (truecolor || ! cdatadirect)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1411 if (rows (addedcmap) > 0)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1412 for i = 1:data_idx
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1413 if (have_3d_patch(i))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1414 data{i}(end,:) = clim(2) * (data{i}(end, :) - 0.5) / cmap_sz;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1415 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1416 endfor
18985
f84361735a40 maint: Use Octave coding conventions for some recent patches.
Rik <rik@octave.org>
parents: 18982
diff changeset
1417 fprintf (plot_stream, "set cbrange [%.15e:%.15e];\n",
f84361735a40 maint: Use Octave coding conventions for some recent patches.
Rik <rik@octave.org>
parents: 18982
diff changeset
1418 clim(1), clim(2) * (cmap_sz + rows (addedcmap)) / cmap_sz);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1419 else
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1420 fprintf (plot_stream, "set cbrange [%.15e:%.15e];\n", clim);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1421 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1422 else
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1423 fprintf (plot_stream, "set cbrange [1:%d];\n", cmap_sz +
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1424 rows (addedcmap));
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1425 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1426 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1427
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
1428 if (strcmp (axis_obj.visible, "off"))
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1429 fputs (plot_stream, "unset border; unset tics\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1430 else
21775
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1431 fputs (plot_stream, "unset border\n");
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1432 axis_idx = data_idx;
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
1433 if (strcmp (axis_obj.box, "on"))
21775
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1434 if (nd == 3)
21842
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1435 do_border_tick_3d (axis_obj, plot_stream);
21775
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1436 else
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1437 axis_idx = do_border_2d (axis_obj, plot_stream, axis_idx);
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1438 endif
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1439 else
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1440 if (nd == 3)
21842
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1441 do_border_tick_3d (axis_obj, plot_stream);
21775
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1442 elseif (! isempty (axis_obj.ytick))
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
1443 if (strcmp (axis_obj.yaxislocation, "right"))
21775
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1444 fprintf (plot_stream, "unset ytics; set y2tics %s nomirror\n",
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1445 axis_obj.tickdir);
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
1446 if (strcmp (axis_obj.xaxislocation, "top"))
21775
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1447 maybe_do_x2tick_mirror (plot_stream, axis_obj)
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
1448 elseif (strcmp (axis_obj.xaxislocation, "bottom"))
21775
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1449 maybe_do_xtick_mirror (plot_stream, axis_obj)
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1450 else # xaxislocation == zero
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1451 fprintf (plot_stream, "unset x2tics; set xtics %s nomirror\n",
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1452 axis_obj.tickdir);
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1453 endif
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
1454 elseif (strcmp (axis_obj.yaxislocation, "left"))
21775
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1455 fprintf (plot_stream, "unset y2tics; set ytics %s nomirror\n",
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1456 axis_obj.tickdir);
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
1457 if (strcmp (axis_obj.xaxislocation, "top"))
21775
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1458 maybe_do_x2tick_mirror (plot_stream, axis_obj)
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
1459 elseif (strcmp (axis_obj.xaxislocation, "bottom"))
21775
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1460 maybe_do_xtick_mirror (plot_stream, axis_obj)
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1461 else # xaxislocation == zero
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1462 maybe_do_xtick_mirror (plot_stream, axis_obj)
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1463 endif
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1464 else # yaxislocation == zero
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1465 fprintf (plot_stream, "unset y2tics; set ytics %s nomirror\n",
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1466 axis_obj.tickdir);
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
1467 if (strcmp (axis_obj.xaxislocation, "top"))
21775
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1468 maybe_do_x2tick_mirror (plot_stream, axis_obj)
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
1469 elseif (strcmp (axis_obj.xaxislocation, "bottom"))
21775
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1470 maybe_do_xtick_mirror (plot_stream, axis_obj)
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1471 else # xaxislocation == zero
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1472 maybe_do_xtick_mirror (plot_stream, axis_obj)
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1473 fprintf (plot_stream, "unset y2tics; set ytics %s nomirror\n",
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1474 axis_obj.tickdir);
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1475 fputs (plot_stream, "unset border;\n");
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1476 endif
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1477 endif
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1478 axis_idx = do_border_2d (axis_obj, plot_stream, axis_idx);
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1479 endif
6cf6bc451eeb Don't draw axes object when visible property is 'off' for gnuplot (bug #47974)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21773
diff changeset
1480 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1481 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1482
22048
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1483 if (! have_major_grid && ! have_minor_grid)
22040
79e7a6fc524d Add control of grid lines for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21957
diff changeset
1484 fputs (plot_stream, "unset grid;\n");
79e7a6fc524d Add control of grid lines for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21957
diff changeset
1485 else
22050
eb751495ba43 Condition grid_idx assignment on existence of axis_idx (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22048
diff changeset
1486 if (exist ("axis_idx", "var"))
eb751495ba43 Condition grid_idx assignment on existence of axis_idx (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22048
diff changeset
1487 grid_idx = axis_idx;
eb751495ba43 Condition grid_idx assignment on existence of axis_idx (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22048
diff changeset
1488 else
eb751495ba43 Condition grid_idx assignment on existence of axis_idx (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22048
diff changeset
1489 grid_idx = data_idx;
eb751495ba43 Condition grid_idx assignment on existence of axis_idx (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22048
diff changeset
1490 endif
22048
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1491 if (have_major_grid)
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1492 grid_idx += 1;
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1493 grid_obj.linestyle = axis_obj.gridlinestyle;
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1494 grid_obj.linewidth = axis_obj.linewidth;
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1495 grid_obj.alpha = axis_obj.gridalpha;
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1496 [style, sidx_major] = do_linestyle_command (grid_obj, axis_obj.gridcolor,
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1497 grid_idx, plot_stream);
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1498 else
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1499 sidx_major = 0;
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1500 endif
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1501 if (have_minor_grid)
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1502 grid_idx += 1;
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1503 grid_obj.linestyle = axis_obj.minorgridlinestyle;
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1504 grid_obj.linewidth = axis_obj.linewidth;
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1505 grid_obj.alpha = axis_obj.minorgridalpha;
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1506 [style, sidx_minor] = do_linestyle_command (grid_obj,
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1507 axis_obj.minorgridcolor,
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1508 grid_idx, plot_stream);
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1509 else
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1510 sidx_minor = 0;
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1511 endif
22040
79e7a6fc524d Add control of grid lines for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21957
diff changeset
1512 if (__gnuplot_has_feature__ ("linetype"))
79e7a6fc524d Add control of grid lines for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21957
diff changeset
1513 scmd = "linetype";
79e7a6fc524d Add control of grid lines for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21957
diff changeset
1514 else
79e7a6fc524d Add control of grid lines for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21957
diff changeset
1515 scmd = "linestyle";
79e7a6fc524d Add control of grid lines for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21957
diff changeset
1516 endif
22048
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1517 fprintf (plot_stream, "set grid %s %d, %s %d;\n",
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1518 scmd, sidx_major, scmd, sidx_minor);
22040
79e7a6fc524d Add control of grid lines for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21957
diff changeset
1519 endif
79e7a6fc524d Add control of grid lines for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21957
diff changeset
1520
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1521 if (! isempty (hlgnd) && ! isempty (hlgnd.children)
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
1522 && any (strcmp (get (hlgnd.children, "visible"), "on")))
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
1523 if (strcmp (hlgnd.box, "on"))
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1524 box = "box";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1525 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1526 box = "nobox";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1527 endif
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
1528 if (strcmp (hlgnd.orientation, "vertical"))
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1529 horzvert = "vertical";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1530 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1531 horzvert = "horizontal";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1532 endif
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
1533 if (strcmp (hlgnd.textposition, "right"))
20933
8020eceafaf0 Gnuplot legend text alignment fix
Cillian O'Driscoll <cillian.odriscoll@gmail.com>
parents: 20889
diff changeset
1534 reverse = "reverse Left";
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1535 else
20933
8020eceafaf0 Gnuplot legend text alignment fix
Cillian O'Driscoll <cillian.odriscoll@gmail.com>
parents: 20889
diff changeset
1536 reverse = "noreverse Right";
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1537 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1538 inout = "inside";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1539 keypos = hlgnd.location;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1540 if (ischar (keypos))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1541 keypos = lower (keypos);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1542 keyout = strfind (keypos, "outside");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1543 if (! isempty (keyout))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1544 inout = "outside";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1545 keypos = keypos(1:keyout-1);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1546 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1547 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1548 switch (keypos)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1549 case "north"
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1550 pos = "center top";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1551 case "south"
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1552 pos = "center bottom";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1553 case "east"
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1554 pos = "right center";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1555 case "west"
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1556 pos = "left center";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1557 case "northeast"
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1558 pos = "right top";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1559 case "northwest"
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1560 pos = "left top";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1561 case "southeast"
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1562 pos = "right bottom";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1563 case "southwest"
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1564 pos = "left bottom";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1565 case "best"
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1566 pos = "";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1567 warning ("legend: 'Best' not yet implemented for location specifier.\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1568 ## Least conflict with data in plot.
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1569 ## Least unused space outside plot.
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1570 otherwise
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1571 pos = "";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1572 endswitch
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1573 if (__gnuplot_has_feature__ ("key_has_font_properties"))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1574 [fontname, fontsize] = get_fontname_and_size (hlgnd);
22055
21f3cbd5c708 Supply correct key title specs for the gnuplot toolkit (bug #48427).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22052
diff changeset
1575 fontspacespec = [create_spacingspec(fontname, fontsize, gnuplot_term),...
21f3cbd5c708 Supply correct key title specs for the gnuplot toolkit (bug #48427).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22052
diff changeset
1576 ' ', create_fontspec(fontname, fontsize, gnuplot_term)];
7565
1e6443ff960f handle axes linewidth property
John W. Eaton <jwe@octave.org>
parents: 7564
diff changeset
1577 else
18982
04dc55bf71e8 adjust spacing in gnuplot legend when non default font size is used.
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18857
diff changeset
1578 fontspacespec = "";
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1579 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1580 textcolors = get (findobj (hlgnd.children, "type", "text"), "color");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1581 if (iscell (textcolors))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1582 textcolors = cell2mat (textcolors);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1583 textcolors = unique (textcolors, "rows");
7060
033918b854a7 [project @ 2007-10-24 17:51:05 by jwe]
jwe
parents: 7020
diff changeset
1584 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1585 if (rows (textcolors) > 1)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1586 ## Gnuplot is unable to assign arbitrary colors to each text entry
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1587 ## for the key/legend. But, the text color can be set to match the
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1588 ## color of the plot object.
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1589 colorspec = "textcolor variable";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1590 else
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
1591 colorspec = get_text_colorspec (textcolors);
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1592 endif
18741
e5ab507687ee Correctly follow legend interpreter property for gnuplot (bug #40064).
Rik <rik@octave.org>
parents: 18740
diff changeset
1593 fprintf (plot_stream, "set key %s %s;\nset key %s %s %s %s %s %s;\n",
18982
04dc55bf71e8 adjust spacing in gnuplot legend when non default font size is used.
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18857
diff changeset
1594 inout, pos, box, reverse, horzvert, fontspacespec, colorspec,
18741
e5ab507687ee Correctly follow legend interpreter property for gnuplot (bug #40064).
Rik <rik@octave.org>
parents: 18740
diff changeset
1595 __do_enhanced_option__ (enhanced, hlgnd));
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1596 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1597 fputs (plot_stream, "unset key;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1598 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1599 fputs (plot_stream, "set style data lines;\n");
7060
033918b854a7 [project @ 2007-10-24 17:51:05 by jwe]
jwe
parents: 7020
diff changeset
1600
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1601 cmap = [cmap; addedcmap];
20231
83792dd9bcc1 Use in-place operators in m-files where possible.
Rik <rik@octave.org>
parents: 20191
diff changeset
1602 cmap_sz += rows (addedcmap);
21810
1b5285c20e0e Create valid gnuplot commands even for single-entry colormaps (bug #48083).
Lachlan Andrew <lachlanbis@gmail.com>
parents: 20998
diff changeset
1603 if (cmap_sz == 1) # bug #48083, illegal one-element colormap
1b5285c20e0e Create valid gnuplot commands even for single-entry colormaps (bug #48083).
Lachlan Andrew <lachlanbis@gmail.com>
parents: 20998
diff changeset
1604 cmap = [cmap; cmap];
1b5285c20e0e Create valid gnuplot commands even for single-entry colormaps (bug #48083).
Lachlan Andrew <lachlanbis@gmail.com>
parents: 20998
diff changeset
1605 cmap_sz = 2;
1b5285c20e0e Create valid gnuplot commands even for single-entry colormaps (bug #48083).
Lachlan Andrew <lachlanbis@gmail.com>
parents: 20998
diff changeset
1606 endif
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
1607 if (length (cmap) > 0)
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1608 fprintf (plot_stream,
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1609 "set palette positive color model RGB maxcolors %i;\n",
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1610 cmap_sz);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1611 fprintf (plot_stream,
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1612 "set palette file \"-\" binary record=%d using 1:2:3:4;\n",
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1613 cmap_sz);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1614 fwrite (plot_stream, [1:cmap_sz; cmap.'], "float32");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1615 fwrite (plot_stream, "\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1616 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1617
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1618 fputs (plot_stream, "unset colorbox;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1619
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1620 if (have_data)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1621 if (nd == 2)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1622 plot_cmd = "plot";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1623 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1624 plot_cmd = "splot";
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1625 rot_x = 90 - axis_obj.view(2);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1626 rot_z = axis_obj.view(1);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1627 while (rot_z < 0)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1628 rot_z += 360;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1629 endwhile
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1630 fputs (plot_stream, "set ticslevel 0;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1631 if (view_map && rot_x == 0 && rot_z == 0)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1632 fputs (plot_stream, "set view map;\n");
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1633 else
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1634 fprintf (plot_stream, "set view %.15g, %.15g;\n", rot_x, rot_z);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1635 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1636 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1637 if (have_3d_patch (1))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1638 fputs (plot_stream, "set pm3d depthorder\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1639 fprintf (plot_stream, "%s \"-\" %s %s %s \\\n", plot_cmd,
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1640 usingclause{1}, titlespec{1}, withclause{1});
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1641 elseif (is_image_data (1))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1642 if (numel (is_image_data) > 1 && is_image_data(2))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1643 ## Remove terminating semicolon
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1644 n = max (strfind (withclause{1}, ";"));
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1645 if (! isempty (n))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1646 withclause{1} = withclause{1}(1:n-1);
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1647 endif
6977
e78e31f0a236 [project @ 2007-10-08 19:09:32 by jwe]
jwe
parents: 6963
diff changeset
1648 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1649 fprintf (plot_stream, "%s \"-\" %s %s %s \\\n", plot_cmd,
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1650 usingclause{1}, titlespec{1}, withclause{1});
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1651 else
18985
f84361735a40 maint: Use Octave coding conventions for some recent patches.
Rik <rik@octave.org>
parents: 18982
diff changeset
1652 fprintf (plot_stream, "%s \"-\" binary format='%%float64' %s %s %s \\\n",
f84361735a40 maint: Use Octave coding conventions for some recent patches.
Rik <rik@octave.org>
parents: 18982
diff changeset
1653 plot_cmd, usingclause{1}, titlespec{1}, withclause{1});
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
1654 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1655 for i = 2:data_idx
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1656 if (have_3d_patch (i))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1657 fprintf (plot_stream, ", \"-\" %s %s %s \\\n",
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1658 usingclause{i}, titlespec{i}, withclause{i});
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1659 elseif (is_image_data (i))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1660 if (! is_image_data (i-1))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1661 fputs (plot_stream, "; ");
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11549
diff changeset
1662 if (bg_is_set)
10528
6a2e4e464d38 Unset figure color in __go_draw_axes__ (partial fix for bug #29060)
David Bateman <dbateman@free.fr>
parents: 10451
diff changeset
1663 fputs (plot_stream, "unset obj 1; \\\n");
11204
d2f3a904ac6b Unset the foreground color for the gnuplot backend earlier (fixes #31533)
David Bateman <dbateman@free.fr>
parents: 11201
diff changeset
1664 bg_is_set = false;
d2f3a904ac6b Unset the foreground color for the gnuplot backend earlier (fixes #31533)
David Bateman <dbateman@free.fr>
parents: 11201
diff changeset
1665 endif
d2f3a904ac6b Unset the foreground color for the gnuplot backend earlier (fixes #31533)
David Bateman <dbateman@free.fr>
parents: 11201
diff changeset
1666 if (fg_is_set)
d2f3a904ac6b Unset the foreground color for the gnuplot backend earlier (fixes #31533)
David Bateman <dbateman@free.fr>
parents: 11201
diff changeset
1667 fputs (plot_stream, "unset obj 2; \\\n");
d2f3a904ac6b Unset the foreground color for the gnuplot backend earlier (fixes #31533)
David Bateman <dbateman@free.fr>
parents: 11201
diff changeset
1668 fg_is_set = false;
d2f3a904ac6b Unset the foreground color for the gnuplot backend earlier (fixes #31533)
David Bateman <dbateman@free.fr>
parents: 11201
diff changeset
1669 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1670 if (numel (is_image_data) > i && is_image_data(i+1))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1671 ## Remove terminating semicolon
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1672 n = max (strfind (withclause{i}, ";"));
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1673 if (! isempty (n))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1674 withclause{i} = withclause{i}(1:n-1);
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1675 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1676 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1677 fprintf (plot_stream, "%s \"-\" %s %s %s \\\n", plot_cmd,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1678 usingclause{i}, titlespec{i}, withclause{i});
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1679 else
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1680 ## For consecutive images continue with the same plot command
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1681 fprintf (plot_stream, "%s \"-\" %s %s %s \\\n", ",",
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1682 usingclause{i}, titlespec{i}, withclause{i});
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1683 endif
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1684 elseif (is_image_data (i-1))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1685 if (bg_is_set)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1686 fputs (plot_stream, "unset obj 1; \\\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1687 bg_is_set = false;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1688 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1689 if (fg_is_set)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1690 fputs (plot_stream, "unset obj 2; \\\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1691 fg_is_set = false;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1692 endif
18985
f84361735a40 maint: Use Octave coding conventions for some recent patches.
Rik <rik@octave.org>
parents: 18982
diff changeset
1693 fprintf (plot_stream,"%s \"-\" binary format='%%float64' %s %s %s \\\n",
f84361735a40 maint: Use Octave coding conventions for some recent patches.
Rik <rik@octave.org>
parents: 18982
diff changeset
1694 plot_cmd, usingclause{i}, titlespec{i}, withclause{i});
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1695 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1696 fprintf (plot_stream, ", \"-\" binary format='%%float64' %s %s %s \\\n",
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1697 usingclause{i}, titlespec{i}, withclause{i});
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1698 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1699 endfor
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1700 fputs (plot_stream, ";\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1701 for i = 1:data_idx
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1702 if (have_3d_patch (i))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1703 ## Can't write 3d patch data as binary as can't plot more than
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1704 ## a single patch at a time and have to plot all patches together
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1705 ## so that the gnuplot depth ordering is done correctly
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1706 for j = 1 : 4 : columns (data{i})
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1707 if (j != 1)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1708 fputs (plot_stream, "\n\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1709 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1710 fprintf (plot_stream, "%.15g %.15g %.15g %.15g\n", data{i}(:,j).');
20972
33793796aa6e Coding improvements to __gnuplot_draw_axes__ (part of Bug # 44187).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 20959
diff changeset
1711 fprintf (plot_stream, "%.15g %.15g %.15g %.15g\n\n", data{i}(:,j+1).');
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1712 fprintf (plot_stream, "%.15g %.15g %.15g %.15g\n", data{i}(:,j+2).');
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1713 fprintf (plot_stream, "%.15g %.15g %.15g %.15g\n", data{i}(:,j+3).');
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1714 endfor
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1715 fputs (plot_stream, "e\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1716 elseif (is_image_data(i))
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1717 fwrite (plot_stream, data{i}, "float32");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1718 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1719 __gnuplot_write_data__ (plot_stream, data{i}, nd, parametric(i),
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1720 have_cdata(i));
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1721 endif
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1722 endfor
20972
33793796aa6e Coding improvements to __gnuplot_draw_axes__ (part of Bug # 44187).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 20959
diff changeset
1723 fputs (plot_stream, "\n");
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1724 else
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1725 fputs (plot_stream, "plot \"-\";\nInf Inf\ne\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1726 endif
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11549
diff changeset
1727
21796
6c8c18f49eed Remove gnuplot graphics view reset after plot for smooth rotation (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21789
diff changeset
1728 ## Needed to allow mouse rotation if gnuplot was put in map view.
6c8c18f49eed Remove gnuplot graphics view reset after plot for smooth rotation (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21789
diff changeset
1729 if (view_map && rot_x == 0 && rot_z == 0)
6c8c18f49eed Remove gnuplot graphics view reset after plot for smooth rotation (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21789
diff changeset
1730 fputs (plot_stream, "set view 0,0;\n");
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1731 endif
7271
c18512d0ddb6 [project @ 2007-12-10 06:52:51 by jwe]
jwe
parents: 7269
diff changeset
1732
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1733 if (bg_is_set)
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1734 fputs (plot_stream, "unset obj 1;\n");
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1735 bg_is_set = false;
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1736 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1737
17176
abf384f5d243 maint: Remove unneeded input validation from internal fcns in private/ directories.
Rik <rik@octave.org>
parents: 17174
diff changeset
1738 fflush (plot_stream);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1739
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1740 endfunction
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1741
13143
bda7b080f205 gnuplot support for log plots with only negative data. Bug #34232.
Ben Abbott <bpabbott@mac.com>
parents: 12965
diff changeset
1742 function x = flip (x)
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
1743
14872
c2dbdeaa25df maint: use rows() and columns() to clarify m-files.
Rik <octave@nomad.inbox5.com>
parents: 14868
diff changeset
1744 if (rows (x) == 1)
13143
bda7b080f205 gnuplot support for log plots with only negative data. Bug #34232.
Ben Abbott <bpabbott@mac.com>
parents: 12965
diff changeset
1745 x = fliplr (x);
14872
c2dbdeaa25df maint: use rows() and columns() to clarify m-files.
Rik <octave@nomad.inbox5.com>
parents: 14868
diff changeset
1746 elseif (columns (x) == 1 || ischar (x))
13755
8cd08124cb59 Fix sloppy code and bugs introduced by changeset bda7b080f205.
Ben Abbott <bpabbott@mac.com>
parents: 13710
diff changeset
1747 x = flipud (x);
13143
bda7b080f205 gnuplot support for log plots with only negative data. Bug #34232.
Ben Abbott <bpabbott@mac.com>
parents: 12965
diff changeset
1748 else
bda7b080f205 gnuplot support for log plots with only negative data. Bug #34232.
Ben Abbott <bpabbott@mac.com>
parents: 12965
diff changeset
1749 x = flipud (fliplr (x));
bda7b080f205 gnuplot support for log plots with only negative data. Bug #34232.
Ben Abbott <bpabbott@mac.com>
parents: 12965
diff changeset
1750 endif
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
1751
13143
bda7b080f205 gnuplot support for log plots with only negative data. Bug #34232.
Ben Abbott <bpabbott@mac.com>
parents: 12965
diff changeset
1752 endfunction
bda7b080f205 gnuplot support for log plots with only negative data. Bug #34232.
Ben Abbott <bpabbott@mac.com>
parents: 12965
diff changeset
1753
18985
f84361735a40 maint: Use Octave coding conventions for some recent patches.
Rik <rik@octave.org>
parents: 18982
diff changeset
1754 function spacing_spec = create_spacingspec (f, s, gp_term)
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
1755 ## The gnuplot default font size is 10, and default spacing is 1.25.
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
1756 ## gnuplot has a concept of a figure global font, and sizes everything
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
1757 ## appropriate to that, including the legend spacing.
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
1758 ##
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
1759 ## This means that if an alternative size is used, gnuplot will use an
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
1760 ## inappropriate spacing in the legend by default.
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
1761 ##
19725
5f2c0ca0ef51 Ensure that numbers passed to integer *printf format codes are integers (bug #44245).
Rik <rik@octave.org>
parents: 19697
diff changeset
1762 ## FIXME: Are fractional spacing specifications allowed? Or should this
5f2c0ca0ef51 Ensure that numbers passed to integer *printf format codes are integers (bug #44245).
Rik <rik@octave.org>
parents: 19697
diff changeset
1763 ## number be rounded?
18982
04dc55bf71e8 adjust spacing in gnuplot legend when non default font size is used.
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18857
diff changeset
1764 spc = s / 10 * 1.25;
04dc55bf71e8 adjust spacing in gnuplot legend when non default font size is used.
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18857
diff changeset
1765 spacing_spec = sprintf ("spacing %d", spc);
04dc55bf71e8 adjust spacing in gnuplot legend when non default font size is used.
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18857
diff changeset
1766
04dc55bf71e8 adjust spacing in gnuplot legend when non default font size is used.
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18857
diff changeset
1767 endfunction
04dc55bf71e8 adjust spacing in gnuplot legend when non default font size is used.
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18857
diff changeset
1768
9257
ab952265ad06 __go_draw_axes__.m: Properly render TeX symbols for x11.
Ben Abbott <bpabbott@mac.com>
parents: 9191
diff changeset
1769 function fontspec = create_fontspec (f, s, gp_term)
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
1770
20972
33793796aa6e Coding improvements to __gnuplot_draw_axes__ (part of Bug # 44187).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 20959
diff changeset
1771 if (isempty (f) || 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
1772 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
1773 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
1774 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
1775 endif
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
1776
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
1777 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
1778
21366
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1779 function idx = do_border_2d (obj, plot_stream, idx)
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
1780
21366
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1781 fprintf (plot_stream, "set border 0\n");
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1782
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1783 if (strcmp (obj.box, "on") || strcmp (obj.xaxislocation, "bottom"))
21842
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1784 arrow (1, obj.xcolor, obj.linewidth, [0,0,0], [1,0,0]);
21366
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1785 endif
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1786 if (strcmp (obj.box, "on") || strcmp (obj.xaxislocation, "top"))
21842
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1787 arrow (2, obj.xcolor, obj.linewidth, [0,1,0], [1,1,0]);
21366
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1788 endif
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1789 if (strcmp (obj.box, "on") || strcmp (obj.yaxislocation, "left"))
21842
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1790 arrow (3, obj.ycolor, obj.linewidth, [0,0,0], [0,1,0]);
21366
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1791 endif
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1792 if (strcmp (obj.box, "on") || strcmp (obj.yaxislocation, "right"))
21842
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1793 arrow (4, obj.ycolor, obj.linewidth, [1,0,0], [1,1,0]);
21366
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1794 endif
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1795
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1796 if (strcmp (obj.xaxislocation, "zero"))
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1797 idx = zeroaxis (idx, obj.xcolor, "x");
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1798 endif
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1799 if (strcmp (obj.yaxislocation, "zero"))
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1800 idx = zeroaxis (idx, obj.ycolor, "y");
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1801 endif
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1802
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1803 function idx = zeroaxis (idx, lc, ax)
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1804 idx = idx + 1;
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1805 do_linestyle_command (obj, lc, idx, false, plot_stream);
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1806 fprintf (plot_stream, "set %szeroaxis ls %d ", ax, idx);
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1807 fprintf (plot_stream, "lw %.3f\n", obj.linewidth);
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1808 endfunction
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1809
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1810 function arrow (idx, lc, lw, from, to)
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1811 fprintf (plot_stream, "set arrow %d ", idx);
21370
df5922f77193 Remove unecessary "dashtype" syntax when drawing colored gnuplot axes.
Ben Abbott <bpabbott@mac.com>
parents: 21368
diff changeset
1812 fprintf (plot_stream, "nohead nofilled front ");
21366
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1813 fprintf (plot_stream, "lc rgb ""#%02x%02x%02x"" ", round (255 * lc));
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1814 fprintf (plot_stream, "linewidth %.3f ", obj.linewidth);
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1815 fprintf (plot_stream, "from graph %d,%d,%d ", from);
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1816 fprintf (plot_stream, "to graph %d,%d,%d\n", to);
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1817 endfunction
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
1818
21366
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1819 endfunction
ad07ed235053 Apply {x|y}color to 2D axes when using gnuplot (bug #42947).
Ben Abbott <bpabbott@mac.com>
parents: 21365
diff changeset
1820
21842
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1821 function idx = do_border_tick_3d (obj, plot_stream, idx)
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1822
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1823 ## axis location has no effect
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1824
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1825 if (strcmp (obj.box, "on"))
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1826 fputs (plot_stream, "set border 0xFFF;\n");
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1827 mirrorstr = "mirror";
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1828 else
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1829 fputs (plot_stream, "set border 0x15;\n");
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1830 mirrorstr = "nomirror";
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1831 endif
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1832
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1833 tick ('x', obj.xcolor, obj.tickdir, mirrorstr);
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1834 tick ('y', obj.ycolor, obj.tickdir, mirrorstr);
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1835 tick ('z', obj.zcolor, obj.tickdir, mirrorstr);
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1836
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1837 function tick (axischar, color, tickdir, mirrorstr);
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1838 if (isnumeric (color))
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1839 if (length (color) == 3)
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1840 colorspec = sprintf ("rgb \"#%02x%02x%02x\"", round (255*color));
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1841 else
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1842 colorspec = sprintf ("palatte %d", round (color));
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1843 endif
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1844 else
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1845 colorspec = sprintf ("\"%s\"", color);
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1846 endif
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1847 fprintf (plot_stream, "set %ctics %s %s textcolor %s\n",
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1848 axischar, tickdir, mirrorstr, colorspec);
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1849 endfunction
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1850
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1851 endfunction
7da4671f3a5b Correct gnuplot toolkit 3D box 'on'/'off' control (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21832
diff changeset
1852
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1853 function [style, ltidx] = do_linestyle_command (obj, linecolor, idx,
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1854 plot_stream, errbars = "")
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1855 idx = idx + 8;
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1856 style = {};
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1857 ltidx = [];
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1858
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1859 if (__gnuplot_has_feature__ ("linetype"))
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1860 scommand = "linetype";
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1861 else
21809
b2f1f4cf1389 Correct linestyle property in toolkit for old versions of gnuplot (bug #48033)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21808
diff changeset
1862 scommand = "style line";
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1863 endif
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1864 fprintf (plot_stream, "set %s %d default;\n", scommand, idx);
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1865 fprintf (plot_stream, "set %s %d", scommand, idx);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1866
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1867 found_style = false;
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1868 if (isnumeric (linecolor))
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1869 color = linecolor;
22048
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1870 if (isfield (obj, "alpha"))
22057
6f10765eca35 Use correct interpretation of alpha variable for gridlnes in gnuplot (bug #48401).
Rik <rik@octave.org>
parents: 22055
diff changeset
1871 alphastr = sprintf ("%02x", round (255*(1-obj.alpha)));
22048
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1872 else
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1873 alphastr = "";
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1874 endif
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1875 fprintf (plot_stream, " linecolor rgb \"#%s%02x%02x%02x\"",
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
1876 alphastr, round (255*color));
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1877 else
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1878 color = [0, 0, 0];
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1879 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1880
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1881 lt = gnuplot_linetype (obj);
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1882 if (! isempty (lt))
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1883 fprintf (plot_stream, " %s", lt);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1884 endif
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1885 if (! isempty (errbars))
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1886 found_style = true;
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1887 endif
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1888
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1889 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
1890 fprintf (plot_stream, " linewidth %f", obj.linewidth);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1891 found_style = true;
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1892 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1893
10933
e78e531dfa2d Improve matlab compatibility with '.' marker
David Bateman <dbateman@free.fr>
parents: 10931
diff changeset
1894 [pt, pt2, obj] = gnuplot_pointtype (obj);
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
1895
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1896 if (! isempty (pt))
6465
5fb50197b69a [project @ 2007-03-27 14:29:46 by jwe]
jwe
parents: 6464
diff changeset
1897 found_style = true;
5fb50197b69a [project @ 2007-03-27 14:29:46 by jwe]
jwe
parents: 6464
diff changeset
1898 endif
5fb50197b69a [project @ 2007-03-27 14:29:46 by jwe]
jwe
parents: 6464
diff changeset
1899
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1900 sidx = 1;
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1901 if (isempty (errbars))
21853
09583900661b Don't draw connecting line between symbols when not specified (bug #48198).
Rik <rik@octave.org>
parents: 21844
diff changeset
1902 if (isempty (lt))
09583900661b Don't draw connecting line between symbols when not specified (bug #48198).
Rik <rik@octave.org>
parents: 21844
diff changeset
1903 style{sidx} = "";
09583900661b Don't draw connecting line between symbols when not specified (bug #48198).
Rik <rik@octave.org>
parents: 21844
diff changeset
1904 else
09583900661b Don't draw connecting line between symbols when not specified (bug #48198).
Rik <rik@octave.org>
parents: 21844
diff changeset
1905 style{sidx} = "lines";
09583900661b Don't draw connecting line between symbols when not specified (bug #48198).
Rik <rik@octave.org>
parents: 21844
diff changeset
1906 endif
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1907 ltidx(sidx) = idx;
11095
d4619eb6ef8e __go_draw_axes__.m: Enable linetypes for gnuplot.
Ben Abbott <bpabbott@mac.com>
parents: 11090
diff changeset
1908
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1909 facesame = true;
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11549
diff changeset
1910 if (! isequal (pt, pt2) && isfield (obj, "markerfacecolor")
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
1911 && ! strcmp (obj.markerfacecolor, "none"))
17405
3f0ed69d21c6 Replace unnecessary instances of strncmp with strcmp.
Rik <rik@octave.org>
parents: 17338
diff changeset
1912 if (strcmp (obj.markerfacecolor, "auto")
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11549
diff changeset
1913 || ! isnumeric (obj.markerfacecolor)
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11549
diff changeset
1914 || (isnumeric (obj.markerfacecolor)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1915 && isequal (color, obj.markerfacecolor)))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1916 if (! isempty (pt2))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1917 fprintf (plot_stream, " pointtype %s", pt2);
20778
8513c84a13cb Use parser string concatenation rather than strcat() for performance in m-files.
Rik <rik@octave.org>
parents: 20735
diff changeset
1918 style{sidx} = [style{sidx} "points"];
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1919 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1920 if (isfield (obj, "markersize"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1921 fprintf (plot_stream, " pointsize %f", obj.markersize / 3);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1922 endif
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1923 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1924 facesame = false;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1925 if (! found_style)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1926 fputs (plot_stream, " default");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1927 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1928 fputs (plot_stream, ";\n");
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
1929 if (! isempty (style{sidx}))
20735
418ae0cb752f Replace ++,-- with in-place operators for performance.
Rik <rik@octave.org>
parents: 20714
diff changeset
1930 sidx += 1;
418ae0cb752f Replace ++,-- with in-place operators for performance.
Rik <rik@octave.org>
parents: 20714
diff changeset
1931 idx += 1;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1932 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1933 fputs (plot_stream, ";\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1934 endif
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1935 fprintf (plot_stream, "set %s %d default;\n", scommand, idx);
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1936 fprintf (plot_stream, "set %s %d", scommand, idx);
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
1937 if (isnumeric (obj.markerfacecolor))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1938 fprintf (plot_stream, " linecolor rgb \"#%02x%02x%02x\"",
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1939 round (255*obj.markerfacecolor));
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1940 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1941 if (! isempty (pt2))
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
1942 style{sidx} = "points";
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1943 ltidx(sidx) = idx;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1944 fprintf (plot_stream, " pointtype %s", pt2);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1945 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1946 if (isfield (obj, "markersize"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1947 fprintf (plot_stream, " pointsize %f", obj.markersize / 3);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1948 endif
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1949 endif
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1950 endif
22040
79e7a6fc524d Add control of grid lines for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21957
diff changeset
1951 if (! isempty(pt) && isfield (obj, "markeredgecolor")
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
1952 && ! strcmp (obj.markeredgecolor, "none"))
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
1953 if (facesame && ! isempty (pt)
17405
3f0ed69d21c6 Replace unnecessary instances of strncmp with strcmp.
Rik <rik@octave.org>
parents: 17338
diff changeset
1954 && (strcmp (obj.markeredgecolor, "auto")
11587
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11549
diff changeset
1955 || ! isnumeric (obj.markeredgecolor)
c792872f8942 all script files: untabify and strip trailing whitespace
John W. Eaton <jwe@octave.org>
parents: 11549
diff changeset
1956 || (isnumeric (obj.markeredgecolor)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1957 && isequal (color, obj.markeredgecolor))))
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
1958 if (sidx == 1 && ((length (style{sidx}) == 5
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
1959 && strncmp (style{sidx}, "lines", 5)) || isempty (style{sidx})))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1960 if (! isempty (pt))
20778
8513c84a13cb Use parser string concatenation rather than strcat() for performance in m-files.
Rik <rik@octave.org>
parents: 20735
diff changeset
1961 style{sidx} = [style{sidx} "points"];
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1962 fprintf (plot_stream, " pointtype %s", pt);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1963 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1964 if (isfield (obj, "markersize"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1965 fprintf (plot_stream, " pointsize %f", obj.markersize / 3);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1966 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1967 endif
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1968 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1969 if (! found_style)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1970 fputs (plot_stream, " default");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1971 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1972 fputs (plot_stream, ";\n");
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
1973 if (! isempty (style{sidx}))
20735
418ae0cb752f Replace ++,-- with in-place operators for performance.
Rik <rik@octave.org>
parents: 20714
diff changeset
1974 sidx += 1;
418ae0cb752f Replace ++,-- with in-place operators for performance.
Rik <rik@octave.org>
parents: 20714
diff changeset
1975 idx += 1;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1976 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1977 fputs (plot_stream, ";\n");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1978 endif
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1979 fprintf (plot_stream, "set %s %d default;\n", scommand, idx);
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1980 fprintf (plot_stream, "set %s %d", scommand, idx);
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
1981 if (strcmp (obj.markeredgecolor, "auto"))
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
1982 fprintf (plot_stream, " linecolor rgb \"#%02x%02x%02x\"",
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
1983 round (255*color));
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
1984 elseif (isnumeric (obj.markeredgecolor))
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
1985 fprintf (plot_stream, " linecolor rgb \"#%02x%02x%02x\"",
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
1986 round (255*obj.markeredgecolor));
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1987 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1988 if (! isempty (pt))
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
1989 style{sidx} = "points";
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
1990 ltidx(sidx) = idx;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1991 fprintf (plot_stream, " pointtype %s", pt);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1992 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1993 if (isfield (obj, "markersize"))
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1994 fprintf (plot_stream, " pointsize %f", obj.markersize / 3);
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
1995 endif
9729
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1996 endif
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1997 endif
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1998 else
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
1999 style{1} = errbars;
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2000 ltidx(1) = idx;
10582
9676d0255440 Use "." for marker when plotting with errorbars. (bug #29057)
Rik <octave@nomad.inbox5.com>
parents: 10563
diff changeset
2001 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
2002 endif
3b7e644bb46d Treat markerfacecolor and markeredgecolor properties for lines and surfaces
David Bateman <dbateman@free.fr>
parents: 9472
diff changeset
2003
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
2004 if (! found_style && isempty (style{1}))
6405
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
2005 fputs (plot_stream, " default");
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
2006 endif
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
2007
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
2008 fputs (plot_stream, ";\n");
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
2009
b298a4c12fc3 [project @ 2007-03-14 16:51:28 by jwe]
jwe
parents:
diff changeset
2010 endfunction
6510
cbae86745c5b [project @ 2007-04-09 23:15:47 by jwe]
jwe
parents: 6465
diff changeset
2011
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2012 function [lt] = gnuplot_linetype (obj)
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
2013
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2014 if (isfield (obj, "linestyle"))
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2015 if (__gnuplot_has_feature__ ("dashtype"))
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2016 opt = "dashtype";
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2017 switch (obj.linestyle)
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2018 case "-"
21426
0ad3fe00d6f9 Consistent linestyles for gnuplot terminals (Bug # 46886).
Ben Abbott <bpabbott@mac.com>
parents: 21373
diff changeset
2019 lt = "solid";
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2020 case "--"
21426
0ad3fe00d6f9 Consistent linestyles for gnuplot terminals (Bug # 46886).
Ben Abbott <bpabbott@mac.com>
parents: 21373
diff changeset
2021 lt = "'_ '";
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2022 case ":"
21426
0ad3fe00d6f9 Consistent linestyles for gnuplot terminals (Bug # 46886).
Ben Abbott <bpabbott@mac.com>
parents: 21373
diff changeset
2023 lt = "'. '";
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2024 case "-."
21426
0ad3fe00d6f9 Consistent linestyles for gnuplot terminals (Bug # 46886).
Ben Abbott <bpabbott@mac.com>
parents: 21373
diff changeset
2025 lt = "'-. '";
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2026 case "none"
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2027 lt = "";
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2028 otherwise
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2029 lt = "";
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2030 endswitch
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2031 elseif (__gnuplot_has_feature__ ("linetype"))
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2032 opt = "linetype";
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2033 switch (obj.linestyle)
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2034 case "-"
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2035 lt = "1";
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2036 case "--"
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2037 lt = "2";
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2038 case ":"
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2039 lt = "3";
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2040 case "-."
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2041 lt = "6";
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2042 case "none"
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2043 lt = "";
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2044 otherwise
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2045 lt = "";
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2046 endswitch
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2047 else
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2048 lt = "";
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2049 endif
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2050 if (! isempty (lt))
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2051 lt = sprintf ("%s %s", opt, lt);
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2052 endif
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2053 else
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2054 lt = "";
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2055 endif
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
2056
21373
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2057 endfunction
21c3641422e0 Fix gnuplot toolkit face/edgecolor and linestyle/width for surf() (bug #34523)
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21370
diff changeset
2058
10933
e78e531dfa2d Improve matlab compatibility with '.' marker
David Bateman <dbateman@free.fr>
parents: 10931
diff changeset
2059 function [pt, pt2, obj] = gnuplot_pointtype (obj)
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
2060
10925
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2061 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
2062 switch (obj.marker)
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2063 case "+"
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2064 pt = pt2 = "1";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2065 case "o"
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2066 pt = "6";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2067 pt2 = "7";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2068 case "*"
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2069 pt = pt2 = "3";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2070 case "."
21957
6be06f0c7463 gnuplot graphics: Fix MarkerFaceColor invalid and MarkerEdgeColor 'none' bugs (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21853
diff changeset
2071 pt = pt2 = "7";
10933
e78e531dfa2d Improve matlab compatibility with '.' marker
David Bateman <dbateman@free.fr>
parents: 10931
diff changeset
2072 if (isfield (obj, "markersize"))
e78e531dfa2d Improve matlab compatibility with '.' marker
David Bateman <dbateman@free.fr>
parents: 10931
diff changeset
2073 obj.markersize /= 3;
e78e531dfa2d Improve matlab compatibility with '.' marker
David Bateman <dbateman@free.fr>
parents: 10931
diff changeset
2074 else
e78e531dfa2d Improve matlab compatibility with '.' marker
David Bateman <dbateman@free.fr>
parents: 10931
diff changeset
2075 obj.markersize = 5;
e78e531dfa2d Improve matlab compatibility with '.' marker
David Bateman <dbateman@free.fr>
parents: 10931
diff changeset
2076 endif
10925
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2077 case "x"
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2078 pt = pt2 = "2";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2079 case {"square", "s"}
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2080 pt = "4";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2081 pt2 = "5";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2082 case {"diamond", "d"}
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2083 pt = "12";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2084 pt2 = "13";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2085 case "^"
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2086 pt = "8";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2087 pt2 = "9";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2088 case "v"
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2089 pt = "10";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2090 pt2 = "11";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2091 case ">"
18857
7bbe3658c5ef maint: Use "FIXME:" coding convention in m-files.
Rik <rik@octave.org>
parents: 18829
diff changeset
2092 ## FIXME: Should be triangle pointing right, use triangle pointing up
10925
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2093 pt = "8";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2094 pt2 = "9";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2095 case "<"
18857
7bbe3658c5ef maint: Use "FIXME:" coding convention in m-files.
Rik <rik@octave.org>
parents: 18829
diff changeset
2096 ## FIXME: Should be triangle pointing left, use triangle pointing down
10925
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2097 pt = "10";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2098 pt2 = "11";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2099 case {"pentagram", "p"}
18857
7bbe3658c5ef maint: Use "FIXME:" coding convention in m-files.
Rik <rik@octave.org>
parents: 18829
diff changeset
2100 ## FIXME: Should be pentagram, using pentagon
10925
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2101 pt = "14";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2102 pt2 = "15";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2103 case {"hexagram", "h"}
18857
7bbe3658c5ef maint: Use "FIXME:" coding convention in m-files.
Rik <rik@octave.org>
parents: 18829
diff changeset
2104 ## FIXME: Should be 6 pt start, using "*" instead
10925
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2105 pt = pt2 = "3";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2106 case "none"
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2107 pt = pt2 = "";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2108 otherwise
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2109 pt = pt2 = "";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2110 endswitch
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2111 else
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2112 pt = pt2 = "";
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2113 endif
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
2114
10925
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2115 endfunction
2f9de135e7f9 __go_draw_axes__.m: Use gnuplot's pentagon for marker == 'p'.
Ben Abbott <bpabbott@mac.com>
parents: 10920
diff changeset
2116
7119
d22ad51b9cf8 [project @ 2007-11-07 21:06:27 by jwe]
jwe
parents: 7115
diff changeset
2117 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
2118 ## DATA is already transposed.
cbae86745c5b [project @ 2007-04-09 23:15:47 by jwe]
jwe
parents: 6465
diff changeset
2119
6605
376b71574728 [project @ 2007-05-02 16:15:28 by jwe]
jwe
parents: 6579
diff changeset
2120 ## 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
2121 ## "NA" and that confuses gnuplot.
20972
33793796aa6e Coding improvements to __gnuplot_draw_axes__ (part of Bug # 44187).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 20959
diff changeset
2122 data(isna (data)) = NaN;
6605
376b71574728 [project @ 2007-05-02 16:15:28 by jwe]
jwe
parents: 6579
diff changeset
2123
6510
cbae86745c5b [project @ 2007-04-09 23:15:47 by jwe]
jwe
parents: 6465
diff changeset
2124 if (nd == 2)
8217
f74cb5e3a6c1 send binary data to gnuplot
Daniel J. Sebald <daniel.sebald@ieee.org>
parents: 8216
diff changeset
2125 fwrite (plot_stream, data, "float64");
7109
5436efbf35e3 [project @ 2007-11-06 22:16:25 by jwe]
jwe
parents: 7094
diff changeset
2126 elseif (nd == 3)
6510
cbae86745c5b [project @ 2007-04-09 23:15:47 by jwe]
jwe
parents: 6465
diff changeset
2127 if (parametric)
8217
f74cb5e3a6c1 send binary data to gnuplot
Daniel J. Sebald <daniel.sebald@ieee.org>
parents: 8216
diff changeset
2128 fwrite (plot_stream, data, "float64");
6510
cbae86745c5b [project @ 2007-04-09 23:15:47 by jwe]
jwe
parents: 6465
diff changeset
2129 else
7170
9f38c6293317 [project @ 2007-11-13 17:34:33 by jwe]
jwe
parents: 7168
diff changeset
2130 nr = rows (data);
7119
d22ad51b9cf8 [project @ 2007-11-07 21:06:27 by jwe]
jwe
parents: 7115
diff changeset
2131 if (cdata)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2132 for j = 1:4:nr
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2133 fwrite (plot_stream, data(j:j+3,:), "float64");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2134 endfor
7119
d22ad51b9cf8 [project @ 2007-11-07 21:06:27 by jwe]
jwe
parents: 7115
diff changeset
2135 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2136 for j = 1:3:nr
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2137 fwrite (plot_stream, data(j:j+2,:), "float64");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2138 endfor
7119
d22ad51b9cf8 [project @ 2007-11-07 21:06:27 by jwe]
jwe
parents: 7115
diff changeset
2139 endif
7109
5436efbf35e3 [project @ 2007-11-06 22:16:25 by jwe]
jwe
parents: 7094
diff changeset
2140 endif
6510
cbae86745c5b [project @ 2007-04-09 23:15:47 by jwe]
jwe
parents: 6465
diff changeset
2141 endif
cbae86745c5b [project @ 2007-04-09 23:15:47 by jwe]
jwe
parents: 6465
diff changeset
2142
cbae86745c5b [project @ 2007-04-09 23:15:47 by jwe]
jwe
parents: 6465
diff changeset
2143 endfunction
6745
ca6668e47518 [project @ 2007-06-19 06:00:08 by jwe]
jwe
parents: 6738
diff changeset
2144
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
2145 function do_tics (obj, plot_stream, ymirror, gnuplot_term)
8222
11badf6c9e9f __go_draw_axes__.m: Support axes interpreter poperty for tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 8220
diff changeset
2146
8518
c2c018d7c501 __go_draw_axes__.m: __go_draw_axes__.m: Support non-cell ticklabels.
Ben Abbott <bpabbott@mac.com>
parents: 8510
diff changeset
2147 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
2148 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
2149 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
2150
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
2151 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
2152 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
2153 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
2154 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
2155 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
2156 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
2157 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
2158 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
2159 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
2160
8220
4e05ba66ead2 x/y/z-ticklabels respect axis font properties.
Ben Abbott <bpabbott@mac.com>
parents: 8218
diff changeset
2161 [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
2162 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
2163
8740
cb0ea772a4af Initialize axes ticklength property.
Ben Abbott <bpabbott@mac.com>
parents: 8665
diff changeset
2164 ## 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
2165 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
2166
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
2167 if (strcmp (obj.xaxislocation, "top"))
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
2168 do_tics_1 (obj.xtickmode, obj.xtick, obj.xminortick, obj.xticklabelmode,
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
2169 obj.xticklabel, obj.xcolor, "x2", plot_stream, true,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2170 "border", obj.tickdir, ticklength, fontname, fontspec,
20286
42b7d7758c4a Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 20282
diff changeset
2171 obj.ticklabelinterpreter, obj.xscale, obj.xsgn, gnuplot_term);
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
2172 do_tics_1 ("manual", [], "off", obj.xticklabelmode, obj.xticklabel,
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
2173 obj.xcolor, "x", plot_stream, true, "border",
20286
42b7d7758c4a Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 20282
diff changeset
2174 "", "", fontname, fontspec, obj.ticklabelinterpreter,
42b7d7758c4a Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 20282
diff changeset
2175 obj.xscale, obj.xsgn, gnuplot_term);
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
2176 elseif (strcmp (obj.xaxislocation, "zero"))
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
2177 do_tics_1 (obj.xtickmode, obj.xtick, obj.xminortick, obj.xticklabelmode,
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
2178 obj.xticklabel, obj.xcolor, "x", plot_stream, true,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2179 "axis", obj.tickdir, ticklength, fontname, fontspec,
20286
42b7d7758c4a Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 20282
diff changeset
2180 obj.ticklabelinterpreter, obj.xscale, obj.xsgn, gnuplot_term);
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
2181 do_tics_1 ("manual", [], "off", obj.xticklabelmode, obj.xticklabel,
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
2182 obj.xcolor, "x2", plot_stream, true, "axis",
20286
42b7d7758c4a Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 20282
diff changeset
2183 "", "", fontname, fontspec, obj.ticklabelinterpreter,
42b7d7758c4a Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 20282
diff changeset
2184 obj.xscale, obj.xsgn, gnuplot_term);
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
2185 else
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
2186 do_tics_1 (obj.xtickmode, obj.xtick, obj.xminortick, obj.xticklabelmode,
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
2187 obj.xticklabel, obj.xcolor, "x", plot_stream, true,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2188 "border", obj.tickdir, ticklength, fontname, fontspec,
20286
42b7d7758c4a Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 20282
diff changeset
2189 obj.ticklabelinterpreter, obj.xscale, obj.xsgn, gnuplot_term);
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
2190 do_tics_1 ("manual", [], "off", obj.xticklabelmode, obj.xticklabel,
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
2191 obj.xcolor, "x2", plot_stream, true, "border",
20286
42b7d7758c4a Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 20282
diff changeset
2192 "", "", fontname, fontspec, obj.ticklabelinterpreter,
42b7d7758c4a Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 20282
diff changeset
2193 obj.xscale, obj.xsgn, gnuplot_term);
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
2194 endif
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
2195 if (strcmp (obj.yaxislocation, "right"))
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
2196 do_tics_1 (obj.ytickmode, obj.ytick, obj.yminortick, obj.yticklabelmode,
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
2197 obj.yticklabel, obj.ycolor, "y2", plot_stream, ymirror,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2198 "border", obj.tickdir, ticklength, fontname, fontspec,
20286
42b7d7758c4a Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 20282
diff changeset
2199 obj.ticklabelinterpreter, obj.yscale, obj.ysgn, gnuplot_term);
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
2200 do_tics_1 ("manual", [], "off", obj.yticklabelmode, obj.yticklabel,
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
2201 obj.ycolor, "y", plot_stream, ymirror, "border",
20286
42b7d7758c4a Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 20282
diff changeset
2202 "", "", fontname, fontspec, obj.ticklabelinterpreter,
42b7d7758c4a Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 20282
diff changeset
2203 obj.yscale, obj.ysgn, gnuplot_term);
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
2204 elseif (strcmp (obj.yaxislocation, "zero"))
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
2205 do_tics_1 (obj.ytickmode, obj.ytick, obj.yminortick, obj.yticklabelmode,
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
2206 obj.yticklabel, obj.ycolor, "y", plot_stream, ymirror,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2207 "axis", obj.tickdir, ticklength, fontname, fontspec,
20286
42b7d7758c4a Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 20282
diff changeset
2208 obj.ticklabelinterpreter, obj.yscale, obj.ysgn, gnuplot_term);
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
2209 do_tics_1 ("manual", [], "off", obj.yticklabelmode, obj.yticklabel,
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
2210 obj.ycolor, "y2", plot_stream, ymirror, "axis",
20286
42b7d7758c4a Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 20282
diff changeset
2211 "", "", fontname, fontspec, obj.ticklabelinterpreter,
42b7d7758c4a Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 20282
diff changeset
2212 obj.yscale, obj.ysgn, gnuplot_term);
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
2213 else
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
2214 do_tics_1 (obj.ytickmode, obj.ytick, obj.yminortick, obj.yticklabelmode,
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
2215 obj.yticklabel, obj.ycolor, "y", plot_stream, ymirror,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2216 "border", obj.tickdir, ticklength, fontname, fontspec,
20286
42b7d7758c4a Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 20282
diff changeset
2217 obj.ticklabelinterpreter, obj.yscale, obj.ysgn, gnuplot_term);
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
2218 do_tics_1 ("manual", [], "off", obj.yticklabelmode, obj.yticklabel,
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
2219 obj.ycolor, "y2", plot_stream, ymirror, "border",
20286
42b7d7758c4a Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 20282
diff changeset
2220 "", "", fontname, fontspec, obj.ticklabelinterpreter,
42b7d7758c4a Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 20282
diff changeset
2221 obj.yscale, obj.ysgn, gnuplot_term);
6809
5e61f0bc0c27 [project @ 2007-08-10 18:41:33 by jwe]
jwe
parents: 6790
diff changeset
2222 endif
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
2223 do_tics_1 (obj.ztickmode, obj.ztick, obj.zminortick, obj.zticklabelmode,
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
2224 obj.zticklabel, obj.zcolor, "z", plot_stream, true,
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2225 "border", obj.tickdir, ticklength, fontname, fontspec,
20286
42b7d7758c4a Remove axes "interpreter" property (bug #45388)
Pantxo Diribarne <pantxo.diribarne@gmail.com>
parents: 20282
diff changeset
2226 obj.ticklabelinterpreter, obj.zscale, obj.zsgn, gnuplot_term);
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
2227
6745
ca6668e47518 [project @ 2007-06-19 06:00:08 by jwe]
jwe
parents: 6738
diff changeset
2228 endfunction
ca6668e47518 [project @ 2007-06-19 06:00:08 by jwe]
jwe
parents: 6738
diff changeset
2229
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
2230 function do_tics_1 (ticmode, tics, mtics, labelmode, labels, color, ax,
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
2231 plot_stream, mirror, axispos, tickdir, ticklength,
13209
9eff72139c05 Use "-10^{%T}" format for negative values in log scale plots.
Ben Abbott <bpabbott@mac.com>
parents: 13176
diff changeset
2232 fontname, fontspec, interpreter, scale, sgn, gnuplot_term)
8222
11badf6c9e9f __go_draw_axes__.m: Support axes interpreter poperty for tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 8220
diff changeset
2233 persistent warned_latex = false;
19417
cdb6bc186c42 Fix ploting 1D images with gnuplot (bug #43836).
Juan Pablo Carbajal <ajuanpi+dev@gmail.com>
parents: 19388
diff changeset
2234
19000
1ad621d894ba Fix set(gca, 'xtick', []) with gnuplot backend (bug #42936).
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18999
diff changeset
2235 ## Avoid emitting anything if the tics are empty, because this undoes the
1ad621d894ba Fix set(gca, 'xtick', []) with gnuplot backend (bug #42936).
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18999
diff changeset
2236 ## effect of the previous unset xtics and thereby adds back in the tics.
1ad621d894ba Fix set(gca, 'xtick', []) with gnuplot backend (bug #42936).
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18999
diff changeset
2237 if (isempty (tics))
1ad621d894ba Fix set(gca, 'xtick', []) with gnuplot backend (bug #42936).
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18999
diff changeset
2238 return;
1ad621d894ba Fix set(gca, 'xtick', []) with gnuplot backend (bug #42936).
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18999
diff changeset
2239 endif
1ad621d894ba Fix set(gca, 'xtick', []) with gnuplot backend (bug #42936).
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18999
diff changeset
2240
18826
9c2ff2361864 fix xticklabel with minor grid (bug #38139, bug #40256)
Stefan Mahr <dac922@gmx.de>
parents: 18741
diff changeset
2241 if (mirror)
9c2ff2361864 fix xticklabel with minor grid (bug #38139, bug #40256)
Stefan Mahr <dac922@gmx.de>
parents: 18741
diff changeset
2242 mirror = "mirror";
9c2ff2361864 fix xticklabel with minor grid (bug #38139, bug #40256)
Stefan Mahr <dac922@gmx.de>
parents: 18741
diff changeset
2243 else
9c2ff2361864 fix xticklabel with minor grid (bug #38139, bug #40256)
Stefan Mahr <dac922@gmx.de>
parents: 18741
diff changeset
2244 mirror = "nomirror";
9c2ff2361864 fix xticklabel with minor grid (bug #38139, bug #40256)
Stefan Mahr <dac922@gmx.de>
parents: 18741
diff changeset
2245 endif
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
2246 if (strcmp (interpreter, "tex"))
14868
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14840
diff changeset
2247 for n = 1 : numel (labels)
8222
11badf6c9e9f __go_draw_axes__.m: Support axes interpreter poperty for tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 8220
diff changeset
2248 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
2249 endfor
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
2250 elseif (strcmp (interpreter, "latex"))
8222
11badf6c9e9f __go_draw_axes__.m: Support axes interpreter poperty for tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 8220
diff changeset
2251 if (! warned_latex)
11badf6c9e9f __go_draw_axes__.m: Support axes interpreter poperty for tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 8220
diff changeset
2252 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
2253 warned_latex = true;
11badf6c9e9f __go_draw_axes__.m: Support axes interpreter poperty for tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 8220
diff changeset
2254 endif
11badf6c9e9f __go_draw_axes__.m: Support axes interpreter poperty for tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 8220
diff changeset
2255 endif
9302
5542c40e40ac __go_draw_axes__.m: Change strncmpi(scale,'lo') -> strcmp(scale,'log').
Ben Abbott <bpabbott@mac.com>
parents: 9301
diff changeset
2256 if (strcmp (scale, "log"))
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
2257 num_mtics = 10;
20959
3894a672799e Place ticklabels in LaTeX mathmode when using gnuplot terminal "eepic".
Ben Abbott <bpabbott@mac.com>
parents: 20958
diff changeset
2258 if (any (strcmp (gnuplot_term, {"cairolatex", "eepic", "epslatex", ...
3894a672799e Place ticklabels in LaTeX mathmode when using gnuplot terminal "eepic".
Ben Abbott <bpabbott@mac.com>
parents: 20958
diff changeset
2259 "latex", "pslatex", "pstex", "pstricks", "texdraw", "tikz"})))
13155
62e710cea7f1 Fix bug #33204. Use latex markeup for log tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 12677
diff changeset
2260 fmt = "$10^{%T}$";
62e710cea7f1 Fix bug #33204. Use latex markeup for log tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 12677
diff changeset
2261 else
62e710cea7f1 Fix bug #33204. Use latex markeup for log tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 12677
diff changeset
2262 fmt = "10^{%T}";
62e710cea7f1 Fix bug #33204. Use latex markeup for log tick labels.
Ben Abbott <bpabbott@mac.com>
parents: 12677
diff changeset
2263 endif
13209
9eff72139c05 Use "-10^{%T}" format for negative values in log scale plots.
Ben Abbott <bpabbott@mac.com>
parents: 13176
diff changeset
2264 if (sgn < 0)
20778
8513c84a13cb Use parser string concatenation rather than strcat() for performance in m-files.
Rik <rik@octave.org>
parents: 20735
diff changeset
2265 fmt = ["-" fmt];
13209
9eff72139c05 Use "-10^{%T}" format for negative values in log scale plots.
Ben Abbott <bpabbott@mac.com>
parents: 13176
diff changeset
2266 endif
9301
f2152fad3563 __go_draw_axes__.m: For log-scale axes use format '10^{%T}'.
Ben Abbott <bpabbott@mac.com>
parents: 9281
diff changeset
2267 else
f2152fad3563 __go_draw_axes__.m: For log-scale axes use format '10^{%T}'.
Ben Abbott <bpabbott@mac.com>
parents: 9281
diff changeset
2268 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
2269 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
2270 endif
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
2271 colorspec = get_text_colorspec (color);
18829
0dae39867b2b cleanup of tic and ticlabel code
Stefan Mahr <dac922@gmx.de>
parents: 18828
diff changeset
2272 fprintf (plot_stream, "set format %s \"%s\";\n", ax, fmt);
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
2273 if (strcmp (ticmode, "manual"))
6745
ca6668e47518 [project @ 2007-06-19 06:00:08 by jwe]
jwe
parents: 6738
diff changeset
2274 if (isempty (tics))
8322
f32a91d99156 Respect the minortick property of the axis objects
David Bateman <dbateman@free.fr>
parents: 8291
diff changeset
2275 fprintf (plot_stream, "unset %stics;\nunset m%stics;\n", ax, ax);
18826
9c2ff2361864 fix xticklabel with minor grid (bug #38139, bug #40256)
Stefan Mahr <dac922@gmx.de>
parents: 18741
diff changeset
2276 return
9c2ff2361864 fix xticklabel with minor grid (bug #38139, bug #40256)
Stefan Mahr <dac922@gmx.de>
parents: 18741
diff changeset
2277 endif
18829
0dae39867b2b cleanup of tic and ticlabel code
Stefan Mahr <dac922@gmx.de>
parents: 18828
diff changeset
2278 fprintf (plot_stream, "set %stics %s %s %s %s (", ax, tickdir,
0dae39867b2b cleanup of tic and ticlabel code
Stefan Mahr <dac922@gmx.de>
parents: 18828
diff changeset
2279 ticklength, axispos, mirror);
20889
a88142abca36 Remove spurious tick labels occuring when setting ticks and removing tick labels.
Edarag <edera@gmx.fr>
parents: 20852
diff changeset
2280 fprintf (plot_stream, " %.15g,", tics(1:end-1));
a88142abca36 Remove spurious tick labels occuring when setting ticks and removing tick labels.
Edarag <edera@gmx.fr>
parents: 20852
diff changeset
2281 fprintf (plot_stream, " %.15g) %s;\n", tics(end), fontspec);
6745
ca6668e47518 [project @ 2007-06-19 06:00:08 by jwe]
jwe
parents: 6738
diff changeset
2282 else
18826
9c2ff2361864 fix xticklabel with minor grid (bug #38139, bug #40256)
Stefan Mahr <dac922@gmx.de>
parents: 18741
diff changeset
2283 fprintf (plot_stream, "set %stics %s %s %s %s %s %s;\n", ax,
9c2ff2361864 fix xticklabel with minor grid (bug #38139, bug #40256)
Stefan Mahr <dac922@gmx.de>
parents: 18741
diff changeset
2284 tickdir, ticklength, axispos, mirror, colorspec, fontspec);
9c2ff2361864 fix xticklabel with minor grid (bug #38139, bug #40256)
Stefan Mahr <dac922@gmx.de>
parents: 18741
diff changeset
2285 endif
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
2286 if (strcmp (labelmode, "manual"))
18829
0dae39867b2b cleanup of tic and ticlabel code
Stefan Mahr <dac922@gmx.de>
parents: 18828
diff changeset
2287 k = 1;
0dae39867b2b cleanup of tic and ticlabel code
Stefan Mahr <dac922@gmx.de>
parents: 18828
diff changeset
2288 ntics = numel (tics);
0dae39867b2b cleanup of tic and ticlabel code
Stefan Mahr <dac922@gmx.de>
parents: 18828
diff changeset
2289 nlabels = numel (labels);
0dae39867b2b cleanup of tic and ticlabel code
Stefan Mahr <dac922@gmx.de>
parents: 18828
diff changeset
2290 fprintf (plot_stream, "set %stics add %s %s %s %s (", ax,
0dae39867b2b cleanup of tic and ticlabel code
Stefan Mahr <dac922@gmx.de>
parents: 18828
diff changeset
2291 tickdir, ticklength, axispos, mirror);
0dae39867b2b cleanup of tic and ticlabel code
Stefan Mahr <dac922@gmx.de>
parents: 18828
diff changeset
2292 labels = strrep (labels, "%", "%%");
0dae39867b2b cleanup of tic and ticlabel code
Stefan Mahr <dac922@gmx.de>
parents: 18828
diff changeset
2293 for i = 1:ntics
0dae39867b2b cleanup of tic and ticlabel code
Stefan Mahr <dac922@gmx.de>
parents: 18828
diff changeset
2294 fprintf (plot_stream, " \"%s\" %.15g", labels{k++}, tics(i));
0dae39867b2b cleanup of tic and ticlabel code
Stefan Mahr <dac922@gmx.de>
parents: 18828
diff changeset
2295 if (i < ntics)
0dae39867b2b cleanup of tic and ticlabel code
Stefan Mahr <dac922@gmx.de>
parents: 18828
diff changeset
2296 fputs (plot_stream, ", ");
0dae39867b2b cleanup of tic and ticlabel code
Stefan Mahr <dac922@gmx.de>
parents: 18828
diff changeset
2297 endif
0dae39867b2b cleanup of tic and ticlabel code
Stefan Mahr <dac922@gmx.de>
parents: 18828
diff changeset
2298 if (k > nlabels)
0dae39867b2b cleanup of tic and ticlabel code
Stefan Mahr <dac922@gmx.de>
parents: 18828
diff changeset
2299 k = 1;
0dae39867b2b cleanup of tic and ticlabel code
Stefan Mahr <dac922@gmx.de>
parents: 18828
diff changeset
2300 endif
0dae39867b2b cleanup of tic and ticlabel code
Stefan Mahr <dac922@gmx.de>
parents: 18828
diff changeset
2301 endfor
0dae39867b2b cleanup of tic and ticlabel code
Stefan Mahr <dac922@gmx.de>
parents: 18828
diff changeset
2302 fprintf (plot_stream, ") %s %s;\n", colorspec, fontspec);
0dae39867b2b cleanup of tic and ticlabel code
Stefan Mahr <dac922@gmx.de>
parents: 18828
diff changeset
2303 endif
18826
9c2ff2361864 fix xticklabel with minor grid (bug #38139, bug #40256)
Stefan Mahr <dac922@gmx.de>
parents: 18741
diff changeset
2304 if (strcmp (mtics, "on"))
9c2ff2361864 fix xticklabel with minor grid (bug #38139, bug #40256)
Stefan Mahr <dac922@gmx.de>
parents: 18741
diff changeset
2305 fprintf (plot_stream, "set m%stics %d;\n", ax, num_mtics);
9c2ff2361864 fix xticklabel with minor grid (bug #38139, bug #40256)
Stefan Mahr <dac922@gmx.de>
parents: 18741
diff changeset
2306 else
9c2ff2361864 fix xticklabel with minor grid (bug #38139, bug #40256)
Stefan Mahr <dac922@gmx.de>
parents: 18741
diff changeset
2307 fprintf (plot_stream, "unset m%stics;\n", ax);
7194
a927a2871a93 [project @ 2007-11-26 23:06:12 by jwe]
jwe
parents: 7191
diff changeset
2308 endif
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
2309
7194
a927a2871a93 [project @ 2007-11-26 23:06:12 by jwe]
jwe
parents: 7191
diff changeset
2310 endfunction
a927a2871a93 [project @ 2007-11-26 23:06:12 by jwe]
jwe
parents: 7191
diff changeset
2311
9281
02b16eeb3167 Fix yticklabels for log scale colorbar.
Ben Abbott <bpabbott@mac.com>
parents: 9280
diff changeset
2312 function ticklabel = ticklabel_to_cell (ticklabel)
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
2313
9472
303f862a896d __go_draw_axes__.m: Fix ticklabels specified as 2D character array.
Ben Abbott <bpabbott@mac.com>
parents: 9468
diff changeset
2314 if (ischar (ticklabel))
18828
6a8cd989c69a remove unneeded ticklabel conversions
Stefan Mahr <dac922@gmx.de>
parents: 18826
diff changeset
2315 ticklabel = cellstr (ticklabel);
6a8cd989c69a remove unneeded ticklabel conversions
Stefan Mahr <dac922@gmx.de>
parents: 18826
diff changeset
2316 elseif (iscellstr (ticklabel))
6a8cd989c69a remove unneeded ticklabel conversions
Stefan Mahr <dac922@gmx.de>
parents: 18826
diff changeset
2317 ticklabel = ticklabel;
9280
40fb718a2e67 __go_draw_axes__.m: Add support for ticklabel separator '|'.
Ben Abbott <bpabbott@mac.com>
parents: 9272
diff changeset
2318 else
20400
755ba248fb4a build: Rename __go_draw_XXX to __gnuplot_draw_XXX for clarity.
Rik <rik@octave.org>
parents: 20286
diff changeset
2319 error ("__gnuplot_draw_axes__: unsupported type of ticklabel");
8518
c2c018d7c501 __go_draw_axes__.m: __go_draw_axes__.m: Support non-cell ticklabels.
Ben Abbott <bpabbott@mac.com>
parents: 8510
diff changeset
2320 endif
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
2321
8518
c2c018d7c501 __go_draw_axes__.m: __go_draw_axes__.m: Support non-cell ticklabels.
Ben Abbott <bpabbott@mac.com>
parents: 8510
diff changeset
2322 endfunction
c2c018d7c501 __go_draw_axes__.m: __go_draw_axes__.m: Support non-cell ticklabels.
Ben Abbott <bpabbott@mac.com>
parents: 8510
diff changeset
2323
21365
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
2324 function colorspec = get_text_colorspec (color)
5b9618f4f841 Rely upon print.m for mono/color conversion. This simplifies gnuplot support
Ben Abbott <bpabbott@mac.com>
parents: 21031
diff changeset
2325 colorspec = sprintf ("textcolor rgb \"#%02x%02x%02x\"", round (255*color));
6745
ca6668e47518 [project @ 2007-06-19 06:00:08 by jwe]
jwe
parents: 6738
diff changeset
2326 endfunction
7163
d4d8c7b33e16 [project @ 2007-11-12 21:54:07 by jwe]
jwe
parents: 7162
diff changeset
2327
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2328 function [f, s, fnt, it, bld] = get_fontname_and_size (t)
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
2329
11549
beb4f0f27a32 Use {} as the default font for the gnuplot backend
David Bateman <dbateman@free.fr>
parents: 11523
diff changeset
2330 if (isempty (t.fontname) || strcmp (t.fontname, "*"))
20972
33793796aa6e Coding improvements to __gnuplot_draw_axes__ (part of Bug # 44187).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 20959
diff changeset
2331 fnt = "";
7163
d4d8c7b33e16 [project @ 2007-11-12 21:54:07 by jwe]
jwe
parents: 7162
diff changeset
2332 else
7372
c51426c80045 [project @ 2008-01-14 19:50:10 by jwe]
jwe
parents: 7321
diff changeset
2333 fnt = t.fontname;
7168
f345eb60f941 [project @ 2007-11-13 15:16:52 by jwe]
jwe
parents: 7163
diff changeset
2334 endif
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
2335
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2336 f = fnt;
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2337 it = false;
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2338 bld = false;
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
2339 if (! isempty (t.fontweight) && strcmp (t.fontweight, "bold"))
14868
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14840
diff changeset
2340 if (! isempty (t.fontangle)
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
2341 && (strcmp (t.fontangle, "italic")
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
2342 || strcmp (t.fontangle, "oblique")))
16994
333243133364 Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents: 16933
diff changeset
2343 f = [f "-bolditalic"];
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2344 it = true;
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2345 bld = true;
7168
f345eb60f941 [project @ 2007-11-13 15:16:52 by jwe]
jwe
parents: 7163
diff changeset
2346 else
16994
333243133364 Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents: 16933
diff changeset
2347 f = [f "-bold"];
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2348 bld = true;
7168
f345eb60f941 [project @ 2007-11-13 15:16:52 by jwe]
jwe
parents: 7163
diff changeset
2349 endif
14868
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14840
diff changeset
2350 elseif (! isempty (t.fontangle)
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
2351 && (strcmp (t.fontangle, "italic")
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
2352 || strcmp (t.fontangle, "oblique")))
16994
333243133364 Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents: 16933
diff changeset
2353 f = [f "-italic"];
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2354 it = true;
7163
d4d8c7b33e16 [project @ 2007-11-12 21:54:07 by jwe]
jwe
parents: 7162
diff changeset
2355 endif
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
2356
7163
d4d8c7b33e16 [project @ 2007-11-12 21:54:07 by jwe]
jwe
parents: 7162
diff changeset
2357 if (isempty (t.fontsize))
d4d8c7b33e16 [project @ 2007-11-12 21:54:07 by jwe]
jwe
parents: 7162
diff changeset
2358 s = 10;
d4d8c7b33e16 [project @ 2007-11-12 21:54:07 by jwe]
jwe
parents: 7162
diff changeset
2359 else
d4d8c7b33e16 [project @ 2007-11-12 21:54:07 by jwe]
jwe
parents: 7162
diff changeset
2360 s = t.fontsize;
d4d8c7b33e16 [project @ 2007-11-12 21:54:07 by jwe]
jwe
parents: 7162
diff changeset
2361 endif
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
2362
7163
d4d8c7b33e16 [project @ 2007-11-12 21:54:07 by jwe]
jwe
parents: 7162
diff changeset
2363 endfunction
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2364
8164
0d37c99fc06f __go_draw_axes__.m: eliminate have_newer_gnuplot variable
John W. Eaton <jwe@octave.org>
parents: 8112
diff changeset
2365 function [str, f, s] = __maybe_munge_text__ (enhanced, obj, fld)
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2366 persistent warned_latex = false;
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2367
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2368 if (strcmp (fld, "string"))
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2369 [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
2370 else
7372
c51426c80045 [project @ 2008-01-14 19:50:10 by jwe]
jwe
parents: 7321
diff changeset
2371 f = "Helvetica";
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2372 s = 10;
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2373 fnt = f;
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2374 it = false;
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2375 bld = false;
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2376 endif
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2377
19424
e23aedcc70a7 Fix using '@' character in gnuplot text strings (bug #35363).
Rik <rik@octave.org>
parents: 19419
diff changeset
2378 ## The text object may be multiline, and may be of any class
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2379 str = getfield (obj, fld);
14872
c2dbdeaa25df maint: use rows() and columns() to clarify m-files.
Rik <octave@nomad.inbox5.com>
parents: 14868
diff changeset
2380 if (ischar (str) && rows (str) > 1)
12965
22bc9ec80c2c allow multi-line string property for text objects using cell arrays or char matrices
Ben Abbott <bpabbott@mac.com>
parents: 12931
diff changeset
2381 str = cellstr (str);
22bc9ec80c2c allow multi-line string property for text objects using cell arrays or char matrices
Ben Abbott <bpabbott@mac.com>
parents: 12931
diff changeset
2382 elseif (isnumeric (str))
22bc9ec80c2c allow multi-line string property for text objects using cell arrays or char matrices
Ben Abbott <bpabbott@mac.com>
parents: 12931
diff changeset
2383 str = cellstr (num2str (str(:)));
22bc9ec80c2c allow multi-line string property for text objects using cell arrays or char matrices
Ben Abbott <bpabbott@mac.com>
parents: 12931
diff changeset
2384 endif
22bc9ec80c2c allow multi-line string property for text objects using cell arrays or char matrices
Ben Abbott <bpabbott@mac.com>
parents: 12931
diff changeset
2385 if (iscellstr (str))
14868
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14840
diff changeset
2386 for n = 1:numel (str)
12965
22bc9ec80c2c allow multi-line string property for text objects using cell arrays or char matrices
Ben Abbott <bpabbott@mac.com>
parents: 12931
diff changeset
2387 if (isnumeric (str{n}))
22bc9ec80c2c allow multi-line string property for text objects using cell arrays or char matrices
Ben Abbott <bpabbott@mac.com>
parents: 12931
diff changeset
2388 str{n} = num2str (str{n});
22bc9ec80c2c allow multi-line string property for text objects using cell arrays or char matrices
Ben Abbott <bpabbott@mac.com>
parents: 12931
diff changeset
2389 endif
22bc9ec80c2c allow multi-line string property for text objects using cell arrays or char matrices
Ben Abbott <bpabbott@mac.com>
parents: 12931
diff changeset
2390 endfor
22bc9ec80c2c allow multi-line string property for text objects using cell arrays or char matrices
Ben Abbott <bpabbott@mac.com>
parents: 12931
diff changeset
2391 str = sprintf ("%s\n", str{:})(1:end-1);
22bc9ec80c2c allow multi-line string property for text objects using cell arrays or char matrices
Ben Abbott <bpabbott@mac.com>
parents: 12931
diff changeset
2392 endif
22bc9ec80c2c allow multi-line string property for text objects using cell arrays or char matrices
Ben Abbott <bpabbott@mac.com>
parents: 12931
diff changeset
2393
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2394 if (enhanced)
19424
e23aedcc70a7 Fix using '@' character in gnuplot text strings (bug #35363).
Rik <rik@octave.org>
parents: 19419
diff changeset
2395 str = regexprep (str, '(?<!\\)@', '\@');
e23aedcc70a7 Fix using '@' character in gnuplot text strings (bug #35363).
Rik <rik@octave.org>
parents: 19419
diff changeset
2396 endif
e23aedcc70a7 Fix using '@' character in gnuplot text strings (bug #35363).
Rik <rik@octave.org>
parents: 19419
diff changeset
2397
e23aedcc70a7 Fix using '@' character in gnuplot text strings (bug #35363).
Rik <rik@octave.org>
parents: 19419
diff changeset
2398 if (enhanced)
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
2399 if (strcmp (obj.interpreter, "tex"))
12965
22bc9ec80c2c allow multi-line string property for text objects using cell arrays or char matrices
Ben Abbott <bpabbott@mac.com>
parents: 12931
diff changeset
2400 if (iscellstr (str))
14868
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14840
diff changeset
2401 for n = 1:numel (str)
12965
22bc9ec80c2c allow multi-line string property for text objects using cell arrays or char matrices
Ben Abbott <bpabbott@mac.com>
parents: 12931
diff changeset
2402 str{n} = __tex2enhanced__ (str{n}, fnt, it, bld);
22bc9ec80c2c allow multi-line string property for text objects using cell arrays or char matrices
Ben Abbott <bpabbott@mac.com>
parents: 12931
diff changeset
2403 endfor
22bc9ec80c2c allow multi-line string property for text objects using cell arrays or char matrices
Ben Abbott <bpabbott@mac.com>
parents: 12931
diff changeset
2404 else
22bc9ec80c2c allow multi-line string property for text objects using cell arrays or char matrices
Ben Abbott <bpabbott@mac.com>
parents: 12931
diff changeset
2405 str = __tex2enhanced__ (str, fnt, it, bld);
22bc9ec80c2c allow multi-line string property for text objects using cell arrays or char matrices
Ben Abbott <bpabbott@mac.com>
parents: 12931
diff changeset
2406 endif
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
2407 elseif (strcmp (obj.interpreter, "latex"))
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2408 if (! warned_latex)
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2409 warning ("latex markup not supported for text objects");
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2410 warned_latex = true;
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2411 endif
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2412 endif
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2413 endif
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
2414
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2415 endfunction
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2416
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2417 function str = __tex2enhanced__ (str, fnt, it, bld)
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2418 persistent sym = __setup_sym_table__ ();
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2419 persistent flds = fieldnames (sym);
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2420
16001
7275cfaddb5e Fix texenhanced regression.
Ben Abbott <bpabbott@mac.com>
parents: 15617
diff changeset
2421 [s, e, m] = regexp (str, "\\\\([a-zA-Z]+|0)", "start", "end", "matches");
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2422
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2423 for i = length (s) : -1 : 1
19448
29b6d072b5e9 Add \ast, \deg symbols to gnuplot TeX interpreter.
Rik <rik@octave.org>
parents: 19438
diff changeset
2424 ## special case for "\0" and replace with empty set "{/Symbol \306}'
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2425 if (strncmp (m{i}, '\0', 2))
16994
333243133364 Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents: 16933
diff changeset
2426 str = [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
2427 else
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2428 f = m{i}(2:end);
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2429 if (isfield (sym, f))
14868
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14840
diff changeset
2430 g = getfield (sym, f);
18857
7bbe3658c5ef maint: Use "FIXME:" coding convention in m-files.
Rik <rik@octave.org>
parents: 18829
diff changeset
2431 ## FIXME: The symbol font doesn't seem to support bold or italic
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2432 ##if (bld)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2433 ## if (it)
20191
64f817945783 Use strrep instead of regexprep where possible in m-files for performance.
Rik <rik@octave.org>
parents: 20057
diff changeset
2434 ## g = strrep (g, '/Symbol', '/Symbol-bolditalic');
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2435 ## else
20191
64f817945783 Use strrep instead of regexprep where possible in m-files for performance.
Rik <rik@octave.org>
parents: 20057
diff changeset
2436 ## g = strrep (g, '/Symbol', '/Symbol-bold');
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2437 ## endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2438 ##elseif (it)
20191
64f817945783 Use strrep instead of regexprep where possible in m-files for performance.
Rik <rik@octave.org>
parents: 20057
diff changeset
2439 ## g = strrep (g, '/Symbol', '/Symbol-italic');
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2440 ##endif
16994
333243133364 Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents: 16933
diff changeset
2441 str = [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
2442 elseif (strncmp (f, "rm", 2))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2443 bld = false;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2444 it = false;
21524
aac8b2ca9280 Include curly braces when adding weight to strings for gnuplot (bug #46037).
bpabbott
parents: 21427
diff changeset
2445 str = [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
2446 elseif (strncmp (f, "it", 2) || strncmp (f, "sl", 2))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2447 it = true;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2448 if (bld)
21524
aac8b2ca9280 Include curly braces when adding weight to strings for gnuplot (bug #46037).
bpabbott
parents: 21427
diff changeset
2449 str = [str(1:s(i) - 1) '{/' fnt '-bolditalic ' str(s(i) + 3:end) '}'];
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2450 else
21524
aac8b2ca9280 Include curly braces when adding weight to strings for gnuplot (bug #46037).
bpabbott
parents: 21427
diff changeset
2451 str = [str(1:s(i) - 1) '{/' fnt '-italic ' str(s(i) + 3:end) '}'];
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2452 endif
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2453 elseif (strncmp (f, "bf", 2))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2454 bld = true;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2455 if (it)
21524
aac8b2ca9280 Include curly braces when adding weight to strings for gnuplot (bug #46037).
bpabbott
parents: 21427
diff changeset
2456 str = [str(1:s(i) - 1) '{/' fnt '-bolditalic ' str(s(i) + 3:end) '}'];
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2457 else
21524
aac8b2ca9280 Include curly braces when adding weight to strings for gnuplot (bug #46037).
bpabbott
parents: 21427
diff changeset
2458 str = [str(1:s(i) - 1) '{/' fnt '-bold ' str(s(i) + 3:end) '}'];
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2459 endif
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
2460 elseif (strcmp (f, "color"))
18857
7bbe3658c5ef maint: Use "FIXME:" coding convention in m-files.
Rik <rik@octave.org>
parents: 18829
diff changeset
2461 ## FIXME: Ignore \color but remove trailing {} block as well
14868
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14840
diff changeset
2462 d = strfind (str(e(i) + 1:end),'}');
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2463 if (isempty (d))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2464 warning ('syntax error in \color argument');
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2465 else
16994
333243133364 Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents: 16933
diff changeset
2466 str = [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
2467 endif
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
2468 elseif (strcmp (f, "fontname"))
14868
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14840
diff changeset
2469 b1 = strfind (str(e(i) + 1:end),'{');
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14840
diff changeset
2470 b2 = strfind (str(e(i) + 1:end),'}');
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14840
diff changeset
2471 if (isempty (b1) || isempty (b2))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2472 warning ('syntax error in \fontname argument');
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2473 else
16994
333243133364 Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents: 16933
diff changeset
2474 str = [str(1:s(i) - 1), '/', str(e(i)+b1(1) + 1:e(i)+b2(1)-1), ...
333243133364 Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents: 16933
diff changeset
2475 '{}', str(e(i) + b2(1) + 1:end)];
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2476 endif
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
2477 elseif (strcmp (f, "fontsize"))
14868
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14840
diff changeset
2478 b1 = strfind (str(e(i) + 1:end),'{');
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14840
diff changeset
2479 b2 = strfind (str(e(i) + 1:end),'}');
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14840
diff changeset
2480 if (isempty (b1) || isempty (b2))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2481 warning ('syntax error in \fontname argument');
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2482 else
16994
333243133364 Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents: 16933
diff changeset
2483 str = [str(1:s(i) - 1), '/=', str(e(i)+b1(1) + 1:e(i)+b2(1)-1), ...
333243133364 Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents: 16933
diff changeset
2484 '{}', str(e(i) + b2(1) + 1:end)];
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2485 endif
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2486 else
21751
b571fc85953f maint: Use two spaces after period to indicate sentence break.
Rik <rik@octave.org>
parents: 21714
diff changeset
2487 ## Last desperate attempt to treat the symbol. Look for things
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2488 ## 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
2489 for j = 1 : length (flds)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2490 if (strncmp (flds{j}, f, length (flds{j})))
14868
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14840
diff changeset
2491 g = getfield (sym, flds{j});
18857
7bbe3658c5ef maint: Use "FIXME:" coding convention in m-files.
Rik <rik@octave.org>
parents: 18829
diff changeset
2492 ## FIXME: The symbol font doesn't seem to support bold or italic
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2493 ##if (bld)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2494 ## if (it)
20191
64f817945783 Use strrep instead of regexprep where possible in m-files for performance.
Rik <rik@octave.org>
parents: 20057
diff changeset
2495 ## g = strrep (g, '/Symbol', '/Symbol-bolditalic');
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2496 ## else
20191
64f817945783 Use strrep instead of regexprep where possible in m-files for performance.
Rik <rik@octave.org>
parents: 20057
diff changeset
2497 ## g = strrep (g, '/Symbol', '/Symbol-bold');
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2498 ## endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2499 ##elseif (it)
20191
64f817945783 Use strrep instead of regexprep where possible in m-files for performance.
Rik <rik@octave.org>
parents: 20057
diff changeset
2500 ## g = strrep (g, '/Symbol', '/Symbol-italic');
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2501 ##endif
16994
333243133364 Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents: 16933
diff changeset
2502 str = [str(1:s(i) - 1) g str(s(i) + length (flds{j}) + 1:end)];
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2503 break;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2504 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2505 endfor
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2506 endif
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2507 endif
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2508 endfor
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2509
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
2510 ## Prepend @ to things like _0^x or _{-100}^{100} for alignment.
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
2511 ## But need to put the shorter of the two arguments first.
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
2512 ## Careful of nested {} and unprinted characters when defining
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
2513 ## shortest.. Don't have to worry about things like ^\theta as they
8506
bc982528de11 comment style fixes
John W. Eaton <jwe@octave.org>
parents: 8360
diff changeset
2514 ## are already converted to ^{/Symbol q}.
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2515
21751
b571fc85953f maint: Use two spaces after period to indicate sentence break.
Rik <rik@octave.org>
parents: 21714
diff changeset
2516 ## 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
2517
14868
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14840
diff changeset
2518 [s, m] = regexp (str,'[_\^]','start','matches');
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2519 i = 1;
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2520 p = 0;
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2521 while (i < length (s))
14868
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14840
diff changeset
2522 if (i < length (s))
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2523 if (str(s(i) + p + 1) == "{")
14868
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14840
diff changeset
2524 s1 = strfind (str(s(i) + p + 2:end),'{');
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2525 si = 1;
14868
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14840
diff changeset
2526 l1 = strfind (str(s(i) + p + 1:end),'}');
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2527 li = 1;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2528 while (li <= length (l1) && si <= length (s1))
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2529 if (l1(li) < s1(si))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2530 if (li == si)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2531 break;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2532 endif
20735
418ae0cb752f Replace ++,-- with in-place operators for performance.
Rik <rik@octave.org>
parents: 20714
diff changeset
2533 li += 1;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2534 else
20735
418ae0cb752f Replace ++,-- with in-place operators for performance.
Rik <rik@octave.org>
parents: 20714
diff changeset
2535 si += 1;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2536 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2537 endwhile
20231
83792dd9bcc1 Use in-place operators in m-files where possible.
Rik <rik@octave.org>
parents: 20191
diff changeset
2538 l1 = l1(min (length (l1), si));
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2539 if (s(i) + l1 + 1 == s(i+1))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2540 if (str(s(i + 1) + p + 1) == "{")
14868
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14840
diff changeset
2541 s2 = strfind (str(s(i + 1) + p + 2:end),'{');
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2542 si = 1;
14868
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14840
diff changeset
2543 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
2544 li = 1;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2545 while (li <= length (l2) && si <= length (s2))
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2546 if (l2(li) < s2(si))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2547 if (li == si)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2548 break;
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2549 endif
20735
418ae0cb752f Replace ++,-- with in-place operators for performance.
Rik <rik@octave.org>
parents: 20714
diff changeset
2550 li += 1;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2551 else
20735
418ae0cb752f Replace ++,-- with in-place operators for performance.
Rik <rik@octave.org>
parents: 20714
diff changeset
2552 si += 1;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2553 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2554 endwhile
20231
83792dd9bcc1 Use in-place operators in m-files where possible.
Rik <rik@octave.org>
parents: 20191
diff changeset
2555 l2 = l2(min (length (l2), si));
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2556 if (length_string (str(s(i)+p+2:s(i)+p+l1-1)) <=
14868
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14840
diff changeset
2557 length_string (str(s(i+1)+p+2:s(i+1)+p+l2-1)))
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2558 ## Shortest already first!
16994
333243133364 Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents: 16933
diff changeset
2559 str = [str(1:s(i)+p-1) "@" str(s(i)+p:end)];
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2560 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2561 ## Have to swap sub/super-script to get shortest first.
16994
333243133364 Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents: 16933
diff changeset
2562 str = [str(1:s(i)+p-1), "@", str(s(i+1)+p:s(i+1)+p+l2), ...
333243133364 Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents: 16933
diff changeset
2563 str(s(i)+p:s(i)+p+l1), str(s(i+1)+p+l2+1:end)];
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2564 endif
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2565 else
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2566 ## Have to swap sub/super-script to get shortest first.
16994
333243133364 Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents: 16933
diff changeset
2567 str = [str(1:s(i)+p-1), "@", str(s(i+1)+p:s(i+1)+p+1), ...
333243133364 Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents: 16933
diff changeset
2568 str(s(i)+p:s(i)+p+l1), str(s(i+1)+p+2:end)];
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2569 endif
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2570 i += 2;
20735
418ae0cb752f Replace ++,-- with in-place operators for performance.
Rik <rik@octave.org>
parents: 20714
diff changeset
2571 p += 1;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2572 else
20735
418ae0cb752f Replace ++,-- with in-place operators for performance.
Rik <rik@octave.org>
parents: 20714
diff changeset
2573 i += 1;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2574 endif
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2575 else
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2576 if (s(i+1) == s(i) + 2)
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2577 ## Shortest already first!
16994
333243133364 Use matrix concatenation for strings, rather than cstrcat(), for clarity and performance.
Rik <rik@octave.org>
parents: 16933
diff changeset
2578 str = [str(1:s(i)+p-1) "@" str(s(i)+p:end)];
20735
418ae0cb752f Replace ++,-- with in-place operators for performance.
Rik <rik@octave.org>
parents: 20714
diff changeset
2579 p += 1;
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2580 i += 2;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2581 else
20735
418ae0cb752f Replace ++,-- with in-place operators for performance.
Rik <rik@octave.org>
parents: 20714
diff changeset
2582 i += 1;
10549
95c3e38098bf Untabify .m scripts
Rik <code@nomad.inbox5.com>
parents: 10532
diff changeset
2583 endif
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2584 endif
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2585 else
20735
418ae0cb752f Replace ++,-- with in-place operators for performance.
Rik <rik@octave.org>
parents: 20714
diff changeset
2586 i += 1;
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2587 endif
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2588 endwhile
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2589
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2590 endfunction
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2591
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2592 function l = length_string (s)
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
2593
14868
5d3a684236b0 maint: Use Octave coding conventions for cuddling parentheses in scripts directory
Rik <octave@nomad.inbox5.com>
parents: 14840
diff changeset
2594 l = length (s) - length (strfind (s,'{')) - length (strfind (s,'}'));
12462
e4dbfe3019b1 Use PCRE regular expressions throughout Octave.
Rik <octave@nomad.inbox5.com>
parents: 12420
diff changeset
2595 m = regexp (s, '/([\w-]+|[\w-]+=\d+)', 'matches');
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
2596 if (! isempty (m))
20231
83792dd9bcc1 Use in-place operators in m-files where possible.
Rik <rik@octave.org>
parents: 20191
diff changeset
2597 l -= sum (cellfun ("length", m));
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2598 endif
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
2599
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2600 endfunction
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2601
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2602 function sym = __setup_sym_table__ ()
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2603 ## 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
2604 sym.forall = '{/Symbol \042}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2605 sym.exists = '{/Symbol \044}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2606 sym.ni = '{/Symbol \047}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2607 sym.cong = '{/Symbol \100}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2608 sym.Delta = '{/Symbol D}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2609 sym.Phi = '{/Symbol F}';
7608
49810341db91 Correct typos in __go_draw_axes__.m and update Manual
godfrey@qss.Stanford.EDU
parents: 7603
diff changeset
2610 sym.Gamma = '{/Symbol G}';
7190
9e7377f41b78 [project @ 2007-11-26 21:24:02 by dbateman]
dbateman
parents: 7189
diff changeset
2611 sym.vartheta = '{/Symbol J}';
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2612 sym.Lambda = '{/Symbol L}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2613 sym.Pi = '{/Symbol P}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2614 sym.Theta = '{/Symbol Q}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2615 sym.Sigma = '{/Symbol S}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2616 sym.varsigma = '{/Symbol V}';
7420
4b17a7297e5d [project @ 2008-01-25 18:56:07 by jwe]
jwe
parents: 7390
diff changeset
2617 sym.Omega = '{/Symbol W}';
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2618 sym.Xi = '{/Symbol X}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2619 sym.Psi = '{/Symbol Y}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2620 sym.perp = '{/Symbol \136}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2621 sym.alpha = '{/Symbol a}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2622 sym.beta = '{/Symbol b}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2623 sym.chi = '{/Symbol c}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2624 sym.delta = '{/Symbol d}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2625 sym.epsilon = '{/Symbol e}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2626 sym.phi = '{/Symbol f}';
7608
49810341db91 Correct typos in __go_draw_axes__.m and update Manual
godfrey@qss.Stanford.EDU
parents: 7603
diff changeset
2627 sym.gamma = '{/Symbol g}';
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2628 sym.eta = '{/Symbol h}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2629 sym.iota = '{/Symbol i}';
19448
29b6d072b5e9 Add \ast, \deg symbols to gnuplot TeX interpreter.
Rik <rik@octave.org>
parents: 19438
diff changeset
2630 sym.varphi = '{/Symbol j}'; # Not in OpenGL
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2631 sym.kappa = '{/Symbol k}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2632 sym.lambda = '{/Symbol l}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2633 sym.mu = '{/Symbol m}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2634 sym.nu = '{/Symbol n}';
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
2635 sym.o = '{/Symbol o}';
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2636 sym.pi = '{/Symbol p}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2637 sym.theta = '{/Symbol q}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2638 sym.rho = '{/Symbol r}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2639 sym.sigma = '{/Symbol s}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2640 sym.tau = '{/Symbol t}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2641 sym.upsilon = '{/Symbol u}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2642 sym.varpi = '{/Symbol v}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2643 sym.omega = '{/Symbol w}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2644 sym.xi = '{/Symbol x}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2645 sym.psi = '{/Symbol y}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2646 sym.zeta = '{/Symbol z}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2647 sym.sim = '{/Symbol \176}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2648 sym.Upsilon = '{/Symbol \241}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2649 sym.prime = '{/Symbol \242}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2650 sym.leq = '{/Symbol \243}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2651 sym.infty = '{/Symbol \245}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2652 sym.clubsuit = '{/Symbol \247}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2653 sym.diamondsuit = '{/Symbol \250}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2654 sym.heartsuit = '{/Symbol \251}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2655 sym.spadesuit = '{/Symbol \252}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2656 sym.leftrightarrow = '{/Symbol \253}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2657 sym.leftarrow = '{/Symbol \254}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2658 sym.uparrow = '{/Symbol \255}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2659 sym.rightarrow = '{/Symbol \256}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2660 sym.downarrow = '{/Symbol \257}';
19448
29b6d072b5e9 Add \ast, \deg symbols to gnuplot TeX interpreter.
Rik <rik@octave.org>
parents: 19438
diff changeset
2661 sym.circ = '{/Symbol \260}'; # degree symbol, not circ as in FLTK
29b6d072b5e9 Add \ast, \deg symbols to gnuplot TeX interpreter.
Rik <rik@octave.org>
parents: 19438
diff changeset
2662 sym.deg = '{/Symbol \260}';
29b6d072b5e9 Add \ast, \deg symbols to gnuplot TeX interpreter.
Rik <rik@octave.org>
parents: 19438
diff changeset
2663 sym.ast = '{/Symbol *}';
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2664 sym.pm = '{/Symbol \261}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2665 sym.geq = '{/Symbol \263}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2666 sym.times = '{/Symbol \264}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2667 sym.propto = '{/Symbol \265}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2668 sym.partial = '{/Symbol \266}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2669 sym.bullet = '{/Symbol \267}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2670 sym.div = '{/Symbol \270}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2671 sym.neq = '{/Symbol \271}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2672 sym.equiv = '{/Symbol \272}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2673 sym.approx = '{/Symbol \273}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2674 sym.ldots = '{/Symbol \274}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2675 sym.mid = '{/Symbol \275}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2676 sym.aleph = '{/Symbol \300}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2677 sym.Im = '{/Symbol \301}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2678 sym.Re = '{/Symbol \302}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2679 sym.wp = '{/Symbol \303}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2680 sym.otimes = '{/Symbol \304}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2681 sym.oplus = '{/Symbol \305}';
19448
29b6d072b5e9 Add \ast, \deg symbols to gnuplot TeX interpreter.
Rik <rik@octave.org>
parents: 19438
diff changeset
2682 ## empty set, not circled slash division operator as in FLTK.
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2683 sym.oslash = '{/Symbol \306}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2684 sym.cap = '{/Symbol \307}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2685 sym.cup = '{/Symbol \310}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2686 sym.supset = '{/Symbol \311}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2687 sym.supseteq = '{/Symbol \312}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2688 sym.subset = '{/Symbol \314}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2689 sym.subseteq = '{/Symbol \315}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2690 sym.in = '{/Symbol \316}';
19448
29b6d072b5e9 Add \ast, \deg symbols to gnuplot TeX interpreter.
Rik <rik@octave.org>
parents: 19438
diff changeset
2691 sym.notin = '{/Symbol \317}'; # Not in OpenGL
7593
fdb6ff523237 __go_draw_axes__: use correct symbol codes
Michael D. Godfrey
parents: 7592
diff changeset
2692 sym.angle = '{/Symbol \320}';
19448
29b6d072b5e9 Add \ast, \deg symbols to gnuplot TeX interpreter.
Rik <rik@octave.org>
parents: 19438
diff changeset
2693 sym.bigtriangledown = '{/Symbol \321}'; # Not in OpenGL
7593
fdb6ff523237 __go_draw_axes__: use correct symbol codes
Michael D. Godfrey
parents: 7592
diff changeset
2694 sym.langle = '{/Symbol \341}';
fdb6ff523237 __go_draw_axes__: use correct symbol codes
Michael D. Godfrey
parents: 7592
diff changeset
2695 sym.rangle = '{/Symbol \361}';
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2696 sym.nabla = '{/Symbol \321}';
19448
29b6d072b5e9 Add \ast, \deg symbols to gnuplot TeX interpreter.
Rik <rik@octave.org>
parents: 19438
diff changeset
2697 sym.prod = '{/Symbol \325}'; # Not in OpenGL
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2698 sym.surd = '{/Symbol \326}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2699 sym.cdot = '{/Symbol \327}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2700 sym.neg = '{/Symbol \330}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2701 sym.wedge = '{/Symbol \331}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2702 sym.vee = '{/Symbol \332}';
19448
29b6d072b5e9 Add \ast, \deg symbols to gnuplot TeX interpreter.
Rik <rik@octave.org>
parents: 19438
diff changeset
2703 sym.Leftrightarrow = '{/Symbol \333}'; # Not in OpenGL
7593
fdb6ff523237 __go_draw_axes__: use correct symbol codes
Michael D. Godfrey
parents: 7592
diff changeset
2704 sym.Leftarrow = '{/Symbol \334}';
19448
29b6d072b5e9 Add \ast, \deg symbols to gnuplot TeX interpreter.
Rik <rik@octave.org>
parents: 19438
diff changeset
2705 sym.Uparrow = '{/Symbol \335}'; # Not in OpenGL
7593
fdb6ff523237 __go_draw_axes__: use correct symbol codes
Michael D. Godfrey
parents: 7592
diff changeset
2706 sym.Rightarrow = '{/Symbol \336}';
19448
29b6d072b5e9 Add \ast, \deg symbols to gnuplot TeX interpreter.
Rik <rik@octave.org>
parents: 19438
diff changeset
2707 sym.Downarrow = '{/Symbol \337}'; # Not in OpenGL
29b6d072b5e9 Add \ast, \deg symbols to gnuplot TeX interpreter.
Rik <rik@octave.org>
parents: 19438
diff changeset
2708 sym.diamond = '{/Symbol \340}'; # Not in OpenGL
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2709 sym.copyright = '{/Symbol \343}';
7593
fdb6ff523237 __go_draw_axes__: use correct symbol codes
Michael D. Godfrey
parents: 7592
diff changeset
2710 sym.lfloor = '{/Symbol \353}';
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
2711 sym.lceil = '{/Symbol \351}';
7593
fdb6ff523237 __go_draw_axes__: use correct symbol codes
Michael D. Godfrey
parents: 7592
diff changeset
2712 sym.rfloor = '{/Symbol \373}';
19833
9fc020886ae9 maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents: 19725
diff changeset
2713 sym.rceil = '{/Symbol \371}';
7189
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2714 sym.int = '{/Symbol \362}';
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2715 endfunction
e8d953d03f6a [project @ 2007-11-26 20:42:09 by dbateman]
dbateman
parents: 7175
diff changeset
2716
7390
3a21ee84a432 [project @ 2008-01-16 19:27:20 by jwe]
jwe
parents: 7379
diff changeset
2717 function retval = __do_enhanced_option__ (enhanced, obj)
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
2718
7390
3a21ee84a432 [project @ 2008-01-16 19:27:20 by jwe]
jwe
parents: 7379
diff changeset
2719 retval = "";
3a21ee84a432 [project @ 2008-01-16 19:27:20 by jwe]
jwe
parents: 7379
diff changeset
2720 if (enhanced)
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
2721 if (strcmp (obj.interpreter, "none"))
7390
3a21ee84a432 [project @ 2008-01-16 19:27:20 by jwe]
jwe
parents: 7379
diff changeset
2722 retval = "noenhanced";
3a21ee84a432 [project @ 2008-01-16 19:27:20 by jwe]
jwe
parents: 7379
diff changeset
2723 else
3a21ee84a432 [project @ 2008-01-16 19:27:20 by jwe]
jwe
parents: 7379
diff changeset
2724 retval = "enhanced";
3a21ee84a432 [project @ 2008-01-16 19:27:20 by jwe]
jwe
parents: 7379
diff changeset
2725 endif
3a21ee84a432 [project @ 2008-01-16 19:27:20 by jwe]
jwe
parents: 7379
diff changeset
2726 endif
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
2727
7390
3a21ee84a432 [project @ 2008-01-16 19:27:20 by jwe]
jwe
parents: 7379
diff changeset
2728 endfunction
17338
1c89599167a6 maint: End m-files with 1 blank line.
Rik <rik@octave.org>
parents: 17306
diff changeset
2729
21844
c0a552e71ceb Fix gnuplot toolkit text object bug introduced by changeset 7fe10fcd8370.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21842
diff changeset
2730 function do_text (stream, gpterm, enhanced, obj, hax, screenpos)
21832
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2731
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2732 [label, f, s] = __maybe_munge_text__ (enhanced, obj, "string");
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2733 fontspec = create_fontspec (f, s, gpterm);
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2734 lpos = obj.position;
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2735 halign = obj.horizontalalignment;
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2736 valign = obj.verticalalignment;
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2737 angle = obj.rotation;
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2738 units = obj.units;
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2739 color = obj.color;
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2740 if (nargin > 5)
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2741 units = "screen";
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2742 lpos = screenpos;
22052
3cbfbb920de3 __gnuplot_draw_axes__.m: Use strcmp instead of strcmpi.
Rik <rik@octave.org>
parents: 22050
diff changeset
2743 elseif (strcmp (units, "normalized"))
21832
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2744 units = "graph";
21844
c0a552e71ceb Fix gnuplot toolkit text object bug introduced by changeset 7fe10fcd8370.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21842
diff changeset
2745 elseif (strcmp (get (hax, "yaxislocation"), "right")
21832
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2746 && strcmp (units, "data"))
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2747 units = "second";
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2748 else
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2749 units = "";
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2750 endif
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2751
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2752 if (isnumeric (color))
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2753 colorspec = get_text_colorspec (color);
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2754 endif
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2755
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2756 if (ischar (obj.string))
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2757 num_lines = rows (obj.string);
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2758 num_lines += numel (strfind (obj.string, "\n"));
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2759 else
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2760 num_lines = numel (obj.string);
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2761 endif
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2762 switch (valign)
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2763 ## Text offset in characters. Relies on gnuplot for font metrics.
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2764 case "top"
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2765 dy = -0.5;
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2766 case "cap"
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2767 dy = -0.5;
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2768 case "middle"
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2769 dy = 0.5 * (num_lines - 1);
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2770 case "baseline"
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2771 dy = 0.5 + (num_lines - 1);
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2772 case "bottom"
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2773 dy = 0.5 + (num_lines - 1);
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2774 endswitch
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2775 ## Gnuplot's Character units are different for x/y and vary with
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2776 ## fontsize. The aspect ratio of 1:1.7 was determined by experiment
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2777 ## to work for eps/ps/etc. For the MacOS aqua terminal a value of 2.5
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2778 ## is needed. However, the difference is barely noticeable.
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2779 dx_and_dy = [(-dy * sind (angle)), (dy * cosd (angle))] .* [1.7 1];
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2780
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2781 ## FIXME: Multiline text produced the gnuplot
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2782 ## "warning: ft_render: skipping glyph"
21844
c0a552e71ceb Fix gnuplot toolkit text object bug introduced by changeset 7fe10fcd8370.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21842
diff changeset
2783 if (__calc_dimensions__ (hax) == 3)
22048
1a8e2a0251c3 Add minor grid line control and alpha blending for gnuplot toolkit (bug #48401).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 22040
diff changeset
2784 zstr = sprintf (",%.15e", lpos(3));
21832
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2785 else
21844
c0a552e71ceb Fix gnuplot toolkit text object bug introduced by changeset 7fe10fcd8370.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21842
diff changeset
2786 zstr = "";
21832
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2787 endif
21844
c0a552e71ceb Fix gnuplot toolkit text object bug introduced by changeset 7fe10fcd8370.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21842
diff changeset
2788 fprintf (stream,
c0a552e71ceb Fix gnuplot toolkit text object bug introduced by changeset 7fe10fcd8370.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21842
diff changeset
2789 "set label \"%s\" at %s %.15e,%.15e%s %s rotate by %f offset character %f,%f %s %s front %s;\n",
c0a552e71ceb Fix gnuplot toolkit text object bug introduced by changeset 7fe10fcd8370.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21842
diff changeset
2790 undo_string_escapes (label), units, lpos(1),
c0a552e71ceb Fix gnuplot toolkit text object bug introduced by changeset 7fe10fcd8370.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21842
diff changeset
2791 lpos(2), zstr, halign, angle, dx_and_dy, fontspec,
c0a552e71ceb Fix gnuplot toolkit text object bug introduced by changeset 7fe10fcd8370.
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21842
diff changeset
2792 __do_enhanced_option__ (enhanced, obj), colorspec);
21832
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2793
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2794 endfunction
7fe10fcd8370 For gnuplot, change 3D plot title default location and unit meaning (bug #47974).
Daniel J Sebald <daniel.sebald@ieee.org>
parents: 21811
diff changeset
2795
19000
1ad621d894ba Fix set(gca, 'xtick', []) with gnuplot backend (bug #42936).
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18999
diff changeset
2796 function maybe_do_xtick_mirror (plot_stream, axis_obj)
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
2797
19000
1ad621d894ba Fix set(gca, 'xtick', []) with gnuplot backend (bug #42936).
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18999
diff changeset
2798 if (! isempty(axis_obj.xtick))
1ad621d894ba Fix set(gca, 'xtick', []) with gnuplot backend (bug #42936).
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18999
diff changeset
2799 fprintf (plot_stream, "unset x2tics; set xtics %s nomirror\n",
1ad621d894ba Fix set(gca, 'xtick', []) with gnuplot backend (bug #42936).
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18999
diff changeset
2800 axis_obj.tickdir);
1ad621d894ba Fix set(gca, 'xtick', []) with gnuplot backend (bug #42936).
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18999
diff changeset
2801 endif
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
2802
19000
1ad621d894ba Fix set(gca, 'xtick', []) with gnuplot backend (bug #42936).
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18999
diff changeset
2803 endfunction
1ad621d894ba Fix set(gca, 'xtick', []) with gnuplot backend (bug #42936).
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18999
diff changeset
2804
1ad621d894ba Fix set(gca, 'xtick', []) with gnuplot backend (bug #42936).
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18999
diff changeset
2805 function maybe_do_x2tick_mirror (plot_stream, axis_obj)
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
2806
19000
1ad621d894ba Fix set(gca, 'xtick', []) with gnuplot backend (bug #42936).
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18999
diff changeset
2807 if (! isempty(axis_obj.xtick))
1ad621d894ba Fix set(gca, 'xtick', []) with gnuplot backend (bug #42936).
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18999
diff changeset
2808 fprintf (plot_stream, "unset xtics; set x2tics %s nomirror\n",
1ad621d894ba Fix set(gca, 'xtick', []) with gnuplot backend (bug #42936).
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18999
diff changeset
2809 axis_obj.tickdir);
1ad621d894ba Fix set(gca, 'xtick', []) with gnuplot backend (bug #42936).
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18999
diff changeset
2810 endif
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
2811
19000
1ad621d894ba Fix set(gca, 'xtick', []) with gnuplot backend (bug #42936).
Serviscope Minor <serviscope_minor@verybigfrog.com>
parents: 18999
diff changeset
2812 endfunction
21758
ffad2baa90f7 maint: Use newlines to make code more readable.
Rik <rik@octave.org>
parents: 21751
diff changeset
2813