annotate src/pt-plot.cc @ 5046:ea74d76ff607

[project @ 2004-10-18 16:27:43 by jwe]
author jwe
date Mon, 18 Oct 2004 16:27:44 +0000
parents da607e9daf12
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
1 /*
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
2
2847
8b262e771614 [project @ 1997-03-27 16:18:26 by jwe]
jwe
parents: 2800
diff changeset
3 Copyright (C) 1996, 1997 John W. Eaton
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
4
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
5 This file is part of Octave.
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
6
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
7 Octave is free software; you can redistribute it and/or modify it
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
8 under the terms of the GNU General Public License as published by the
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
9 Free Software Foundation; either version 2, or (at your option) any
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
10 later version.
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
11
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
12 Octave is distributed in the hope that it will be useful, but WITHOUT
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
15 for more details.
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
16
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
17 You should have received a copy of the GNU General Public License
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
18 along with Octave; see the file COPYING. If not, write to the Free
1315
611d403c7f3d [project @ 1995-06-25 19:56:32 by jwe]
jwe
parents: 1297
diff changeset
19 Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
20
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
21 */
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
22
4192
5719210fff4c [project @ 2002-11-20 16:56:47 by jwe]
jwe
parents: 4098
diff changeset
23 #if defined (__GNUG__) && defined (USE_PRAGMA_INTERFACE_IMPLEMENTATION)
1297
12ecc2ecf0e3 [project @ 1995-05-01 18:39:43 by jwe]
jwe
parents: 1203
diff changeset
24 #pragma implementation
12ecc2ecf0e3 [project @ 1995-05-01 18:39:43 by jwe]
jwe
parents: 1203
diff changeset
25 #endif
12ecc2ecf0e3 [project @ 1995-05-01 18:39:43 by jwe]
jwe
parents: 1203
diff changeset
26
240
a99f28f5e351 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents: 191
diff changeset
27 #ifdef HAVE_CONFIG_H
1192
b6360f2d4fa6 [project @ 1995-03-30 21:38:35 by jwe]
jwe
parents: 1086
diff changeset
28 #include <config.h>
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
29 #endif
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
30
1343
94bedeb289e5 [project @ 1995-09-04 00:29:21 by jwe]
jwe
parents: 1328
diff changeset
31 #include <cstring>
94bedeb289e5 [project @ 1995-09-04 00:29:21 by jwe]
jwe
parents: 1328
diff changeset
32
3503
d14c483b3c12 [project @ 2000-02-01 04:06:07 by jwe]
jwe
parents: 3476
diff changeset
33 #include <fstream>
d14c483b3c12 [project @ 2000-02-01 04:06:07 by jwe]
jwe
parents: 3476
diff changeset
34 #include <iostream>
1728
42b4f904f1af [project @ 1996-01-09 11:36:01 by jwe]
jwe
parents: 1690
diff changeset
35 #include <string>
4214
b9317f3973ec [project @ 2002-12-04 04:57:01 by jwe]
jwe
parents: 4212
diff changeset
36 #include <stack>
1728
42b4f904f1af [project @ 1996-01-09 11:36:01 by jwe]
jwe
parents: 1690
diff changeset
37
1350
5f63d83dd694 [project @ 1995-09-05 07:37:59 by jwe]
jwe
parents: 1343
diff changeset
38 #ifdef HAVE_UNISTD_H
2442
f667d7ec08b9 [project @ 1996-10-30 18:46:22 by jwe]
jwe
parents: 2371
diff changeset
39 #ifdef HAVE_SYS_TYPES_H
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
40 #include <sys/types.h>
2442
f667d7ec08b9 [project @ 1996-10-30 18:46:22 by jwe]
jwe
parents: 2371
diff changeset
41 #endif
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
42 #include <unistd.h>
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
43 #endif
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
44
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
45 #include "procstream.h"
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
46
1802
8173b1fa052d [project @ 1996-01-29 06:10:18 by jwe]
jwe
parents: 1755
diff changeset
47 #include "file-ops.h"
2891
1a30f46e1870 [project @ 1997-04-28 01:49:00 by jwe]
jwe
parents: 2859
diff changeset
48 #include "lo-mappers.h"
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
49 #include "str-vec.h"
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
50
1352
19c10b8657d5 [project @ 1995-09-05 08:11:57 by jwe]
jwe
parents: 1350
diff changeset
51 #include "defun.h"
19c10b8657d5 [project @ 1995-09-05 08:11:57 by jwe]
jwe
parents: 1350
diff changeset
52 #include "error.h"
19c10b8657d5 [project @ 1995-09-05 08:11:57 by jwe]
jwe
parents: 1350
diff changeset
53 #include "gripes.h"
19c10b8657d5 [project @ 1995-09-05 08:11:57 by jwe]
jwe
parents: 1350
diff changeset
54 #include "load-save.h"
1742
a02f140ed897 [project @ 1996-01-12 11:09:39 by jwe]
jwe
parents: 1728
diff changeset
55 #include "oct-obj.h"
a02f140ed897 [project @ 1996-01-12 11:09:39 by jwe]
jwe
parents: 1728
diff changeset
56 #include "pt-cmd.h"
a02f140ed897 [project @ 1996-01-12 11:09:39 by jwe]
jwe
parents: 1728
diff changeset
57 #include "pt-exp.h"
a02f140ed897 [project @ 1996-01-12 11:09:39 by jwe]
jwe
parents: 1728
diff changeset
58 #include "pt-plot.h"
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
59 #include "pt-walk.h"
2209
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
60 #include "sighandlers.h"
1750
fd0d12493223 [project @ 1996-01-13 09:31:07 by jwe]
jwe
parents: 1742
diff changeset
61 #include "sysdep.h"
4879
013350fee837 [project @ 2004-04-23 15:46:29 by jwe]
jwe
parents: 4587
diff changeset
62 #include "unwind-prot.h"
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
63 #include "utils.h"
2371
dd29ab8af9e7 [project @ 1996-10-12 00:09:55 by jwe]
jwe
parents: 2305
diff changeset
64 #include "variables.h"
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
65
2176
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
66 // If TRUE, a replot command is issued automatically each time a plot
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
67 // changes in some way.
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
68 static bool Vautomatic_replot;
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
69
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
70 // The name of the shell command to execute to start gnuplot.
3523
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3503
diff changeset
71 static std::string Vgnuplot_binary;
2176
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
72
2289
d9fe34ccf2bf [project @ 1996-06-06 05:05:47 by jwe]
jwe
parents: 2211
diff changeset
73 // TRUE if gnuplot appears to support multiple plot windows with X11.
d9fe34ccf2bf [project @ 1996-06-06 05:05:47 by jwe]
jwe
parents: 2211
diff changeset
74 static bool Vgnuplot_has_frames;
d9fe34ccf2bf [project @ 1996-06-06 05:05:47 by jwe]
jwe
parents: 2211
diff changeset
75
1358
dc9c01f66a19 [project @ 1995-09-05 21:10:01 by jwe]
jwe
parents: 1352
diff changeset
76 // The number of lines we've plotted so far.
735
7455048010b9 [project @ 1994-09-24 03:22:34 by jwe]
jwe
parents: 662
diff changeset
77 static int plot_line_count = 0;
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
78
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
79 // Is this a parametric plot? Makes a difference for 3D plotting.
1827
effa9400766f [project @ 1996-02-02 14:07:51 by jwe]
jwe
parents: 1802
diff changeset
80 static bool parametric_plot = false;
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
81
943
4fc1ae8c24dc [project @ 1994-11-21 19:05:31 by jwe]
jwe
parents: 940
diff changeset
82 // The gnuplot terminal type.
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
83 static std::string gnuplot_terminal_type;
943
4fc1ae8c24dc [project @ 1994-11-21 19:05:31 by jwe]
jwe
parents: 940
diff changeset
84
478
90964309100b [project @ 1994-06-28 16:39:41 by jwe]
jwe
parents: 476
diff changeset
85 // Should the graph window be cleared before plotting the next line?
1827
effa9400766f [project @ 1996-02-02 14:07:51 by jwe]
jwe
parents: 1802
diff changeset
86 static bool clear_before_plotting = true;
478
90964309100b [project @ 1994-06-28 16:39:41 by jwe]
jwe
parents: 476
diff changeset
87
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
88 // List of files to delete when we exit or crash.
2614
ae47b0911863 [project @ 1997-01-21 03:57:46 by jwe]
jwe
parents: 2586
diff changeset
89 //
ae47b0911863 [project @ 1997-01-21 03:57:46 by jwe]
jwe
parents: 2586
diff changeset
90 // XXX FIXME XXX -- this should really be static, but that causes
ae47b0911863 [project @ 1997-01-21 03:57:46 by jwe]
jwe
parents: 2586
diff changeset
91 // problems on some systems.
4214
b9317f3973ec [project @ 2002-12-04 04:57:01 by jwe]
jwe
parents: 4212
diff changeset
92 std::stack <std::string> tmp_files;
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
93
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
94 // Pipe to gnuplot.
1449
df589c97e140 [project @ 1995-09-20 03:49:51 by jwe]
jwe
parents: 1358
diff changeset
95 static oprocstream *plot_stream = 0;
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
96
2211
71aef7b5339e [project @ 1996-05-15 13:00:17 by jwe]
jwe
parents: 2209
diff changeset
97 // ID of the plotter process.
71aef7b5339e [project @ 1996-05-15 13:00:17 by jwe]
jwe
parents: 2209
diff changeset
98 static pid_t plot_stream_pid = 0;
71aef7b5339e [project @ 1996-05-15 13:00:17 by jwe]
jwe
parents: 2209
diff changeset
99
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
100 // Gnuplot command strings that we use.
3523
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3503
diff changeset
101 static std::string Vgnuplot_command_plot;
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3503
diff changeset
102 static std::string Vgnuplot_command_replot;
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3503
diff changeset
103 static std::string Vgnuplot_command_splot;
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3503
diff changeset
104 static std::string Vgnuplot_command_using;
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3503
diff changeset
105 static std::string Vgnuplot_command_with;
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3503
diff changeset
106 static std::string Vgnuplot_command_axes;
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3503
diff changeset
107 static std::string Vgnuplot_command_title;
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3503
diff changeset
108 static std::string Vgnuplot_command_end;
866
f02ec9f8de65 [project @ 1994-11-02 05:19:02 by jwe]
jwe
parents: 777
diff changeset
109
597
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
110 static void
2209
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
111 plot_stream_death_handler (pid_t pid, int)
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
112 {
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
113 close_plot_stream ();
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
114
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
115 warning ("connection to external plotter (pid = %d) lost --", pid);
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
116 warning ("please try your plot command(s) again");
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
117 }
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
118
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
119 static void
597
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
120 open_plot_stream (void)
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
121 {
1827
effa9400766f [project @ 1996-02-02 14:07:51 by jwe]
jwe
parents: 1802
diff changeset
122 static bool initialized = false;
597
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
123
1449
df589c97e140 [project @ 1995-09-20 03:49:51 by jwe]
jwe
parents: 1358
diff changeset
124 if (plot_stream && ! *plot_stream)
df589c97e140 [project @ 1995-09-20 03:49:51 by jwe]
jwe
parents: 1358
diff changeset
125 {
df589c97e140 [project @ 1995-09-20 03:49:51 by jwe]
jwe
parents: 1358
diff changeset
126 delete plot_stream;
df589c97e140 [project @ 1995-09-20 03:49:51 by jwe]
jwe
parents: 1358
diff changeset
127 plot_stream = 0;
df589c97e140 [project @ 1995-09-20 03:49:51 by jwe]
jwe
parents: 1358
diff changeset
128 }
df589c97e140 [project @ 1995-09-20 03:49:51 by jwe]
jwe
parents: 1358
diff changeset
129
df589c97e140 [project @ 1995-09-20 03:49:51 by jwe]
jwe
parents: 1358
diff changeset
130 if (! plot_stream)
597
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
131 {
1827
effa9400766f [project @ 1996-02-02 14:07:51 by jwe]
jwe
parents: 1802
diff changeset
132 initialized = false;
943
4fc1ae8c24dc [project @ 1994-11-21 19:05:31 by jwe]
jwe
parents: 940
diff changeset
133
597
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
134 plot_line_count = 0;
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
135
4469
53ee020af847 [project @ 2003-07-26 03:45:10 by jwe]
jwe
parents: 4422
diff changeset
136 std::string plot_prog;
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
137
4469
53ee020af847 [project @ 2003-07-26 03:45:10 by jwe]
jwe
parents: 4422
diff changeset
138 if (Vgnuplot_binary.empty ())
2209
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
139 plot_prog = "gnuplot";
4469
53ee020af847 [project @ 2003-07-26 03:45:10 by jwe]
jwe
parents: 4422
diff changeset
140 else
53ee020af847 [project @ 2003-07-26 03:45:10 by jwe]
jwe
parents: 4422
diff changeset
141 plot_prog = "\"" + Vgnuplot_binary + "\"";
2209
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
142
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
143 // XXX FIXME XXX -- I'm not sure this is the right thing to do,
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
144 // but without it, C-c at the octave prompt will kill gnuplot...
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
145
2211
71aef7b5339e [project @ 1996-05-15 13:00:17 by jwe]
jwe
parents: 2209
diff changeset
146 #if defined (HAVE_POSIX_SIGNALS)
71aef7b5339e [project @ 1996-05-15 13:00:17 by jwe]
jwe
parents: 2209
diff changeset
147 sigset_t set, oset;
71aef7b5339e [project @ 1996-05-15 13:00:17 by jwe]
jwe
parents: 2209
diff changeset
148 sigemptyset (&set);
71aef7b5339e [project @ 1996-05-15 13:00:17 by jwe]
jwe
parents: 2209
diff changeset
149 sigaddset (&set, SIGINT);
71aef7b5339e [project @ 1996-05-15 13:00:17 by jwe]
jwe
parents: 2209
diff changeset
150 sigprocmask (SIG_BLOCK, &set, &oset);
2553
f57c52dcd5ed [project @ 1996-11-21 01:38:48 by jwe]
jwe
parents: 2543
diff changeset
151 #else
2705
18395aaeafb7 [project @ 1997-02-20 04:56:43 by jwe]
jwe
parents: 2614
diff changeset
152 volatile octave_interrupt_handler old_interrupt_handler
2553
f57c52dcd5ed [project @ 1996-11-21 01:38:48 by jwe]
jwe
parents: 2543
diff changeset
153 = octave_ignore_interrupts ();
2211
71aef7b5339e [project @ 1996-05-15 13:00:17 by jwe]
jwe
parents: 2209
diff changeset
154 #endif
2209
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
155
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
156 plot_stream = new oprocstream (plot_prog.c_str ());
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
157
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
158 if (plot_stream)
597
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
159 {
2209
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
160 if (! *plot_stream)
1449
df589c97e140 [project @ 1995-09-20 03:49:51 by jwe]
jwe
parents: 1358
diff changeset
161 {
df589c97e140 [project @ 1995-09-20 03:49:51 by jwe]
jwe
parents: 1358
diff changeset
162 delete plot_stream;
df589c97e140 [project @ 1995-09-20 03:49:51 by jwe]
jwe
parents: 1358
diff changeset
163 plot_stream = 0;
2209
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
164
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
165 error ("plot: unable to open pipe to `%s'", plot_prog.c_str ());
1449
df589c97e140 [project @ 1995-09-20 03:49:51 by jwe]
jwe
parents: 1358
diff changeset
166 }
2209
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
167 else
597
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
168 {
2211
71aef7b5339e [project @ 1996-05-15 13:00:17 by jwe]
jwe
parents: 2209
diff changeset
169 plot_stream_pid = plot_stream->pid ();
71aef7b5339e [project @ 1996-05-15 13:00:17 by jwe]
jwe
parents: 2209
diff changeset
170 octave_child_list::insert (plot_stream_pid,
71aef7b5339e [project @ 1996-05-15 13:00:17 by jwe]
jwe
parents: 2209
diff changeset
171 plot_stream_death_handler);
597
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
172 }
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
173 }
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
174 else
2209
859030f15706 [project @ 1996-05-15 11:46:43 by jwe]
jwe
parents: 2200
diff changeset
175 error ("plot: unable to open pipe to `%s'", plot_prog.c_str ());
2211
71aef7b5339e [project @ 1996-05-15 13:00:17 by jwe]
jwe
parents: 2209
diff changeset
176
71aef7b5339e [project @ 1996-05-15 13:00:17 by jwe]
jwe
parents: 2209
diff changeset
177 #if defined (HAVE_POSIX_SIGNALS)
71aef7b5339e [project @ 1996-05-15 13:00:17 by jwe]
jwe
parents: 2209
diff changeset
178 sigprocmask (SIG_SETMASK, &oset, 0);
2553
f57c52dcd5ed [project @ 1996-11-21 01:38:48 by jwe]
jwe
parents: 2543
diff changeset
179 #else
f57c52dcd5ed [project @ 1996-11-21 01:38:48 by jwe]
jwe
parents: 2543
diff changeset
180 octave_set_interrupt_handler (old_interrupt_handler);
2211
71aef7b5339e [project @ 1996-05-15 13:00:17 by jwe]
jwe
parents: 2209
diff changeset
181 #endif
597
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
182 }
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
183
1449
df589c97e140 [project @ 1995-09-20 03:49:51 by jwe]
jwe
parents: 1358
diff changeset
184 if (! error_state && plot_stream && *plot_stream && ! initialized)
597
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
185 {
1827
effa9400766f [project @ 1996-02-02 14:07:51 by jwe]
jwe
parents: 1802
diff changeset
186 initialized = true;
1449
df589c97e140 [project @ 1995-09-20 03:49:51 by jwe]
jwe
parents: 1358
diff changeset
187 *plot_stream << "set data style lines\n";
943
4fc1ae8c24dc [project @ 1994-11-21 19:05:31 by jwe]
jwe
parents: 940
diff changeset
188
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
189 if (! gnuplot_terminal_type.empty ())
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
190 *plot_stream << "set term " << gnuplot_terminal_type
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
191 << Vgnuplot_command_end;
597
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
192 }
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
193 }
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
194
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
195 static int
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
196 send_to_plot_stream (const std::string& cmd)
597
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
197 {
1449
df589c97e140 [project @ 1995-09-20 03:49:51 by jwe]
jwe
parents: 1358
diff changeset
198 if (! (plot_stream && *plot_stream))
597
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
199 {
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
200 open_plot_stream ();
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
201
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
202 if (error_state)
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
203 return -1;
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
204 }
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
205
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
206 int replot_len = Vgnuplot_command_replot.length ();
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
207 int splot_len = Vgnuplot_command_splot.length ();
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
208 int plot_len = Vgnuplot_command_plot.length ();
930
b02124748d40 [project @ 1994-11-16 01:40:19 by jwe]
jwe
parents: 929
diff changeset
209
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
210 bool is_replot = (Vgnuplot_command_replot == cmd.substr (0, replot_len));
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
211 bool is_splot = (Vgnuplot_command_splot == cmd.substr (0, splot_len));
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
212 bool is_plot = (Vgnuplot_command_plot == cmd.substr (0, plot_len));
661
9ccf86647203 [project @ 1994-08-30 04:41:56 by jwe]
jwe
parents: 637
diff changeset
213
9ccf86647203 [project @ 1994-08-30 04:41:56 by jwe]
jwe
parents: 637
diff changeset
214 if (plot_line_count == 0 && is_replot)
597
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
215 error ("replot: no previous plot");
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
216 else
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
217 {
1449
df589c97e140 [project @ 1995-09-20 03:49:51 by jwe]
jwe
parents: 1358
diff changeset
218 *plot_stream << cmd;
930
b02124748d40 [project @ 1994-11-16 01:40:19 by jwe]
jwe
parents: 929
diff changeset
219
5027
da607e9daf12 [project @ 2004-09-23 01:37:57 by jwe]
jwe
parents: 5026
diff changeset
220 octave_value mm = get_global_value ("__multiplot_mode__", true);
5026
06f7ff1aee5a [project @ 2004-09-23 01:04:32 by jwe]
jwe
parents: 5016
diff changeset
221
06f7ff1aee5a [project @ 2004-09-23 01:04:32 by jwe]
jwe
parents: 5016
diff changeset
222 bool is_multiplot_mode = mm.is_true ();
06f7ff1aee5a [project @ 2004-09-23 01:04:32 by jwe]
jwe
parents: 5016
diff changeset
223
06f7ff1aee5a [project @ 2004-09-23 01:04:32 by jwe]
jwe
parents: 5016
diff changeset
224 if (! (is_replot || is_splot || is_plot || is_multiplot_mode)
661
9ccf86647203 [project @ 1994-08-30 04:41:56 by jwe]
jwe
parents: 637
diff changeset
225 && plot_line_count > 0
2176
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
226 && Vautomatic_replot)
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
227 *plot_stream << Vgnuplot_command_replot << Vgnuplot_command_end;
930
b02124748d40 [project @ 1994-11-16 01:40:19 by jwe]
jwe
parents: 929
diff changeset
228
1449
df589c97e140 [project @ 1995-09-20 03:49:51 by jwe]
jwe
parents: 1358
diff changeset
229 plot_stream->flush ();
597
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
230 }
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
231
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
232 return 0;
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
233 }
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
234
581
bc813f5eb025 [project @ 1994-08-07 01:02:15 by jwe]
jwe
parents: 578
diff changeset
235 // Plotting, eh?
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
236
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
237 tree_plot_command::~tree_plot_command (void)
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
238 {
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
239 delete range;
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
240 delete plot_list;
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
241 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
242
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 543
diff changeset
243 void
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 543
diff changeset
244 tree_plot_command::eval (void)
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
245 {
143
7849db4b6dbc [project @ 1993-10-04 02:36:45 by jwe]
jwe
parents: 134
diff changeset
246 if (error_state)
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 543
diff changeset
247 return;
143
7849db4b6dbc [project @ 1993-10-04 02:36:45 by jwe]
jwe
parents: 134
diff changeset
248
597
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
249 open_plot_stream ();
205b8c2ef749 [project @ 1994-08-09 19:31:39 by jwe]
jwe
parents: 592
diff changeset
250
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
251 OSSTREAM plot_buf;
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
252
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
253 switch (ndim)
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
254 {
476
de9de43ad21f [project @ 1994-06-24 16:17:47 by jwe]
jwe
parents: 452
diff changeset
255 case 1:
478
90964309100b [project @ 1994-06-28 16:39:41 by jwe]
jwe
parents: 476
diff changeset
256 if (plot_line_count == 0)
90964309100b [project @ 1994-06-28 16:39:41 by jwe]
jwe
parents: 476
diff changeset
257 {
90964309100b [project @ 1994-06-28 16:39:41 by jwe]
jwe
parents: 476
diff changeset
258 if (plot_list)
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
259 plot_buf << Vgnuplot_command_plot;
478
90964309100b [project @ 1994-06-28 16:39:41 by jwe]
jwe
parents: 476
diff changeset
260 else
90964309100b [project @ 1994-06-28 16:39:41 by jwe]
jwe
parents: 476
diff changeset
261 {
90964309100b [project @ 1994-06-28 16:39:41 by jwe]
jwe
parents: 476
diff changeset
262 ::error ("replot: must have something to plot");
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 543
diff changeset
263 return;
478
90964309100b [project @ 1994-06-28 16:39:41 by jwe]
jwe
parents: 476
diff changeset
264 }
90964309100b [project @ 1994-06-28 16:39:41 by jwe]
jwe
parents: 476
diff changeset
265 }
90964309100b [project @ 1994-06-28 16:39:41 by jwe]
jwe
parents: 476
diff changeset
266 else
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
267 plot_buf << Vgnuplot_command_replot;
476
de9de43ad21f [project @ 1994-06-24 16:17:47 by jwe]
jwe
parents: 452
diff changeset
268 break;
777
a2f9d3fd720c [project @ 1994-10-07 14:01:53 by jwe]
jwe
parents: 771
diff changeset
269
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
270 case 2:
478
90964309100b [project @ 1994-06-28 16:39:41 by jwe]
jwe
parents: 476
diff changeset
271 if (clear_before_plotting || plot_line_count == 0)
90964309100b [project @ 1994-06-28 16:39:41 by jwe]
jwe
parents: 476
diff changeset
272 {
90964309100b [project @ 1994-06-28 16:39:41 by jwe]
jwe
parents: 476
diff changeset
273 plot_line_count = 0;
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
274 plot_buf << Vgnuplot_command_plot;
478
90964309100b [project @ 1994-06-28 16:39:41 by jwe]
jwe
parents: 476
diff changeset
275 }
90964309100b [project @ 1994-06-28 16:39:41 by jwe]
jwe
parents: 476
diff changeset
276 else
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
277 plot_buf << Vgnuplot_command_replot;
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
278 break;
777
a2f9d3fd720c [project @ 1994-10-07 14:01:53 by jwe]
jwe
parents: 771
diff changeset
279
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
280 case 3:
930
b02124748d40 [project @ 1994-11-16 01:40:19 by jwe]
jwe
parents: 929
diff changeset
281 if (clear_before_plotting || plot_line_count == 0)
b02124748d40 [project @ 1994-11-16 01:40:19 by jwe]
jwe
parents: 929
diff changeset
282 {
b02124748d40 [project @ 1994-11-16 01:40:19 by jwe]
jwe
parents: 929
diff changeset
283 plot_line_count = 0;
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
284 plot_buf << Vgnuplot_command_splot;
930
b02124748d40 [project @ 1994-11-16 01:40:19 by jwe]
jwe
parents: 929
diff changeset
285 }
b02124748d40 [project @ 1994-11-16 01:40:19 by jwe]
jwe
parents: 929
diff changeset
286 else
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
287 plot_buf << Vgnuplot_command_replot;
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
288 break;
777
a2f9d3fd720c [project @ 1994-10-07 14:01:53 by jwe]
jwe
parents: 771
diff changeset
289
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
290 default:
771
e16a175a8bb5 [project @ 1994-10-05 21:59:29 by jwe]
jwe
parents: 735
diff changeset
291 gripe_2_or_3_dim_plot ();
e16a175a8bb5 [project @ 1994-10-05 21:59:29 by jwe]
jwe
parents: 735
diff changeset
292 return;
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
293 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
294
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
295 if (range)
478
90964309100b [project @ 1994-06-28 16:39:41 by jwe]
jwe
parents: 476
diff changeset
296 {
90964309100b [project @ 1994-06-28 16:39:41 by jwe]
jwe
parents: 476
diff changeset
297 if (plot_line_count == 0)
90964309100b [project @ 1994-06-28 16:39:41 by jwe]
jwe
parents: 476
diff changeset
298 range->print (ndim, plot_buf);
90964309100b [project @ 1994-06-28 16:39:41 by jwe]
jwe
parents: 476
diff changeset
299 else
90964309100b [project @ 1994-06-28 16:39:41 by jwe]
jwe
parents: 476
diff changeset
300 warning ("can't specify new plot ranges with `replot' or while\
90964309100b [project @ 1994-06-28 16:39:41 by jwe]
jwe
parents: 476
diff changeset
301 hold is on");
90964309100b [project @ 1994-06-28 16:39:41 by jwe]
jwe
parents: 476
diff changeset
302 }
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
303
191
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
304 if (error_state)
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 543
diff changeset
305 return;
191
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
306
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
307 if (plot_list)
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
308 {
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
309 int status = plot_list->print (ndim, plot_buf);
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 543
diff changeset
310
771
e16a175a8bb5 [project @ 1994-10-05 21:59:29 by jwe]
jwe
parents: 735
diff changeset
311 if (error_state || status < 0)
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 543
diff changeset
312 return;
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
313 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
314
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
315 plot_buf << Vgnuplot_command_end << OSSTREAM_ENDS;
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
316
1358
dc9c01f66a19 [project @ 1995-09-05 21:10:01 by jwe]
jwe
parents: 1352
diff changeset
317 // Just testing...
dc9c01f66a19 [project @ 1995-09-05 21:10:01 by jwe]
jwe
parents: 1352
diff changeset
318 // char *message = plot_buf.str ();
3531
97cf542676e1 [project @ 2000-02-02 11:30:40 by jwe]
jwe
parents: 3523
diff changeset
319 // std::cout << "[*]" << message << "[*]\n";
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
320
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
321 std::string message = OSSTREAM_STR (plot_buf);
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
322
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
323 if (parametric_plot && ndim == 2)
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
324 {
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
325 warning ("can't make 2D parametric plot -- setting noparametric...");
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
326 send_to_plot_stream ("set noparametric\n");
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
327 send_to_plot_stream (message);
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
328 send_to_plot_stream ("set parametric\n");
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
329 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
330 else
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
331 send_to_plot_stream (message);
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
332
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
333 OSSTREAM_FREEZE (plot_buf);
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
334 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
335
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
336 void
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
337 tree_plot_command::accept (tree_walker& tw)
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
338 {
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
339 tw.visit_plot_command (*this);
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
340 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
341
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 543
diff changeset
342 plot_limits::~plot_limits (void)
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
343 {
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
344 delete x_range;
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
345 delete y_range;
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
346 delete z_range;
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
347 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
348
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
349 void
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
350 plot_limits::print (int ndim, OSSTREAM& plot_buf)
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
351 {
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
352 if (ndim == 2 || ndim == 3)
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
353 {
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
354 if (x_range)
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
355 x_range->print (plot_buf);
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
356 else
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
357 return;
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
358
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
359 if (y_range)
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
360 y_range->print (plot_buf);
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
361 else
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
362 return;
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
363 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
364
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
365 if (ndim == 3 && z_range)
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
366 z_range->print (plot_buf);
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
367 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
368
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
369 void
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
370 plot_limits::accept (tree_walker& tw)
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
371 {
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
372 tw.visit_plot_limits (*this);
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
373 }
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
374
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 543
diff changeset
375 plot_range::~plot_range (void)
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
376 {
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
377 delete lower;
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
378 delete upper;
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
379 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
380
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
381 void
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
382 plot_range::print (OSSTREAM& plot_buf)
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
383 {
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
384 plot_buf << " [";
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
385
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
386 if (lower)
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
387 {
2972
ae2471c4e5c0 [project @ 1997-05-15 19:22:05 by jwe]
jwe
parents: 2963
diff changeset
388 octave_value lower_val = lower->rvalue ();
ae2471c4e5c0 [project @ 1997-05-15 19:22:05 by jwe]
jwe
parents: 2963
diff changeset
389
191
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
390 if (error_state)
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
391 {
240
a99f28f5e351 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents: 191
diff changeset
392 ::error ("evaluating lower bound of plot range");
191
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
393 return;
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
394 }
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
395 else
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
396 {
629
0788882808bc [project @ 1994-08-19 14:33:40 by jwe]
jwe
parents: 610
diff changeset
397 double lo = lower_val.double_value ();
191
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
398 plot_buf << lo;
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
399 }
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
400 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
401
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
402 plot_buf << ":";
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
403
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
404 if (upper)
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
405 {
2972
ae2471c4e5c0 [project @ 1997-05-15 19:22:05 by jwe]
jwe
parents: 2963
diff changeset
406 octave_value upper_val = upper->rvalue ();
ae2471c4e5c0 [project @ 1997-05-15 19:22:05 by jwe]
jwe
parents: 2963
diff changeset
407
191
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
408 if (error_state)
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
409 {
240
a99f28f5e351 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents: 191
diff changeset
410 ::error ("evaluating upper bound of plot range");
191
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
411 return;
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
412 }
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
413 else
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
414 {
629
0788882808bc [project @ 1994-08-19 14:33:40 by jwe]
jwe
parents: 610
diff changeset
415 double hi = upper_val.double_value ();
191
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
416 plot_buf << hi;
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
417 }
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
418 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
419
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
420 plot_buf << "]";
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
421 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
422
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
423 void
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
424 plot_range::accept (tree_walker& tw)
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
425 {
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
426 tw.visit_plot_range (*this);
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
427 }
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
428
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 543
diff changeset
429 subplot_using::~subplot_using (void)
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
430 {
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
431 delete scanf_fmt;
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
432 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
433
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
434 int
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
435 subplot_using::eval (int ndim, int n_max)
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
436 {
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
437 if ((ndim == 2 && qual_count > 4)
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
438 || (ndim == 3 && qual_count > 3))
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
439 return -1;
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
440
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
441 if (qual_count > 0)
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
442 val.resize (qual_count);
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
443
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
444 for (int i = 0; i < qual_count; i++)
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
445 {
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
446 if (x[i])
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
447 {
2972
ae2471c4e5c0 [project @ 1997-05-15 19:22:05 by jwe]
jwe
parents: 2963
diff changeset
448 octave_value tmp = x[i]->rvalue ();
ae2471c4e5c0 [project @ 1997-05-15 19:22:05 by jwe]
jwe
parents: 2963
diff changeset
449
191
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
450 if (error_state)
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
451 {
240
a99f28f5e351 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents: 191
diff changeset
452 ::error ("evaluating plot using command");
191
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
453 return -1;
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
454 }
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
455
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
456 double val_tmp;
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
457 if (tmp.is_defined ())
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
458 {
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
459 val_tmp = tmp.double_value ();
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
460
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
461 if (error_state)
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
462 return -1;
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
463
1086
75fc98220389 [project @ 1995-01-31 04:17:15 by jwe]
jwe
parents: 1009
diff changeset
464 if (xisnan (val_tmp))
75fc98220389 [project @ 1995-01-31 04:17:15 by jwe]
jwe
parents: 1009
diff changeset
465 {
75fc98220389 [project @ 1995-01-31 04:17:15 by jwe]
jwe
parents: 1009
diff changeset
466 ::error ("NaN is invalid as a column specifier");
75fc98220389 [project @ 1995-01-31 04:17:15 by jwe]
jwe
parents: 1009
diff changeset
467 return -1;
75fc98220389 [project @ 1995-01-31 04:17:15 by jwe]
jwe
parents: 1009
diff changeset
468 }
75fc98220389 [project @ 1995-01-31 04:17:15 by jwe]
jwe
parents: 1009
diff changeset
469
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
470 int n = NINT (val_tmp);
1086
75fc98220389 [project @ 1995-01-31 04:17:15 by jwe]
jwe
parents: 1009
diff changeset
471
322
d93ab6bf48d7 [project @ 1994-02-02 04:30:42 by jwe]
jwe
parents: 240
diff changeset
472 if (n < 1 || n_max > 0 && n > n_max)
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
473 {
240
a99f28f5e351 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents: 191
diff changeset
474 ::error ("using: column %d out of range", n);
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
475 return -1;
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
476 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
477 else
2305
5a3f1d00a474 [project @ 1996-07-09 16:20:40 by jwe]
jwe
parents: 2289
diff changeset
478 val (i) = n;
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
479 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
480 else
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
481 return -1;
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
482 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
483 else
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
484 return -1;
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
485 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
486
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
487 if (scanf_fmt)
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
488 warning ("ignoring scanf format in plot command");
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
489
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
490 return 0;
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
491 }
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
492
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
493 ColumnVector
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
494 subplot_using::values (int ndim, int n_max)
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
495 {
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
496 int status = eval (ndim, n_max);
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
497
3587
b11f9c33558f [project @ 2000-02-08 05:54:21 by jwe]
jwe
parents: 3565
diff changeset
498 // XXX FIXME XXX -- is the following really right?
1203
da56532815ee [project @ 1995-04-03 22:58:38 by jwe]
jwe
parents: 1192
diff changeset
499 if (status < 0)
3587
b11f9c33558f [project @ 2000-02-08 05:54:21 by jwe]
jwe
parents: 3565
diff changeset
500 return ColumnVector (1, -1.0);
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
501
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
502 return val;
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
503 }
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
504
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
505 int
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
506 subplot_using::print (int ndim, int n_max, OSSTREAM& plot_buf)
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
507 {
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
508 int status = eval (ndim, n_max);
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
509
1203
da56532815ee [project @ 1995-04-03 22:58:38 by jwe]
jwe
parents: 1192
diff changeset
510 if (status < 0)
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
511 return -1;
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
512
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
513 for (int i = 0; i < qual_count; i++)
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
514 {
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
515 if (i == 0)
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
516 plot_buf << " " << Vgnuplot_command_using << " ";
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
517 else
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
518 plot_buf << ":";
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
519
2305
5a3f1d00a474 [project @ 1996-07-09 16:20:40 by jwe]
jwe
parents: 2289
diff changeset
520 plot_buf << val (i);
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
521 }
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
522
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
523 return 0;
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
524 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
525
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
526 void
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
527 subplot_using::accept (tree_walker& tw)
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
528 {
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
529 tw.visit_subplot_using (*this);
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
530 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
531
578
d169be9237fb [project @ 1994-08-03 20:06:54 by jwe]
jwe
parents: 543
diff changeset
532 subplot_style::~subplot_style (void)
1622
2aed00132ba2 [project @ 1995-11-06 17:36:48 by jwe]
jwe
parents: 1488
diff changeset
533 {
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
534 delete sp_linetype;
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
535 delete sp_pointtype;
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
536 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
537
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
538 int
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
539 subplot_style::print (OSSTREAM& plot_buf)
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
540 {
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
541 if (! sp_style.empty ())
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
542 {
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
543 plot_buf << " " << Vgnuplot_command_with << " " << sp_style;
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
544
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
545 if (sp_linetype)
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
546 {
2972
ae2471c4e5c0 [project @ 1997-05-15 19:22:05 by jwe]
jwe
parents: 2963
diff changeset
547 octave_value tmp = sp_linetype->rvalue ();
ae2471c4e5c0 [project @ 1997-05-15 19:22:05 by jwe]
jwe
parents: 2963
diff changeset
548
191
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
549 if (! error_state && tmp.is_defined ())
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
550 {
629
0788882808bc [project @ 1994-08-19 14:33:40 by jwe]
jwe
parents: 610
diff changeset
551 double val = tmp.double_value ();
1086
75fc98220389 [project @ 1995-01-31 04:17:15 by jwe]
jwe
parents: 1009
diff changeset
552 if (xisnan (val))
75fc98220389 [project @ 1995-01-31 04:17:15 by jwe]
jwe
parents: 1009
diff changeset
553 {
75fc98220389 [project @ 1995-01-31 04:17:15 by jwe]
jwe
parents: 1009
diff changeset
554 ::error ("NaN is invalid a plotting line style");
75fc98220389 [project @ 1995-01-31 04:17:15 by jwe]
jwe
parents: 1009
diff changeset
555 return -1;
75fc98220389 [project @ 1995-01-31 04:17:15 by jwe]
jwe
parents: 1009
diff changeset
556 }
75fc98220389 [project @ 1995-01-31 04:17:15 by jwe]
jwe
parents: 1009
diff changeset
557 else
75fc98220389 [project @ 1995-01-31 04:17:15 by jwe]
jwe
parents: 1009
diff changeset
558 plot_buf << " " << NINT (val);
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
559 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
560 else
191
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
561 {
240
a99f28f5e351 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents: 191
diff changeset
562 ::error ("evaluating plot style command");
191
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
563 return -1;
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
564 }
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
565 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
566
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
567 if (sp_pointtype)
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
568 {
2972
ae2471c4e5c0 [project @ 1997-05-15 19:22:05 by jwe]
jwe
parents: 2963
diff changeset
569 octave_value tmp = sp_pointtype->rvalue ();
ae2471c4e5c0 [project @ 1997-05-15 19:22:05 by jwe]
jwe
parents: 2963
diff changeset
570
191
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
571 if (! error_state && tmp.is_defined ())
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
572 {
629
0788882808bc [project @ 1994-08-19 14:33:40 by jwe]
jwe
parents: 610
diff changeset
573 double val = tmp.double_value ();
1086
75fc98220389 [project @ 1995-01-31 04:17:15 by jwe]
jwe
parents: 1009
diff changeset
574 if (xisnan (val))
75fc98220389 [project @ 1995-01-31 04:17:15 by jwe]
jwe
parents: 1009
diff changeset
575 {
75fc98220389 [project @ 1995-01-31 04:17:15 by jwe]
jwe
parents: 1009
diff changeset
576 ::error ("NaN is invalid a plotting point style");
75fc98220389 [project @ 1995-01-31 04:17:15 by jwe]
jwe
parents: 1009
diff changeset
577 return -1;
75fc98220389 [project @ 1995-01-31 04:17:15 by jwe]
jwe
parents: 1009
diff changeset
578 }
75fc98220389 [project @ 1995-01-31 04:17:15 by jwe]
jwe
parents: 1009
diff changeset
579 else
75fc98220389 [project @ 1995-01-31 04:17:15 by jwe]
jwe
parents: 1009
diff changeset
580 plot_buf << " " << NINT (val);
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
581 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
582 else
191
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
583 {
240
a99f28f5e351 [project @ 1993-11-30 20:24:36 by jwe]
jwe
parents: 191
diff changeset
584 ::error ("evaluating plot style command");
191
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
585 return -1;
b6b4d8c513fe [project @ 1993-10-29 23:41:39 by jwe]
jwe
parents: 143
diff changeset
586 }
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
587 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
588 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
589 else
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
590 return -1;
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
591
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
592 return 0;
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
593 }
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
594
2543
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
595 bool
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
596 subplot_style::columns_ok (int nc)
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
597 {
2543
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
598 bool retval = true;
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
599
4498
093e39f03506 [project @ 2003-09-05 16:55:42 by jwe]
jwe
parents: 4469
diff changeset
600 if ((almost_match ("boxes", sp_style, 5, 0)
093e39f03506 [project @ 2003-09-05 16:55:42 by jwe]
jwe
parents: 4469
diff changeset
601 && (! (nc == 2 || nc == 3)))
2543
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
602 || (almost_match ("boxerrorbars", sp_style, 5, 0)
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
603 && (! (nc == 3 || nc == 4 || nc == 5)))
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
604 || ((almost_match ("boxxyerrorbars", sp_style, 4, 0)
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
605 || almost_match ("xyerrorbars", sp_style, 2, 0))
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
606 && (! (nc == 4 || nc == 6 || nc == 7)))
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
607 || ((almost_match ("candlesticks", sp_style, 1, 0)
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
608 || almost_match ("financebars", sp_style, 2, 0))
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
609 && nc != 5)
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
610 || ((almost_match ("errorbars", sp_style, 1, 0)
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
611 || almost_match ("xerrorbars", sp_style, 1, 0)
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
612 || almost_match ("yerrorbars", sp_style, 1, 0))
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
613 && (! (nc == 3 || nc == 4))))
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
614 {
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
615 error
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
616 ("invalid number of data columns = %d specified for plot style `%s'",
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
617 nc, sp_style.c_str ());
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
618
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
619 retval = false;
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
620 }
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
621
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
622 return retval;
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
623 }
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
624
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
625 void
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
626 subplot_style::accept (tree_walker& tw)
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
627 {
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
628 tw.visit_subplot_style (*this);
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
629 }
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
630
3165
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
631 int
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
632 subplot_axes::print (OSSTREAM& plot_buf)
3165
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
633 {
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
634 if (! sp_axes.empty ())
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
635 plot_buf << " " << Vgnuplot_command_axes << " " << sp_axes;
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
636
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
637 return 0;
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
638 }
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
639
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
640 void
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
641 subplot_axes::accept (tree_walker& tw)
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
642 {
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
643 tw.visit_subplot_axes (*this);
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
644 }
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
645
878
e8a677c3f042 [project @ 1994-11-05 03:23:14 by jwe]
jwe
parents: 872
diff changeset
646 subplot::~subplot (void)
e8a677c3f042 [project @ 1994-11-05 03:23:14 by jwe]
jwe
parents: 872
diff changeset
647 {
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
648 delete sp_plot_data;
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
649 delete sp_using_clause;
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
650 delete sp_title_clause;
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
651 delete sp_style_clause;
3165
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
652 delete sp_axes_clause;
878
e8a677c3f042 [project @ 1994-11-05 03:23:14 by jwe]
jwe
parents: 872
diff changeset
653 }
e8a677c3f042 [project @ 1994-11-05 03:23:14 by jwe]
jwe
parents: 872
diff changeset
654
2086
bfb775fb6fe8 [project @ 1996-04-25 05:55:19 by jwe]
jwe
parents: 1996
diff changeset
655 octave_value
bfb775fb6fe8 [project @ 1996-04-25 05:55:19 by jwe]
jwe
parents: 1996
diff changeset
656 subplot::extract_plot_data (int ndim, octave_value& data)
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
657 {
2086
bfb775fb6fe8 [project @ 1996-04-25 05:55:19 by jwe]
jwe
parents: 1996
diff changeset
658 octave_value retval;
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
659
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
660 if (sp_using_clause)
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
661 {
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
662 ColumnVector val = sp_using_clause->values (ndim);
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
663
2086
bfb775fb6fe8 [project @ 1996-04-25 05:55:19 by jwe]
jwe
parents: 1996
diff changeset
664 octave_value_list args;
2963
c0c280cda856 [project @ 1997-05-12 03:25:07 by jwe]
jwe
parents: 2936
diff changeset
665
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
666 args(1) = val;
2086
bfb775fb6fe8 [project @ 1996-04-25 05:55:19 by jwe]
jwe
parents: 1996
diff changeset
667 args(0) = octave_value::magic_colon_t;
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
668
4271
be631c1720ea [project @ 2003-01-03 19:36:04 by jwe]
jwe
parents: 4261
diff changeset
669 retval = data.single_subsref ("(", args);
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
670
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
671 if (error_state)
2086
bfb775fb6fe8 [project @ 1996-04-25 05:55:19 by jwe]
jwe
parents: 1996
diff changeset
672 return octave_value ();
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
673 }
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
674 else
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
675 {
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
676 retval = data;
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
677 }
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
678
2543
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
679 int nc = retval.columns ();
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
680
2543
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
681 if (ndim == 2 && sp_style_clause && ! sp_style_clause->columns_ok (nc))
050924aee81a [project @ 1996-11-20 03:03:01 by jwe]
jwe
parents: 2542
diff changeset
682 return octave_value ();
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
683
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
684 return retval;
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
685 }
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
686
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
687 int
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
688 subplot::handle_plot_data (int ndim, OSSTREAM& plot_buf)
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
689 {
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
690 if (sp_plot_data)
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
691 {
2972
ae2471c4e5c0 [project @ 1997-05-15 19:22:05 by jwe]
jwe
parents: 2963
diff changeset
692 octave_value data = sp_plot_data->rvalue ();
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
693
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
694 if (! error_state && data.is_defined ())
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
695 {
3523
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3503
diff changeset
696 std::string file;
1750
fd0d12493223 [project @ 1996-01-13 09:31:07 by jwe]
jwe
parents: 1742
diff changeset
697
610
14b2a186a5c0 [project @ 1994-08-14 00:55:49 by jwe]
jwe
parents: 607
diff changeset
698 if (data.is_string ())
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
699 {
1358
dc9c01f66a19 [project @ 1995-09-05 21:10:01 by jwe]
jwe
parents: 1352
diff changeset
700 // Should really try to look at data file to determine
dc9c01f66a19 [project @ 1995-09-05 21:10:01 by jwe]
jwe
parents: 1352
diff changeset
701 // n_max. Can't do much about other arbitrary gnuplot
dc9c01f66a19 [project @ 1995-09-05 21:10:01 by jwe]
jwe
parents: 1352
diff changeset
702 // commands though...
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
703
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
704 int n_max = 0;
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
705
2926
66ef74ee5d9f [project @ 1997-05-05 03:20:52 by jwe]
jwe
parents: 2891
diff changeset
706 file = file_ops::tilde_expand (data.string_value ());
1728
42b4f904f1af [project @ 1996-01-09 11:36:01 by jwe]
jwe
parents: 1690
diff changeset
707
3523
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3503
diff changeset
708 std::ifstream ftmp (file.c_str ());
1750
fd0d12493223 [project @ 1996-01-13 09:31:07 by jwe]
jwe
parents: 1742
diff changeset
709
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
710 if (ftmp)
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
711 {
4090
18adbb958baa [project @ 2002-10-06 19:59:06 by jwe]
jwe
parents: 4066
diff changeset
712 plot_buf << " '" << file << "'";
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
713 }
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
714 else
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
715 {
1750
fd0d12493223 [project @ 1996-01-13 09:31:07 by jwe]
jwe
parents: 1742
diff changeset
716 file = "";
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
717
1358
dc9c01f66a19 [project @ 1995-09-05 21:10:01 by jwe]
jwe
parents: 1352
diff changeset
718 // Opening as a file failed. Let's try passing it
dc9c01f66a19 [project @ 1995-09-05 21:10:01 by jwe]
jwe
parents: 1352
diff changeset
719 // along as a plot command.
dc9c01f66a19 [project @ 1995-09-05 21:10:01 by jwe]
jwe
parents: 1352
diff changeset
720
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
721 plot_buf << " " << data.string_value ();
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
722 }
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
723
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
724 if (sp_using_clause)
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
725 {
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
726 int status = sp_using_clause->print (ndim, n_max, plot_buf);
1750
fd0d12493223 [project @ 1996-01-13 09:31:07 by jwe]
jwe
parents: 1742
diff changeset
727
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
728 if (status < 0)
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
729 return -1;
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
730 }
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
731 }
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
732 else
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
733 {
2086
bfb775fb6fe8 [project @ 1996-04-25 05:55:19 by jwe]
jwe
parents: 1996
diff changeset
734 octave_value tmp_data = extract_plot_data (ndim, data);
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
735
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
736 if (tmp_data.is_defined ())
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
737 {
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
738 switch (ndim)
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
739 {
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
740 case 2:
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
741 file = save_in_tmp_file (tmp_data, ndim);
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
742 break;
777
a2f9d3fd720c [project @ 1994-10-07 14:01:53 by jwe]
jwe
parents: 771
diff changeset
743
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
744 case 3:
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
745 file = save_in_tmp_file (tmp_data, ndim,
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
746 parametric_plot);
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
747 break;
777
a2f9d3fd720c [project @ 1994-10-07 14:01:53 by jwe]
jwe
parents: 771
diff changeset
748
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
749 default:
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
750 gripe_2_or_3_dim_plot ();
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
751 break;
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
752 }
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
753
1750
fd0d12493223 [project @ 1996-01-13 09:31:07 by jwe]
jwe
parents: 1742
diff changeset
754 if (file.length () > 0)
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
755 {
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
756 mark_for_deletion (file);
5046
ea74d76ff607 [project @ 2004-10-18 16:27:43 by jwe]
jwe
parents: 5027
diff changeset
757
ea74d76ff607 [project @ 2004-10-18 16:27:43 by jwe]
jwe
parents: 5027
diff changeset
758 // Include the using clause so that plotting
ea74d76ff607 [project @ 2004-10-18 16:27:43 by jwe]
jwe
parents: 5027
diff changeset
759 // with timefmt will work.
ea74d76ff607 [project @ 2004-10-18 16:27:43 by jwe]
jwe
parents: 5027
diff changeset
760
ea74d76ff607 [project @ 2004-10-18 16:27:43 by jwe]
jwe
parents: 5027
diff changeset
761 plot_buf << " '" << file << "' "
ea74d76ff607 [project @ 2004-10-18 16:27:43 by jwe]
jwe
parents: 5027
diff changeset
762 << Vgnuplot_command_using
ea74d76ff607 [project @ 2004-10-18 16:27:43 by jwe]
jwe
parents: 5027
diff changeset
763 << (ndim == 2 ? " 1:2" : " 1:2:3");
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
764 }
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
765 }
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
766 }
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
767 }
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
768 else
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
769 return -1;
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
770 }
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
771 else
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
772 return -1;
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
773
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
774 return 0;
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
775 }
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
776
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
777 int
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
778 subplot::print (int ndim, OSSTREAM& plot_buf)
872
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
779 {
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
780 int status = handle_plot_data (ndim, plot_buf);
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
781
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
782 if (status < 0)
fb24794ef0e2 [project @ 1994-11-04 00:59:24 by jwe]
jwe
parents: 871
diff changeset
783 return -1;
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
784
3165
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
785 if (sp_axes_clause)
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
786 {
4587
7b957b442818 [project @ 2003-11-10 15:50:39 by jwe]
jwe
parents: 4510
diff changeset
787 status = sp_axes_clause->print (plot_buf);
7b957b442818 [project @ 2003-11-10 15:50:39 by jwe]
jwe
parents: 4510
diff changeset
788
3165
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
789 if (status < 0)
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
790 return -1;
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
791 }
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
792
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
793 if (sp_title_clause)
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
794 {
2972
ae2471c4e5c0 [project @ 1997-05-15 19:22:05 by jwe]
jwe
parents: 2963
diff changeset
795 octave_value tmp = sp_title_clause->rvalue ();
ae2471c4e5c0 [project @ 1997-05-15 19:22:05 by jwe]
jwe
parents: 2963
diff changeset
796
610
14b2a186a5c0 [project @ 1994-08-14 00:55:49 by jwe]
jwe
parents: 607
diff changeset
797 if (! error_state && tmp.is_string ())
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
798 plot_buf << " " << Vgnuplot_command_title << " "
866
f02ec9f8de65 [project @ 1994-11-02 05:19:02 by jwe]
jwe
parents: 777
diff changeset
799 << '"' << tmp.string_value () << '"';
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
800 else
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
801 {
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
802 warning ("line title must be a string");
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
803 plot_buf << " " << Vgnuplot_command_title << " "
866
f02ec9f8de65 [project @ 1994-11-02 05:19:02 by jwe]
jwe
parents: 777
diff changeset
804 << '"' << "line " << plot_line_count << '"';
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
805 }
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
806 }
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
807 else
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
808 plot_buf << " " << Vgnuplot_command_title << " "
866
f02ec9f8de65 [project @ 1994-11-02 05:19:02 by jwe]
jwe
parents: 777
diff changeset
809 << '"' << "line " << plot_line_count << '"';
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
810
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
811 if (sp_style_clause)
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
812 {
4587
7b957b442818 [project @ 2003-11-10 15:50:39 by jwe]
jwe
parents: 4510
diff changeset
813 status = sp_style_clause->print (plot_buf);
7b957b442818 [project @ 2003-11-10 15:50:39 by jwe]
jwe
parents: 4510
diff changeset
814
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
815 if (status < 0)
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
816 return -1;
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
817 }
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
818
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
819 return 0;
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
820 }
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
821
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
822 void
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
823 subplot::accept (tree_walker& tw)
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
824 {
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
825 tw.visit_subplot (*this);
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
826 }
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
827
883
ff0bbf26b028 [project @ 1994-11-06 00:22:31 by jwe]
jwe
parents: 878
diff changeset
828 int
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
829 subplot_list::print (int ndim, OSSTREAM& plot_buf)
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
830 {
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
831 int status = 0;
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
832
4219
23d06c9e1edd [project @ 2002-12-06 21:29:17 by jwe]
jwe
parents: 4214
diff changeset
833 for (iterator p = begin (); p != end (); p++)
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
834 {
4219
23d06c9e1edd [project @ 2002-12-06 21:29:17 by jwe]
jwe
parents: 4214
diff changeset
835 subplot *elt = *p;
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
836
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
837 plot_line_count++;
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
838
4219
23d06c9e1edd [project @ 2002-12-06 21:29:17 by jwe]
jwe
parents: 4214
diff changeset
839 if (p != begin ())
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
840 plot_buf << ",\\\n ";
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
841
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
842 status = elt->print (ndim, plot_buf);
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
843
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
844 if (status < 0)
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
845 break;
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
846 }
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
847
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
848 return status;
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
849 }
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
850
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
851 void
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
852 subplot_list::accept (tree_walker& tw)
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
853 {
2124
97a566037a75 [project @ 1996-05-12 07:16:36 by jwe]
jwe
parents: 2086
diff changeset
854 tw.visit_subplot_list (*this);
591
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
855 }
7563a815389b [project @ 1994-08-09 01:18:36 by jwe]
jwe
parents: 584
diff changeset
856
3536
e8fbc8c3d6d9 [project @ 2000-02-02 12:01:00 by jwe]
jwe
parents: 3534
diff changeset
857 std::string
4261
bdaa0d3dfc0b [project @ 2003-01-02 22:55:23 by jwe]
jwe
parents: 4233
diff changeset
858 save_in_tmp_file (const octave_value& t, int ndim, bool parametric)
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
859 {
3523
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3503
diff changeset
860 std::string name = file_ops::tempnam ("", "oct-");
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
861
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
862 if (! name.empty ())
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
863 {
3523
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3503
diff changeset
864 std::ofstream file (name.c_str ());
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
865
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
866 if (file)
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
867 {
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
868 switch (ndim)
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
869 {
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
870 case 2:
3738
f20c30fa3a8d [project @ 2000-11-17 20:10:22 by jwe]
jwe
parents: 3587
diff changeset
871 save_ascii_data_for_plotting (file, t, name);
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
872 break;
777
a2f9d3fd720c [project @ 1994-10-07 14:01:53 by jwe]
jwe
parents: 771
diff changeset
873
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
874 case 3:
607
ae3b8b2924a0 [project @ 1994-08-13 20:11:17 by jwe]
jwe
parents: 597
diff changeset
875 save_three_d (file, t, parametric);
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
876 break;
777
a2f9d3fd720c [project @ 1994-10-07 14:01:53 by jwe]
jwe
parents: 771
diff changeset
877
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
878 default:
771
e16a175a8bb5 [project @ 1994-10-05 21:59:29 by jwe]
jwe
parents: 735
diff changeset
879 gripe_2_or_3_dim_plot ();
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
880 break;
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
881 }
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
882 }
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
883 else
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
884 {
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
885 error ("couldn't open temporary output file `%s'", name.c_str ());
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
886 name.resize (0);
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
887 }
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
888 }
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
889
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
890 return name;
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
891 }
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
892
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
893 void
3523
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3503
diff changeset
894 mark_for_deletion (const std::string& file)
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
895 {
1750
fd0d12493223 [project @ 1996-01-13 09:31:07 by jwe]
jwe
parents: 1742
diff changeset
896 tmp_files.push (file);
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
897 }
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
898
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
899 void
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
900 cleanup_tmp_files (void)
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
901 {
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
902 while (! tmp_files.empty ())
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
903 {
4214
b9317f3973ec [project @ 2002-12-04 04:57:01 by jwe]
jwe
parents: 4212
diff changeset
904 std::string filename = tmp_files.top ();
b9317f3973ec [project @ 2002-12-04 04:57:01 by jwe]
jwe
parents: 4212
diff changeset
905 tmp_files.pop ();
1750
fd0d12493223 [project @ 1996-01-13 09:31:07 by jwe]
jwe
parents: 1742
diff changeset
906 unlink (filename.c_str ());
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
907 }
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
908 }
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
909
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
910 void
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
911 close_plot_stream (void)
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
912 {
2211
71aef7b5339e [project @ 1996-05-15 13:00:17 by jwe]
jwe
parents: 2209
diff changeset
913 octave_child_list::remove (plot_stream_pid);
71aef7b5339e [project @ 1996-05-15 13:00:17 by jwe]
jwe
parents: 2209
diff changeset
914
1449
df589c97e140 [project @ 1995-09-20 03:49:51 by jwe]
jwe
parents: 1358
diff changeset
915 if (plot_stream)
df589c97e140 [project @ 1995-09-20 03:49:51 by jwe]
jwe
parents: 1358
diff changeset
916 {
3189
bef7b73c0724 [project @ 1998-10-16 18:05:26 by jwe]
jwe
parents: 3180
diff changeset
917 send_to_plot_stream ("\nquit\n");
1449
df589c97e140 [project @ 1995-09-20 03:49:51 by jwe]
jwe
parents: 1358
diff changeset
918 delete plot_stream;
df589c97e140 [project @ 1995-09-20 03:49:51 by jwe]
jwe
parents: 1358
diff changeset
919 plot_stream = 0;
df589c97e140 [project @ 1995-09-20 03:49:51 by jwe]
jwe
parents: 1358
diff changeset
920 }
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
921
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
922 plot_line_count = 0;
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
923 }
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
924
1328
ec2ab864e8eb [project @ 1995-08-22 22:32:34 by jwe]
jwe
parents: 1315
diff changeset
925 void
3523
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3503
diff changeset
926 do_external_plotter_cd (const std::string& newdir)
1328
ec2ab864e8eb [project @ 1995-08-22 22:32:34 by jwe]
jwe
parents: 1315
diff changeset
927 {
1449
df589c97e140 [project @ 1995-09-20 03:49:51 by jwe]
jwe
parents: 1358
diff changeset
928 if (plot_stream && *plot_stream)
1328
ec2ab864e8eb [project @ 1995-08-22 22:32:34 by jwe]
jwe
parents: 1315
diff changeset
929 {
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
930 OSSTREAM plot_buf;
4090
18adbb958baa [project @ 2002-10-06 19:59:06 by jwe]
jwe
parents: 4066
diff changeset
931 plot_buf << "cd '" << newdir << "'" << Vgnuplot_command_end
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
932 << OSSTREAM_ENDS;
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
933 send_to_plot_stream (OSSTREAM_STR (plot_buf));
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
934 OSSTREAM_FREEZE (plot_buf);
1328
ec2ab864e8eb [project @ 1995-08-22 22:32:34 by jwe]
jwe
parents: 1315
diff changeset
935 }
ec2ab864e8eb [project @ 1995-08-22 22:32:34 by jwe]
jwe
parents: 1315
diff changeset
936 }
ec2ab864e8eb [project @ 1995-08-22 22:32:34 by jwe]
jwe
parents: 1315
diff changeset
937
1957
0e6a0a271998 [project @ 1996-02-15 01:08:15 by jwe]
jwe
parents: 1827
diff changeset
938 DEFUN (clearplot, , ,
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
939 "-*- texinfo -*-\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
940 @deftypefn {Built-in Function} {} clearplot\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
941 @deftypefnx {Built-in Function} {} clg\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
942 Clear the plot window and any titles or axis labels. The name\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
943 @code{clg} is aliased to @code{clearplot} for compatibility with\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
944 @sc{Matlab}.\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
945 \n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
946 The commands @kbd{gplot clear}, @kbd{gsplot clear}, and @kbd{replot\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
947 clear} are equivalent to @code{clearplot}. (Previously, commands like\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
948 @kbd{gplot clear} would evaluate @code{clear} as an ordinary expression\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
949 and clear all the visible variables.)\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
950 @end deftypefn")
883
ff0bbf26b028 [project @ 1994-11-06 00:22:31 by jwe]
jwe
parents: 878
diff changeset
951 {
2086
bfb775fb6fe8 [project @ 1996-04-25 05:55:19 by jwe]
jwe
parents: 1996
diff changeset
952 octave_value_list retval;
4879
013350fee837 [project @ 2004-04-23 15:46:29 by jwe]
jwe
parents: 4587
diff changeset
953
013350fee837 [project @ 2004-04-23 15:46:29 by jwe]
jwe
parents: 4587
diff changeset
954 // We are clearing the plot window, so there is no need to redisplay
013350fee837 [project @ 2004-04-23 15:46:29 by jwe]
jwe
parents: 4587
diff changeset
955 // after each incremental change to the title, labels, etc.
013350fee837 [project @ 2004-04-23 15:46:29 by jwe]
jwe
parents: 4587
diff changeset
956
013350fee837 [project @ 2004-04-23 15:46:29 by jwe]
jwe
parents: 4587
diff changeset
957 unwind_protect_bool (Vautomatic_replot);
013350fee837 [project @ 2004-04-23 15:46:29 by jwe]
jwe
parents: 4587
diff changeset
958
013350fee837 [project @ 2004-04-23 15:46:29 by jwe]
jwe
parents: 4587
diff changeset
959 Vautomatic_replot = false;
930
b02124748d40 [project @ 1994-11-16 01:40:19 by jwe]
jwe
parents: 929
diff changeset
960
1358
dc9c01f66a19 [project @ 1995-09-05 21:10:01 by jwe]
jwe
parents: 1352
diff changeset
961 // XXX FIXME XXX -- instead of just clearing these things, it would
dc9c01f66a19 [project @ 1995-09-05 21:10:01 by jwe]
jwe
parents: 1352
diff changeset
962 // be nice if we could reset things to a user-specified default
dc9c01f66a19 [project @ 1995-09-05 21:10:01 by jwe]
jwe
parents: 1352
diff changeset
963 // state.
930
b02124748d40 [project @ 1994-11-16 01:40:19 by jwe]
jwe
parents: 929
diff changeset
964
b02124748d40 [project @ 1994-11-16 01:40:19 by jwe]
jwe
parents: 929
diff changeset
965 send_to_plot_stream ("set title\n");
b02124748d40 [project @ 1994-11-16 01:40:19 by jwe]
jwe
parents: 929
diff changeset
966 send_to_plot_stream ("set xlabel\n");
b02124748d40 [project @ 1994-11-16 01:40:19 by jwe]
jwe
parents: 929
diff changeset
967 send_to_plot_stream ("set ylabel\n");
940
16062e9a6b7e [project @ 1994-11-21 15:41:05 by jwe]
jwe
parents: 930
diff changeset
968 send_to_plot_stream ("set nogrid\n");
1000
de0df9547e08 [project @ 1994-12-21 15:56:47 by jwe]
jwe
parents: 999
diff changeset
969 send_to_plot_stream ("set nolabel\n");
940
16062e9a6b7e [project @ 1994-11-21 15:41:05 by jwe]
jwe
parents: 930
diff changeset
970
4879
013350fee837 [project @ 2004-04-23 15:46:29 by jwe]
jwe
parents: 4587
diff changeset
971 // Clear the plot display last.
013350fee837 [project @ 2004-04-23 15:46:29 by jwe]
jwe
parents: 4587
diff changeset
972
013350fee837 [project @ 2004-04-23 15:46:29 by jwe]
jwe
parents: 4587
diff changeset
973 send_to_plot_stream ("clear\n");
013350fee837 [project @ 2004-04-23 15:46:29 by jwe]
jwe
parents: 4587
diff changeset
974
013350fee837 [project @ 2004-04-23 15:46:29 by jwe]
jwe
parents: 4587
diff changeset
975 // Setting plot_line_count to zero makes a simple `replot' not work
013350fee837 [project @ 2004-04-23 15:46:29 by jwe]
jwe
parents: 4587
diff changeset
976 // after a `clearplot' command has been issued.
940
16062e9a6b7e [project @ 1994-11-21 15:41:05 by jwe]
jwe
parents: 930
diff changeset
977
16062e9a6b7e [project @ 1994-11-21 15:41:05 by jwe]
jwe
parents: 930
diff changeset
978 plot_line_count = 0;
930
b02124748d40 [project @ 1994-11-16 01:40:19 by jwe]
jwe
parents: 929
diff changeset
979
4879
013350fee837 [project @ 2004-04-23 15:46:29 by jwe]
jwe
parents: 4587
diff changeset
980 unwind_protect::run ();
013350fee837 [project @ 2004-04-23 15:46:29 by jwe]
jwe
parents: 4587
diff changeset
981
883
ff0bbf26b028 [project @ 1994-11-06 00:22:31 by jwe]
jwe
parents: 878
diff changeset
982 return retval;
ff0bbf26b028 [project @ 1994-11-06 00:22:31 by jwe]
jwe
parents: 878
diff changeset
983 }
ff0bbf26b028 [project @ 1994-11-06 00:22:31 by jwe]
jwe
parents: 878
diff changeset
984
884
d92f1ea6d0cd [project @ 1994-11-06 00:42:40 by jwe]
jwe
parents: 883
diff changeset
985 DEFALIAS (clg, clearplot);
d92f1ea6d0cd [project @ 1994-11-06 00:42:40 by jwe]
jwe
parents: 883
diff changeset
986
1957
0e6a0a271998 [project @ 1996-02-15 01:08:15 by jwe]
jwe
parents: 1827
diff changeset
987 DEFUN (closeplot, , ,
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
988 "-*- texinfo -*-\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
989 @deftypefn {Built-in Function} {} closeplot\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
990 Close stream to the @code{gnuplot} subprocess. If you are using X11,\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
991 this will close the plot window.\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
992 @end deftypefn")
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
993 {
2086
bfb775fb6fe8 [project @ 1996-04-25 05:55:19 by jwe]
jwe
parents: 1996
diff changeset
994 octave_value_list retval;
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
995 close_plot_stream ();
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
996 return retval;
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
997 }
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
998
4208
e96f52432059 [project @ 2002-12-03 19:48:57 by jwe]
jwe
parents: 4192
diff changeset
999 DEFCMD (hold, args, ,
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1000 "-*- texinfo -*-\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1001 @deftypefn {Built-in Function} {} hold @var{args}\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1002 Tell Octave to `hold' the current data on the plot when executing\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1003 subsequent plotting commands. This allows you to execute a series of\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1004 plot commands and have all the lines end up on the same figure. The\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1005 default is for each new plot command to clear the plot device first.\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1006 For example, the command\n\
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1007 \n\
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1008 @example\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1009 hold on\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1010 @end example\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1011 \n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1012 @noindent\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1013 turns the hold state on. An argument of @code{off} turns the hold state\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1014 off, and @code{hold} with no arguments toggles the current hold state.\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1015 @end deftypefn")
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1016 {
2086
bfb775fb6fe8 [project @ 1996-04-25 05:55:19 by jwe]
jwe
parents: 1996
diff changeset
1017 octave_value_list retval;
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1018
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
1019 int argc = args.length () + 1;
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
1020
1968
a2e206524aa0 [project @ 1996-02-17 02:54:24 by jwe]
jwe
parents: 1957
diff changeset
1021 string_vector argv = args.make_argv ("hold");
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
1022
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
1023 if (error_state)
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
1024 return retval;
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1025
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1026 switch (argc)
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1027 {
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1028 case 1:
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1029 clear_before_plotting = ! clear_before_plotting;
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1030 break;
777
a2f9d3fd720c [project @ 1994-10-07 14:01:53 by jwe]
jwe
parents: 771
diff changeset
1031
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1032 case 2:
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
1033 if (argv[1] == "on")
1827
effa9400766f [project @ 1996-02-02 14:07:51 by jwe]
jwe
parents: 1802
diff changeset
1034 clear_before_plotting = false;
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
1035 else if (argv[1] == "off")
1827
effa9400766f [project @ 1996-02-02 14:07:51 by jwe]
jwe
parents: 1802
diff changeset
1036 clear_before_plotting = true;
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1037 else
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1038 print_usage ("hold");
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1039 break;
777
a2f9d3fd720c [project @ 1994-10-07 14:01:53 by jwe]
jwe
parents: 771
diff changeset
1040
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1041 default:
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1042 print_usage ("hold");
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1043 break;
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1044 }
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1045
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1046 return retval;
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1047 }
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1048
1957
0e6a0a271998 [project @ 1996-02-15 01:08:15 by jwe]
jwe
parents: 1827
diff changeset
1049 DEFUN (ishold, , ,
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1050 "-*- texinfo -*-\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1051 @deftypefn {Built-in Function} {} ishold\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1052 Return 1 if the next line will be added to the current plot, or 0 if\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1053 the plot device will be cleared before drawing the next line.\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1054 @end deftypefn")
735
7455048010b9 [project @ 1994-09-24 03:22:34 by jwe]
jwe
parents: 662
diff changeset
1055 {
4233
ccfdb55c8156 [project @ 2002-12-20 22:43:54 by jwe]
jwe
parents: 4219
diff changeset
1056 return octave_value (! clear_before_plotting);
735
7455048010b9 [project @ 1994-09-24 03:22:34 by jwe]
jwe
parents: 662
diff changeset
1057 }
7455048010b9 [project @ 1994-09-24 03:22:34 by jwe]
jwe
parents: 662
diff changeset
1058
1957
0e6a0a271998 [project @ 1996-02-15 01:08:15 by jwe]
jwe
parents: 1827
diff changeset
1059 DEFUN (purge_tmp_files, , ,
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1060 "-*- texinfo -*-\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1061 @deftypefn {Built-in Function} {} purge_tmp_files\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1062 Delete the temporary files created by the plotting commands.\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1063 \n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1064 Octave creates temporary data files for @code{gnuplot} and then sends\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1065 commands to @code{gnuplot} through a pipe. Octave will delete the\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1066 temporary files on exit, but if you are doing a lot of plotting you may\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1067 want to clean up in the middle of a session.\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1068 \n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1069 A future version of Octave will eliminate the need to use temporary\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1070 files to hold the plot data.\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1071 @end deftypefn")
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1072 {
2086
bfb775fb6fe8 [project @ 1996-04-25 05:55:19 by jwe]
jwe
parents: 1996
diff changeset
1073 octave_value_list retval;
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1074 cleanup_tmp_files ();
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1075 return retval;
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1076 }
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1077
3180
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1078
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1079 DEFUN (graw, args, ,
3442
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1080 "-*- texinfo -*-\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1081 @deftypefn {Built-in Function} {} graw (@var{string})\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1082 Send @var{string} directly to gnuplot subprocess.\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1083 @end deftypefn")
3180
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1084 {
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1085 octave_value_list retval;
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1086
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1087 if (args.length () == 1 && args(0).is_string ())
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1088 {
3523
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3503
diff changeset
1089 std::string cmd = args(0).string_value ();
3180
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1090
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1091 if (! (plot_stream && *plot_stream))
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1092 open_plot_stream ();
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1093
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1094 if (! error_state)
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1095 {
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1096 *plot_stream << cmd;
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1097
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1098 plot_stream->flush ();
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1099 }
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1100 }
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1101 else
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1102 print_usage ("graw");
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1103
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1104 return retval;
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1105 }
c17387059fd3 [project @ 1998-09-24 18:59:11 by jwe]
jwe
parents: 3165
diff changeset
1106
4208
e96f52432059 [project @ 2002-12-03 19:48:57 by jwe]
jwe
parents: 4192
diff changeset
1107 DEFCMD (gset, args, ,
3442
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1108 "-*- texinfo -*-\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1109 @deffn {Command} gset options\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1110 Set plotting options for gnuplot\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1111 @end deffn")
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1112 {
2086
bfb775fb6fe8 [project @ 1996-04-25 05:55:19 by jwe]
jwe
parents: 1996
diff changeset
1113 octave_value_list retval;
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1114
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
1115 int argc = args.length () + 1;
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
1116
1968
a2e206524aa0 [project @ 1996-02-17 02:54:24 by jwe]
jwe
parents: 1957
diff changeset
1117 string_vector argv = args.make_argv ("set");
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
1118
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
1119 if (error_state)
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
1120 return retval;
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1121
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
1122 OSSTREAM plot_buf;
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1123
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1124 if (argc > 1)
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1125 {
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1126 if (almost_match ("parametric", argv[1], 3))
1827
effa9400766f [project @ 1996-02-02 14:07:51 by jwe]
jwe
parents: 1802
diff changeset
1127 parametric_plot = true;
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1128 else if (almost_match ("noparametric", argv[1], 5))
1827
effa9400766f [project @ 1996-02-02 14:07:51 by jwe]
jwe
parents: 1802
diff changeset
1129 parametric_plot = false;
943
4fc1ae8c24dc [project @ 1994-11-21 19:05:31 by jwe]
jwe
parents: 940
diff changeset
1130 else if (almost_match ("term", argv[1], 1))
4fc1ae8c24dc [project @ 1994-11-21 19:05:31 by jwe]
jwe
parents: 940
diff changeset
1131 {
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
1132 gnuplot_terminal_type = "";
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
1133 OSSTREAM buf;
3476
78e1e0007f0f [project @ 2000-01-26 00:05:43 by jwe]
jwe
parents: 3458
diff changeset
1134 int i;
78e1e0007f0f [project @ 2000-01-26 00:05:43 by jwe]
jwe
parents: 3458
diff changeset
1135 for (i = 2; i < argc-1; i++)
943
4fc1ae8c24dc [project @ 1994-11-21 19:05:31 by jwe]
jwe
parents: 940
diff changeset
1136 buf << argv[i] << " ";
3476
78e1e0007f0f [project @ 2000-01-26 00:05:43 by jwe]
jwe
parents: 3458
diff changeset
1137 if (i < argc)
78e1e0007f0f [project @ 2000-01-26 00:05:43 by jwe]
jwe
parents: 3458
diff changeset
1138 buf << argv[i];
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
1139 buf << Vgnuplot_command_end << OSSTREAM_ENDS;
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
1140 gnuplot_terminal_type = OSSTREAM_STR (buf);
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
1141 OSSTREAM_FREEZE (buf);
943
4fc1ae8c24dc [project @ 1994-11-21 19:05:31 by jwe]
jwe
parents: 940
diff changeset
1142 }
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1143 }
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1144
3476
78e1e0007f0f [project @ 2000-01-26 00:05:43 by jwe]
jwe
parents: 3458
diff changeset
1145 int i;
78e1e0007f0f [project @ 2000-01-26 00:05:43 by jwe]
jwe
parents: 3458
diff changeset
1146 for (i = 0; i < argc-1; i++)
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1147 plot_buf << argv[i] << " ";
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1148
3476
78e1e0007f0f [project @ 2000-01-26 00:05:43 by jwe]
jwe
parents: 3458
diff changeset
1149 if (i < argc)
78e1e0007f0f [project @ 2000-01-26 00:05:43 by jwe]
jwe
parents: 3458
diff changeset
1150 plot_buf << argv[i];
78e1e0007f0f [project @ 2000-01-26 00:05:43 by jwe]
jwe
parents: 3458
diff changeset
1151
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
1152 plot_buf << Vgnuplot_command_end << OSSTREAM_ENDS;
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1153
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
1154 send_to_plot_stream (OSSTREAM_STR (plot_buf));
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1155
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
1156 OSSTREAM_FREEZE (plot_buf);
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1157
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1158 return retval;
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1159 }
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1160
4208
e96f52432059 [project @ 2002-12-03 19:48:57 by jwe]
jwe
parents: 4192
diff changeset
1161 DEFCMD (set, args, nargout,
3458
d25bc039237b [project @ 2000-01-19 09:36:14 by jwe]
jwe
parents: 3442
diff changeset
1162 "-*- texinfo -*-\n\
d25bc039237b [project @ 2000-01-19 09:36:14 by jwe]
jwe
parents: 3442
diff changeset
1163 This command is has been replaced by @code{gset}.")
2520
a034dcdbc282 [project @ 1996-11-15 04:57:21 by jwe]
jwe
parents: 2508
diff changeset
1164 {
2521
19b33e933eae [project @ 1996-11-15 05:28:26 by jwe]
jwe
parents: 2520
diff changeset
1165 warning ("set is obsolete -- use gset instead");
2520
a034dcdbc282 [project @ 1996-11-15 04:57:21 by jwe]
jwe
parents: 2508
diff changeset
1166 return Fgset (args, nargout);
a034dcdbc282 [project @ 1996-11-15 04:57:21 by jwe]
jwe
parents: 2508
diff changeset
1167 }
a034dcdbc282 [project @ 1996-11-15 04:57:21 by jwe]
jwe
parents: 2508
diff changeset
1168
4208
e96f52432059 [project @ 2002-12-03 19:48:57 by jwe]
jwe
parents: 4192
diff changeset
1169 DEFCMD (gshow, args, ,
3442
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1170 "-*- texinfo -*-\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1171 @deffn {Command} gshow options\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1172 Show plotting options.\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1173 @end deffn")
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1174 {
2086
bfb775fb6fe8 [project @ 1996-04-25 05:55:19 by jwe]
jwe
parents: 1996
diff changeset
1175 octave_value_list retval;
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1176
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
1177 int argc = args.length () + 1;
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
1178
1968
a2e206524aa0 [project @ 1996-02-17 02:54:24 by jwe]
jwe
parents: 1957
diff changeset
1179 string_vector argv = args.make_argv ("show");
1755
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
1180
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
1181 if (error_state)
3a9462b655f1 [project @ 1996-01-22 04:47:22 by jwe]
jwe
parents: 1750
diff changeset
1182 return retval;
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1183
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
1184 OSSTREAM plot_buf;
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1185
3476
78e1e0007f0f [project @ 2000-01-26 00:05:43 by jwe]
jwe
parents: 3458
diff changeset
1186 int i;
78e1e0007f0f [project @ 2000-01-26 00:05:43 by jwe]
jwe
parents: 3458
diff changeset
1187 for (i = 0; i < argc-1; i++)
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1188 plot_buf << argv[i] << " ";
3476
78e1e0007f0f [project @ 2000-01-26 00:05:43 by jwe]
jwe
parents: 3458
diff changeset
1189 if (i < argc)
78e1e0007f0f [project @ 2000-01-26 00:05:43 by jwe]
jwe
parents: 3458
diff changeset
1190 plot_buf << argv[i];
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1191
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
1192 plot_buf << Vgnuplot_command_end << OSSTREAM_ENDS;
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1193
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
1194 send_to_plot_stream (OSSTREAM_STR (plot_buf));
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1195
4051
b79da8779a0e [project @ 2002-08-17 19:38:32 by jwe]
jwe
parents: 3933
diff changeset
1196 OSSTREAM_FREEZE (plot_buf);
524
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1197
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1198 return retval;
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1199 }
2814c75c8398 [project @ 1994-07-20 18:36:24 by jwe]
jwe
parents: 491
diff changeset
1200
4208
e96f52432059 [project @ 2002-12-03 19:48:57 by jwe]
jwe
parents: 4192
diff changeset
1201 DEFCMD (show, args, nargout,
3458
d25bc039237b [project @ 2000-01-19 09:36:14 by jwe]
jwe
parents: 3442
diff changeset
1202 "-*- texinfo -*-\n\
d25bc039237b [project @ 2000-01-19 09:36:14 by jwe]
jwe
parents: 3442
diff changeset
1203 This command is has been replaced by @code{gshow}.")
2520
a034dcdbc282 [project @ 1996-11-15 04:57:21 by jwe]
jwe
parents: 2508
diff changeset
1204 {
2521
19b33e933eae [project @ 1996-11-15 05:28:26 by jwe]
jwe
parents: 2520
diff changeset
1205 warning ("show is obsolete -- use gshow instead");
2520
a034dcdbc282 [project @ 1996-11-15 04:57:21 by jwe]
jwe
parents: 2508
diff changeset
1206 return Fgshow (args, nargout);
a034dcdbc282 [project @ 1996-11-15 04:57:21 by jwe]
jwe
parents: 2508
diff changeset
1207 }
a034dcdbc282 [project @ 1996-11-15 04:57:21 by jwe]
jwe
parents: 2508
diff changeset
1208
2176
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1209 static int
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1210 automatic_replot (void)
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1211 {
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1212 Vautomatic_replot = check_preference ("automatic_replot");
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1213
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1214 return 0;
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1215 }
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1216
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1217 static int
3523
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3503
diff changeset
1218 set_string_var (std::string& var, const char *nm)
2176
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1219 {
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1220 int retval = 0;
2176
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1221
3523
b80bbb43a1a9 [project @ 2000-02-02 10:25:52 by jwe]
jwe
parents: 3503
diff changeset
1222 std::string s = builtin_string_variable (nm);
2176
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1223
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1224 if (s.empty ())
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1225 {
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1226 gripe_invalid_value_specified (nm);
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1227 retval = -1;
2176
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1228 }
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1229 else
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1230 var = s;
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1231
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1232 return retval;
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1233 }
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1234
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1235 static int
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1236 gnuplot_binary (void)
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1237 {
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1238 return set_string_var (Vgnuplot_binary, "gnuplot_binary");
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1239 }
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1240
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1241 static int
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1242 gnuplot_command_plot (void)
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1243 {
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1244 return set_string_var (Vgnuplot_command_plot, "gnuplot_command_plot");
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1245 }
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1246
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1247 static int
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1248 gnuplot_command_replot (void)
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1249 {
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1250 return set_string_var (Vgnuplot_command_replot, "gnuplot_command_replot");
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1251 }
2176
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1252
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1253 static int
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1254 gnuplot_command_splot (void)
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1255 {
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1256 return set_string_var (Vgnuplot_command_splot, "gnuplot_command_splot");
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1257 }
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1258
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1259 static int
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1260 gnuplot_command_using (void)
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1261 {
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1262 return set_string_var (Vgnuplot_command_using, "gnuplot_command_using");
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1263 }
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1264
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1265 static int
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1266 gnuplot_command_with (void)
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1267 {
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1268 return set_string_var (Vgnuplot_command_with, "gnuplot_command_with");
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1269 }
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1270
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1271 static int
3165
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
1272 gnuplot_command_axes (void)
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
1273 {
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
1274 return set_string_var (Vgnuplot_command_axes, "gnuplot_command_axes");
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
1275 }
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
1276
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
1277 static int
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1278 gnuplot_command_title (void)
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1279 {
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1280 return set_string_var (Vgnuplot_command_title, "gnuplot_command_title");
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1281 }
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1282
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1283 static int
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1284 gnuplot_command_end (void)
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1285 {
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1286 return set_string_var (Vgnuplot_command_end, "gnuplot_command_end");
2176
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1287 }
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1288
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1289 static int
2289
d9fe34ccf2bf [project @ 1996-06-06 05:05:47 by jwe]
jwe
parents: 2211
diff changeset
1290 gnuplot_has_frames (void)
d9fe34ccf2bf [project @ 1996-06-06 05:05:47 by jwe]
jwe
parents: 2211
diff changeset
1291 {
d9fe34ccf2bf [project @ 1996-06-06 05:05:47 by jwe]
jwe
parents: 2211
diff changeset
1292 Vgnuplot_has_frames = check_preference ("gnuplot_has_frames");
d9fe34ccf2bf [project @ 1996-06-06 05:05:47 by jwe]
jwe
parents: 2211
diff changeset
1293
d9fe34ccf2bf [project @ 1996-06-06 05:05:47 by jwe]
jwe
parents: 2211
diff changeset
1294 return 0;
d9fe34ccf2bf [project @ 1996-06-06 05:05:47 by jwe]
jwe
parents: 2211
diff changeset
1295 }
d9fe34ccf2bf [project @ 1996-06-06 05:05:47 by jwe]
jwe
parents: 2211
diff changeset
1296
2176
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1297 void
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1298 symbols_of_pt_plot (void)
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1299 {
4510
59eaa51e43d3 [project @ 2003-09-12 05:32:57 by jwe]
jwe
parents: 4498
diff changeset
1300 DEFVAR (automatic_replot, true, automatic_replot,
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1301 "-*- texinfo -*-\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1302 @defvr {Built-in Variable} automatic_replot\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1303 You can tell Octave to redisplay the plot each time anything about it\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1304 changes by setting the value of the builtin variable\n\
4510
59eaa51e43d3 [project @ 2003-09-12 05:32:57 by jwe]
jwe
parents: 4498
diff changeset
1305 @code{automatic_replot} to a nonzero value. Although it is fairly\n\
59eaa51e43d3 [project @ 2003-09-12 05:32:57 by jwe]
jwe
parents: 4498
diff changeset
1306 inefficient, especially for large plots, the default value is 1 for\n\
59eaa51e43d3 [project @ 2003-09-12 05:32:57 by jwe]
jwe
parents: 4498
diff changeset
1307 compatibility with Matlab.\n\
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1308 @end defvr");
2176
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1309
4098
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4090
diff changeset
1310 DEFVAR (gnuplot_binary, GNUPLOT_BINARY, gnuplot_binary,
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1311 "-*- texinfo -*-\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1312 @defvr {Built-in Variable} gnuplot_binary\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1313 The name of the program invoked by the plot command. The default value\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1314 is @code{\"gnuplot\"}. @xref{Installation}.\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1315 @end defvr");
2176
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1316
3258
4964d5391acc [project @ 1999-07-21 21:51:33 by jwe]
jwe
parents: 3189
diff changeset
1317 DEFVAR (gnuplot_command_plot, "pl", gnuplot_command_plot,
3442
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1318 "-*- texinfo -*-\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1319 @defvr {Built-in Variable} gnuplot_command_plot\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1320 @end defvr");
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1321
3258
4964d5391acc [project @ 1999-07-21 21:51:33 by jwe]
jwe
parents: 3189
diff changeset
1322 DEFVAR (gnuplot_command_replot, "rep", gnuplot_command_replot,
3442
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1323 "-*- texinfo -*-\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1324 @defvr {Built-in Variable} gnuplot_command_replot\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1325 @end defvr");
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1326
3258
4964d5391acc [project @ 1999-07-21 21:51:33 by jwe]
jwe
parents: 3189
diff changeset
1327 DEFVAR (gnuplot_command_splot, "sp", gnuplot_command_splot,
3442
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1328 "-*- texinfo -*-\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1329 @defvr {Built-in Variable} gnuplot_command_splot\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1330 @end defvr");
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1331
3258
4964d5391acc [project @ 1999-07-21 21:51:33 by jwe]
jwe
parents: 3189
diff changeset
1332 DEFVAR (gnuplot_command_using, "u", gnuplot_command_using,
3442
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1333 "-*- texinfo -*-\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1334 @defvr {Built-in Variable} gnuplot_command_using\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1335 @end defvr");
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1336
3258
4964d5391acc [project @ 1999-07-21 21:51:33 by jwe]
jwe
parents: 3189
diff changeset
1337 DEFVAR (gnuplot_command_with, "w", gnuplot_command_with,
3442
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1338 "-*- texinfo -*-\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1339 @defvr {Built-in Variable} gnuplot_command_with\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1340 @end defvr");
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1341
3258
4964d5391acc [project @ 1999-07-21 21:51:33 by jwe]
jwe
parents: 3189
diff changeset
1342 DEFVAR (gnuplot_command_axes, "ax", gnuplot_command_axes,
3442
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1343 "-*- texinfo -*-\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1344 @defvr {Built-in Variable} gnuplot_command_axes\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1345 @end defvr");
3165
e4bbfc196e53 [project @ 1998-04-16 03:01:47 by jwe]
jwe
parents: 3162
diff changeset
1346
3258
4964d5391acc [project @ 1999-07-21 21:51:33 by jwe]
jwe
parents: 3189
diff changeset
1347 DEFVAR (gnuplot_command_title, "t", gnuplot_command_title,
3442
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1348 "-*- texinfo -*-\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1349 @defvr {Built-in Variable} gnuplot_command_title\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1350 @end defvr");
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1351
3258
4964d5391acc [project @ 1999-07-21 21:51:33 by jwe]
jwe
parents: 3189
diff changeset
1352 DEFVAR (gnuplot_command_end, "\n", gnuplot_command_end,
3442
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1353 "-*- texinfo -*-\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1354 @defvr {Built-in Variable} gnuplot_command_end\n\
86e1068c2abb [project @ 2000-01-17 08:18:42 by jwe]
jwe
parents: 3373
diff changeset
1355 @end defvr");
3162
7c96e85c76db [project @ 1998-04-08 18:19:35 by jwe]
jwe
parents: 3156
diff changeset
1356
4098
8496ae60db8a [project @ 2002-10-10 05:20:20 by jwe]
jwe
parents: 4090
diff changeset
1357 #if defined (GNUPLOT_HAS_FRAMES)
4233
ccfdb55c8156 [project @ 2002-12-20 22:43:54 by jwe]
jwe
parents: 4219
diff changeset
1358 bool with_frames = true;
2289
d9fe34ccf2bf [project @ 1996-06-06 05:05:47 by jwe]
jwe
parents: 2211
diff changeset
1359 #else
4233
ccfdb55c8156 [project @ 2002-12-20 22:43:54 by jwe]
jwe
parents: 4219
diff changeset
1360 bool with_frames = false;
2289
d9fe34ccf2bf [project @ 1996-06-06 05:05:47 by jwe]
jwe
parents: 2211
diff changeset
1361 #endif
d9fe34ccf2bf [project @ 1996-06-06 05:05:47 by jwe]
jwe
parents: 2211
diff changeset
1362
3258
4964d5391acc [project @ 1999-07-21 21:51:33 by jwe]
jwe
parents: 3189
diff changeset
1363 DEFVAR (gnuplot_has_frames, with_frames, gnuplot_has_frames,
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1364 "-*- texinfo -*-\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1365 @defvr {Built-in Variable} gnuplot_has_frames\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1366 If the value of this variable is nonzero, Octave assumes that your copy\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1367 of gnuplot has support for multiple frames that is included in recent\n\
5016
bdbee5282954 [project @ 2004-09-22 02:50:35 by jwe]
jwe
parents: 4879
diff changeset
1368 3.6beta releases. Its initial value is determined by configure, but it\n\
3368
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1369 can be changed in your startup script or at the command line in case\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1370 configure got it wrong, or if you upgrade your gnuplot installation.\n\
a4cd1e9d9962 [project @ 1999-11-20 17:22:48 by jwe]
jwe
parents: 3258
diff changeset
1371 @end defvr");
2176
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1372 }
868d82fe5fdc [project @ 1996-05-13 16:22:01 by jwe]
jwe
parents: 2124
diff changeset
1373
1
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
1374 /*
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
1375 ;;; Local Variables: ***
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
1376 ;;; mode: C++ ***
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
1377 ;;; End: ***
78fd87e624cb [project @ 1993-08-08 01:13:40 by jwe]
jwe
parents:
diff changeset
1378 */