annotate scripts/plot/__go_draw_axes__.m @ 10157:cf17f22f1fd4

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