In MARK+3 (src/db.lisp), quiet warning from SBCL about "Derived type conflicting...
[maxima.git] / doc / info / ja / Plotting.texi
blob87a82b08b24e9557ffd7fa0b6356a1ab55515600
1 @menu
2 * Introduction to Plotting::
3 * Plotting Formats::
4 * Functions and Variables for Plotting::
5 * Plotting Options::
6 * Gnuplot Options::
7 * Gnuplot_pipes Format Functions::
8 @end menu
10 @c -----------------------------------------------------------------------------
11 @node Introduction to Plotting, Plotting Formats, Plotting, Plotting
12 @section Introduction to Plotting
13 @c -----------------------------------------------------------------------------
15 Maximaは、プロットするために、外部のプロットパッケージを使います
16 (以下のPlottingフォーマットを参照してください)。
17 プロット関数は、点一式を計算し、コマンド一式と一緒にプロットパッケージに渡します。
18 その情報は、パイプを通したり、
19 データが保存されたファイル名と共にプログラムをコールすることで、
20 外部のプログラムに渡されます。
21 データファイルは名前@code{maxout.interface}を与えられます。
22 @code{interface}は使われるプロットインターフェース名
23 (gnuplot, xmaxima, mgnuplotまたはgnuplot_pipes)です。
25 @code{maxout.interface}ファイルが使われる場合、
26 システム変数@var{maxima_tempdir}で指定されたディレクトリに生成されます。
27 場所は変更できます; その変数に、Maximaが新しいファイルを作ることができる有効なディレクトリ
28 を示す文字列を割り当てることで。
30 プロットが生成さられた後でも、
31 ファイル@code{maxout.interface}は、
32 適切な外部のプログラムで再度実行することができます。
33 もしMaximaのプロットコマンドが何かを表示するのに失敗したなら、
34 問題の可能性のある元をファイルで調べることができます。
36 この章で記述されたプロット関数と合わせて、
37 パッケージ @code{draw}は他の機能を加えます。
38 いくつかのプロットオプションはどちらのプロット文脈でも同じ名前が付けられていますが、
39 異なる構文を持つことに注意してください;
40 もしこれらのオプションに関係した描画情報をアクセスしたいなら、
41 @code{?? opt}とタイプしなければいけません。ここで、@code{opt}はオプション名です。
43 @opencatbox
44 @category{Plotting}
45 @closecatbox
47 @c -----------------------------------------------------------------------------
48 @node Plotting Formats, Functions and Variables for Plotting, Introduction to Plotting, Plotting
49 @section Plotting Formats
50 @c -----------------------------------------------------------------------------
52 現在、Maximaが使う2つの外部のプロットプログラムがあります:
53 GnuplotとXmaximaです。
54 これらのプログラムに対して様々な異なるフォーマットがあります。
55 それらは、オプション@code{plot_format}で選択することができます。
56 (Plotting Options節を参照してください。)
58 プロットフォーマットは以下の通りです:
60 @itemize @bullet
61 @item
62 @strong{gnuplot} (Windowsでのデフォルト)
64 外部のプログラムgnuplotを起動するのに使われます。
65 gnuplotはあなたのシステムにインストールされていなければいけません。
66 すべてのプロットコマンドとデータは、ファイル@code{maxout.gnuplot}に保存されます。
68 @item
69 @strong{gnuplot_pipes} (Windows以外のプラットフォームでのデフォルト)
71 このフォーマットはWindowsプラットフォームでは利用できません。
72 @code{gnuplot}フォーマットと似ていますが、
73 データがファイル@code{maxout.gnuplot_pipes}に保存される一方、
74 コマンドがパイプを通してgnuplotに送られるところが違います。
75 gnuplotパイプが関数@code{gnuplot_close()}で閉じられない限り、
76 1つのgnuplotプロセスが開き続けて、続きのプロットコマンドは同じプロセスに送られ、
77 以前のプロットを置き換えます。
78 このフォーマットが使われる時、関数@code{gnuplot_replot}は
79 スクリーン上に既に表示されたプロットを変更するのに使うことができます。
80 (@code{gnuplot_replot}を参照してください。)
82 このフォーマットはスクリーンへのプロットするのにだけ使うべきです;
83 ファイルへのプロットには@code{gnuplot}フォーマットを使ったほうがいいです。
85 @item
86 値: @code{mgnuplot}
88 Mgnuplotは、gnuplotのTkベースのラッパーです。
89 Maximaディストリビューションに含まれます。
90 Mgnuplotはgnuplotの基本的なGUIを提供しますが、gnuplotの素のインターフェースより
91 総合的な特長が少ないです。
92 Mgnuplotは、gnuplotとTckl/Tkを別途インストールする必要があります。
94 @item
95 @strong{xmaxima}
97 XmaximaはMaxima用Tcl/Tkグラフィカルインターフェースです。
98 これもまた、コンソールや他のグラフィカルインターフェースからMaximaを走らせた時、
99 生成されるプロットを表示するのに使うことができます。
100 このフォーマットを使うには、xmaximaプログラム―これはMaximaと一緒に配布されます―
101 をインストールする必要があります。
102 もしMaximaをxmaxima自身から走らせるなら、
103 このフォーマットは、MaximaとXmaximaの間の通信に使われているのと同じソケットを通して、
104 プロット関数にデータとコマンドを送らせます。
105 コンソールや他のインターフェースから使われる時、
106 xmaximaプログラムはそのファイルの位置の名前を引数として起動されます。
108 以前のバージョンでは、このフォーマットは@code{openmath}と呼ばれていました;
109 その古い名前はまだ@code{xmaxima}に対する同義語として受け付けられます。
111 @end itemize
113 @opencatbox
114 @category{Plotting}
115 @closecatbox
117 @c -----------------------------------------------------------------------------
118 @node Functions and Variables for Plotting, Plotting Options, Plotting Formats, Plotting
119 @section Functions and Variables for Plotting
120 @c -----------------------------------------------------------------------------
122 @c -----------------------------------------------------------------------------
123 @anchor{contour_plot}
124 @deffn {関数} contour_plot (@var{expr}, @var{x_range}, @var{y_range}, @var{options}, @dots{})
126 @var{expr}の等高線を、領域@var{x_range}、@var{y_range}でプロットします。
127 他の引数は、@code{plot3d}と同じように扱われます。
129 この関数は、プロットフォーマットが@code{gnuplot}か@code{gnuplot_pipes}の時だけ、
130 動作します。
131 付加パッケージ@code{implicit_plot}も等高線をプロットするのに使われ、
132 それは任意のフォーマットで動作します。
133 @code{implicit_plot}も参照してください。
135 例:
137 @c ===beg===
138 @c contour_plot (x^2 + y^2, [x, -4, 4], [y, -4, 4])$
139 @c ===end===
140 @example
141 (%i1) contour_plot (x^2 + y^2, [x, -4, 4], [y, -4, 4])$
142 @end example
144 @ifnotinfo
145 @image{@value{figuresfolder}/plotting2,8cm}
146 @end ifnotinfo
148 @c ===beg===
149 @c F(x, y) := x^3 + y^2;
150 @c contour_plot (F, [u, -4, 4], [v, -4, 4])$
151 @c ===end===
152 @example
153 @group
154 (%i1) F(x, y) := x^3 + y^2;
155                                    3    2
156 (%o1)                  F(x, y) := x  + y
157 @end group
158 (%i2) contour_plot (F, [u, -4, 4], [v, -4, 4])$
159 @end example
161 @code{plot3d}が受け付ける任意のオプションを足すことができます;
162 例えば、オプション@code{legend}にfalseの値を入れると、凡例を取り除きます。
163 Gnuplotはデフォルトで3つの高等線を示すように選びます。
164 レベルの数を増やすには、カスタムのgnuplot前置きを指定する必要があります;
166 @c ===beg===
167 @c contour_plot (u^3 + v^2, [u, -4, 4], [v, -4, 4], 
168 @c               [legend,false],
169 @c               [gnuplot_preamble, "set cntrparam levels 12"])$
170 @c ===end===
171 @example
172 @group
173 (%i1) contour_plot (u^3 + v^2, [u, -4, 4], [v, -4, 4], 
174                     [legend,false],
175                     [gnuplot_preamble, "set cntrparam levels 12"])$
176 @end group
177 @end example
179 @opencatbox
180 @category{Plotting}
181 @closecatbox
182 @end deffn
184 @c -----------------------------------------------------------------------------
185 @anchor{get_plot_option}
186 @deffn {関数} get_plot_option (@var{keyword}, @var{index})
188 グローバル変数@code{plot_options}に保存されている
189 名前@var{keyword}を持つオプションの値を返します。
190 添字で1の値はキーワード自身を返します;
191 2番の値はキーワードに続く一番目のパラメータを返す、などなど。
193 @code{plot_options}や@code{set_plot_option}、Plotting Optionの節も参照してください。
194 @end deffn
196 @c -----------------------------------------------------------------------------
197 @anchor{make_transform}
198 @deffn {関数} make_transform ([@var{var1}, @var{var2}, @var{var3}], @var{fx}, @var{fy}, @var{fz})
200 plot3dのオプション@code{transform_xy}で使われるのに適した関数を返します。
201 3つの変数@var{var1}, @var{var2}, @var{var3}は3つのダミー変数名です。
202 それらは、plot3dコマンドが与える3変数
203 (最初2つの独立変数と、その後それら2つの変数に依存する関数)を表します。
204 3つの関数@var{fx}, @var{fy}, @var{fz}は、
205 それら3変数にだけ依存しなければいけなく、プロットすべき対応するx, y, z座標を与えます。
206 デフォルトで定義された2つの変換があります;
207 @code{polar_to_xy}と@code{spherical_to_xyz};
208 それら2つの変換に関するドキュメンテーションを参照してください。
210 @opencatbox
211 @category{Plotting}
212 @closecatbox
213 @end deffn
215 @c -----------------------------------------------------------------------------
216 @anchor{polar_to_xy}
217 @deffn {システム関数} polar_to_xy
219 plot3dの@code{transform_xy}オプションに対する値として与えることができます。
220 その効果はplot3dの2つの独立変数をz軸からの距離と方位角(極座標)として通訳し、
221 それらをxとy座標に変換することです。
223 @opencatbox
224 @category{Plotting}
225 @closecatbox
226 @end deffn
228 @c -----------------------------------------------------------------------------
229 @anchor{plot2d}
230 @deffn  {関数} plot2d (@var{plot}, @var{x_range}, @dots{}, @var{options}, @dots{})
231 @deffnx {関数} plot2d ([@var{plot_1}, @dots{}, @var{plot_n}], @dots{}, @var{options}, @dots{})
232 @deffnx {関数} plot2d ([@var{plot_1}, @dots{}, @var{plot_n}], @var{x_range}, @dots{}, @var{options}, @dots{})
234 ここで、@var{plot}, @var{plot_1}, @dots{}, @var{plot_n}は式か関数名、もしくは以下のいずれかの形式のリストです:
236 @code{[discrete, [@var{x1}, ..., @var{xn}], [@var{y1}, ..., @var{yn}]]},
237 @code{[discrete, [[@var{x1}, @var{y1}],
238 ..., [@var{xn}, ..., @var{yn}]]}, 
239 または@code{[parametric, @var{x_expr}, @var{y_expr}, @var{t_range}]}.
241 1つもしくは複数の式を1変数か1パラメータの関数としてプロット表示します。
243 @code{plot2d}は1つもしくは複数のプロットを2次元に表示します。
244 プロットを定義するのに式や関数名を使う時には、
245 それらは1変数@var{var}だけに依存すべきであり、
246 変数名とその最小値と最大値を提供するために@var{x_range}の使用が必須です;
247 @var{x_range}の構文法は以下の通りです:
249 @code{[@var{variable}, @var{min}, @var{max}]}
251 プロットを、離散形式やパラメトリック形式で定義することもできます。
252 離散形式は既定の座標で表された点の集合をプロットするのに使われます。
253 離散プロットは、キーワード@var{discrete}で始まり、
254 値についてのリスト1つか2つが続くリストで定義されます。
255 もし2つのリストが与えられたら、それらは同じ長さを持たなければいけません;
256 1番目のリストはプロットされる点のx座標として、
257 2番目のリストはy座標として解釈されます。
258 もし@var{discrete}キーワードの後、1つのリストだけ与えられたら、
259 リスト上のそれぞれの要素は、点のxとy座標に対応する2つの値を持つリストでなければいけません。
261 パラメトリックプロットは、
262 キーワード@var{parametric}で始まり、
263 2つの式か関数名と、パラメータの範囲が続くリストで定義されます。
264 パラメータの範囲は、パラメータ名とその最小値、最大値が続くリストでなければいけません:
266 @code{[@var{param}, @var{min}, @var{max}]}。
268 @var{param}が@var{min}から@var{max}に増えるにつれ、
269 2つの式または関数で与えられる座標の点によって描かれる軌跡をプロットは表示します。
271 垂直軸の範囲は以下の形式を持つオプション引数です:
273 @code{[y, @var{min}, @var{max}]}(キーワード@var{y}はいつも垂直軸に使われます)。
275 もしこのオプションを使ったなら、
276 プロットが到達する値と別に、ちょうどオプションの垂直範囲をプロットは表示します。
277 もし垂直範囲を指定しなかったなら、プロット点のy座標の最小値と最大値に従って、
278 垂直範囲が設定されます。
280 他のすべてのオプションも、
281 キーワードで始まり、1つか複数の値が続くリストでなければいけません。
282 @code{plot_options}を参照してください。
284 もし複数のプロットがプロットされるなら、式のそれぞれを識別するために凡例が書かれます。
285 その凡例で使われるラベルは、オプション@var{legend}で与えることができます。
286 もしそのオプションが使われないなら、Maximaは式や関数名からラベルを生成します。
288 @c PUT EXAMPLES FOR PRECEDING SIMPLE FORMS OF plot2d HERE
289 @strong{例:}
291 よくある関数のプロット:
293 @c ===beg===
294 @c plot2d (sin(x), [x, -%pi, %pi])$
295 @c ===end===
296 @example
297 (%i1) plot2d (sin(x), [x, -%pi, %pi])$
298 @end example
300 @ifnotinfo
301 @image{@value{figuresfolder}/plotting2,8cm}
302 @end ifnotinfo
304 もし関数の増大が速すぎるなら、yオプションを使って、垂直軸の値を制限する必要があるかもしれません:
306 @c ===beg===
307 @c plot2d (sec(x), [x, -2, 2], [y, -20, 20])$
308 @c ===end===
309 @example
310 @group
311 (%i1) plot2d (sec(x), [x, -2, 2], [y, -20, 20])$
312 plot2d: some values were clipped.
313 @end group
314 @end example
316 @ifnotinfo
317 @image{@value{figuresfolder}/plotting3,8cm}
318 @end ifnotinfo
320 プロットの外観は使うプロットプログラムに依存して異なるかもしれません。
321 プロットボックスが使用不可能になっている時、Xmaximaは矢印を使って軸をプロットします:
323 @c ===beg===
324 @c plot2d ( x^2-1, [x, -3, 3], [y, -2, 10], 
325 @c                 [box, false], [plot_format, xmaxima])$
326 @c ===end===
327 @example
328 @group
329 (%i1) plot2d ( x^2-1, [x, -3, 3], [y, -2, 10],
330                       [box, false], [plot_format, xmaxima])$
331 @end group
332 @end example
334 @ifnotinfo
335 @image{@value{figuresfolder}/plotting1,8cm}
336 @end ifnotinfo
338 対数プロットの例:
340 @c ===beg===
341 @c plot2d (exp(3*s), [s, -2, 2], [logy])$
342 @c ===end===
343 @example
344 (%i11) plot2d (exp(3*s), [s, -2, 2], [logy])$
345 @end example
347 @ifnotinfo
348 @image{@value{figuresfolder}/plotting4,8cm}
349 @end ifnotinfo
351 関数を名前でプロット:
353 @c ===beg===
354 @c F(x) := x^2 $
355 @c :lisp (defun |$g| (x) (m* x x x))
356 @c H(x) := if x < 0 then x^4 - 1 else 1 - x^5 $
357 @c plot2d ([F, G, H], [u, -1, 1], [y, -1.5, 1.5])$
358 @c ===end===
359 @example
360 (%i1) F(x) := x^2 $
361 @group
362 (%i2) :lisp (defun |$g| (x) (m* x x x))
364 @end group
365 (%i2) H(x) := if x < 0 then x^4 - 1 else 1 - x^5 $
366 (%i3) plot2d ([F, G, H], [u, -1, 1], [y, -1.5, 1.5])$
367 @end example
369 @ifnotinfo
370 @image{@value{figuresfolder}/plotting5,8cm}
371 @end ifnotinfo
373 パラメトリックに定義されたバタフライカーブのプロット:
375 @c ===beg===
376 @c r: (exp(cos(t))-2*cos(4*t)-sin(t/12)^5)$
377 @c plot2d([parametric, r*sin(t), r*cos(t), 
378 @c        [t, -8*%pi, 8*%pi], [nticks, 2000]])$
379 @c ===end===
380 @example
381 (%i1) r: (exp(cos(t))-2*cos(4*t)-sin(t/12)^5)$
382 (%i2) plot2d([parametric, r*sin(t), r*cos(t), 
383              [t, -8*%pi, 8*%pi], [nticks, 2000]])$
384 @end example
386 @ifnotinfo
387 @image{@value{figuresfolder}/plotting6,8cm}
388 @end ifnotinfo
390 7点だけでプロットする時の2回転「円」:
392 @c ===beg===
393 @c plot2d ([parametric, cos(t), sin(t),
394 @c         [t, -2*%pi, 2*%pi], [nticks, 8]])$
395 @c ===end===
396 @example
397 @group
398 (%i1) plot2d ([parametric, cos(t), sin(t),
399               [t, -2*%pi, 2*%pi], [nticks, 8]])$
400 @end group
401 @end example
403 @ifnotinfo
404 @image{@value{figuresfolder}/plotting7,8cm}
405 @end ifnotinfo
407 円のパラメトリック表現と一緒に、よくある関数のプロット。
408 プロットのサイズは、円を丸く、楕円のように変形しないように、
409 xとyオプションで調整されています。
410 これらの値は、このプロットを生成するのに使われたPostscript端末ではうまく機能します;
411 あなたはあなたのスクリーンのために値を調整しなければいけないかもしれません。
413 @c ===beg===
414 @c plot2d([[parametric, cos(t), sin(t),
415 @c         [t,0,2*%pi], [nticks, 80]],
416 @c         abs(x)], [x,-2,2], [y, -1.5, 1.5])$
417 @c ===end===
418 @example
419 @group
420 (%i1) plot2d([[parametric, cos(t), sin(t),
421               [t,0,2*%pi], [nticks, 80]],
422         abs(x)], [x,-2,2], [y, -1.5, 1.5])$
423 plot2d: some values were clipped.
424 @end group
425 @end example
427 @ifnotinfo
428 @image{@value{figuresfolder}/plotting8,8cm}
429 @end ifnotinfo
431 x座標、y座標を別々に定義した点の離散集合のプロット:
433 @c ===beg===
434 @c plot2d ([discrete, [10, 20, 30, 40, 50],
435 @c                    [.6, .9, 1.1, 1.3, 1.4]])$
436 @c ===end===
437 @example
438 @group
439 (%i1) plot2d ([discrete, [10, 20, 30, 40, 50],
440                          [.6, .9, 1.1, 1.3, 1.4]])$
441 @end group
442 @end example
444 @ifnotinfo
445 @image{@value{figuresfolder}/plotting9,8cm}
446 @end ifnotinfo
448 それぞれの点を別々に定義し、点を繋ぐ線をなくした、前の例で示された同じ点:
450 @c ===beg===
451 @c plot2d([discrete, [[10, .6], [20, .9], [30, 1.1], 
452 @c                    [40, 1.3], [50, 1.4]]],
453 @c                   [style, points])$
454 @c ===end===
455 @example
456 @group
457 (%i1) plot2d([discrete, [[10, .6], [20, .9], [30, 1.1],
458                          [40, 1.3], [50, 1.4]]],
459                         [style, points])$
460 @end group
461 @end example
463 @ifnotinfo
464 @image{@value{figuresfolder}/plotting10,8cm}
465 @end ifnotinfo
467 この例では、3つの列を持つテーブルがファイル''data.txt''に保存され、
468 読み込まれ、2番目、3番目の列は2つの軸上にプロットされます:
470 @c ===beg===
471 @c with_stdout ("data.txt", for x:0 thru 10 do
472 @c                              print (x, x^2, x^3))$
473 @c data: transpose ( read_matrix ("data.txt"))$
474 @c plot2d ([discrete, transpose(data)[2], transpose(data)[3]],
475 @c   [style,points], [point_type,diamond], [color,red])$
476 @c ===end===
477 @example
478 (%i1) with_stdout ("data.txt", for x:0 thru 10 do 
479                                    print (x, x^2, x^3))$
480 (%i2) data: transpose ( read_matrix ("data.txt"))$
481 @group
482 (%i3) plot2d ([discrete, transpose(data)[2], transpose(data)[3]],
483   [style,points], [point_type,diamond], [color,red])$
484 @end group
485 @end example
487 @ifnotinfo
488 @image{@value{figuresfolder}/plotting11,8cm}
489 @end ifnotinfo
491 実験データ点を、データを予測する理論的関数と一緒にプロット:
493 @c ===beg===
494 @c xy: [[10, .6], [20, .9], [30, 1.1], [40, 1.3], [50, 1.4]]$
495 @c plot2d([[discrete, xy], 2*%pi*sqrt(l/980)], [l,0,50],
496 @c         [style, points, lines], [color, red, blue],
497 @c         [point_type, asterisk],
498 @c         [legend, "experiment", "theory"],
499 @c         [xlabel, "pendulum's length (cm)"],
500 @c         [ylabel, "period (s)"])$
501 @c ===end===
502 @example
503 (%i1) xy: [[10, .6], [20, .9], [30, 1.1], [40, 1.3], [50, 1.4]]$
504 @group
505 (%i2) plot2d([[discrete, xy], 2*%pi*sqrt(l/980)], [l,0,50],
506         [style, points, lines], [color, red, blue],
507         [point_type, asterisk],
508         [legend, "experiment", "theory"],
509         [xlabel, "pendulum's length (cm)"],
510         [ylabel, "period (s)"])$
511 @end group
512 @end example
514 @ifnotinfo
515 @image{@value{figuresfolder}/plotting12,8cm}
516 @end ifnotinfo
518 プロットオプションに関する節も参照してください。
520 @opencatbox
521 @category{Plotting}
522 @closecatbox
523 @end deffn
525 @c -----------------------------------------------------------------------------
526 @anchor{plot3d}
527 @deffn  {関数} plot3d (@var{expr}, @var{x_range}, @var{y_range}, @dots{}, @var{options}, @dots{})
528 @deffnx {関数} plot3d ([@var{expr_1}, @var{expr_2}, @var{expr_3}], @var{x_range}, @var{y_range}, @dots{}, @var{options}, @dots{})
530 2変数関数もしくはパラメトリック形式で定義された、1つか複数の表面のプロットを表示します。
532 プロットされる関数は、式か関数名として指定できます。
533 違った側面から表面を見るためにマウスを使ってプロットを回転することができます。
535 @strong{例:}
537 よくある関数のプロット:
539 @c ===beg===
540 @c plot3d (2^(-u^2 + v^2), [u, -3, 3], [v, -2, 2])$
541 @c ===end===
542 @example
543 (%i1) plot3d (2^(-u^2 + v^2), [u, -3, 3], [v, -2, 2]);
544 @end example
546 @ifnotinfo
547 @image{@value{figuresfolder}/plotting13,8cm}
548 @end ifnotinfo
550 無限大に発散する関数を制限するためのzオプションの使用(この場合、関数はxとy軸上でマイナス無限だい);
551 これは線のみ陰影なしでプロットする仕方も示します。
553 @c ===beg===
554 @c plot3d ( log ( x^2*y^2 ), [x, -2, 2], [y, -2, 2], [z, -8, 4],
555 @c          [palette, false], [color, magenta, blue])$
556 @c ===end===
557 @example
558 @group
559 (%i1) plot3d ( log ( x^2*y^2 ), [x, -2, 2], [y, -2, 2], [z, -8, 4],
560                [palette, false], [color, magenta, blue])$
561 @end group
562 @end example
564 @ifnotinfo
565 @image{@value{figuresfolder}/plotting14,8cm}
566 @end ifnotinfo
568 zの無限大は、いかなる漸近線上にも落ちないグリッドを選ぶことによっても避けることができます;
569 この例は事前に定義されたパレットの1つ、この場合4番目のものを選択する仕方も示します:
571 @c ===beg===
572 @c plot3d( log (x^2*y^2), [x, -2, 2], [y, -2, 2],
573 @c    [grid, 29, 29],
574 @c    [palette, get_plot_option(palette,5)])$
575 @c ===end===
576 @example
577 @group
578 (%i1) plot3d( log (x^2*y^2), [x, -2, 2], [y, -2, 2], 
579          [grid, 29, 29],
580          [palette, get_plot_option(palette,5)])$
581 @end group
582 @end example
584 @ifnotinfo
585 @image{@value{figuresfolder}/plotting15,8cm}
586 @end ifnotinfo
588 同じ領域を共有する同じプロットでの2つの表面;
589 gnuplotでは2つの表面は同じパレットを使用します:
591 @c ===beg===
592 @c plot3d ([2^(-x^2 + y^2), 4*sin(3*(x^2+y^2))/(x^2+y^2),
593 @c         [x, -3, 3], [y, -2, 2]])$
594 @c ===end===
595 @example
596 (%i1) plot3d ([2^(-x^2 + y^2), 4*sin(3*(x^2+y^2))/(x^2+y^2),
597               [x, -3, 3], [y, -2, 2]])$
598 @end example
600 @ifnotinfo
601 @image{@value{figuresfolder}/plotting16,8cm}
602 @end ifnotinfo
604 異なる領域を持つ、同じ2つの表面;
605 xmaximaでは、それぞれの表面は、オプションパレットで定義されたリストから選ばれた
606 異なるパレットを使います:
608 @c ===beg===
609 @c plot3d ( [[2^(-x^2 + y^2),[x,-2,2],[y,-2,2]],
610 @c    4*sin(3*(x^2+y^2))/(x^2+y^2),
611 @c    [x, -3, 3], [y, -2, 2]], [plot_format,xmaxima])$
612 @c ===end===
613 @example
614 @group
615 (%i1) plot3d ( [[2^(-x^2 + y^2),[x,-2,2],[y,-2,2]],
616          4*sin(3*(x^2+y^2))/(x^2+y^2),
617          [x, -3, 3], [y, -2, 2]], [plot_format,xmaxima])$
618 @end group
619 @end example
621 @ifnotinfo
622 @image{@value{figuresfolder}/plotting17,8cm}
623 @end ifnotinfo
625 パラメトリックに定義されたKleinの壷のプロット:
627 @c ===beg===
628 @c expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y) + 3.0) - 10.0$
629 @c expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y) + 3.0)$
630 @c expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))$
631 @c plot3d ([expr_1, expr_2, expr_3], [x, -%pi, %pi],
632 @c         [y, -%pi, %pi], [grid, 40, 40])$
633 @c ===end===
634 @example
635 (%i1) expr_1:5*cos(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3.0)-10.0$
636 (%i2) expr_2:-5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y) + 3.0)$
637 (%i3) expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))$
638 @group
639 (%i4) plot3d ([expr_1, expr_2, expr_3], [x, -%pi, %pi],
640         [y, -%pi, %pi], [grid, 40, 40])$
641 @end group
642 @end example
644 @ifnotinfo
645 @image{@value{figuresfolder}/plotting18,8cm}
646 @end ifnotinfo
648 球座標から直交座標に変換するのにあらかじめ定義された変換@code{spherical_to_xyz}
649 を使った球調和のプロット。
650 @code{spherical_to_xyz}に関するドキュメンテーションを参照してください。
652 @c ===beg===
653 @c plot3d (sin(2*theta)*cos(phi), [theta, 0, %pi],
654 @c         [phi, 0, 2*%pi],
655 @c         [transform_xy, spherical_to_xyz], [grid,30,60])$
656 @c ===end===
657 @example
658 @group
659 (%i1) plot3d (sin(2*theta)*cos(phi), [theta, 0, %pi],
660               [phi, 0, 2*%pi],
661               [transform_xy, spherical_to_xyz], [grid,30,60])$
662 @end group
663 @end example
665 @ifnotinfo
666 @image{@value{figuresfolder}/plotting19,8cm}
667 @end ifnotinfo
669 円筒座標から直交座標に変換するのにあらかじめ定義された変換@code{polar_to_xyz}
670 を使った球面調和関数のプロット。
671 @code{polarl_to_xyz}に関するドキュメンテーションを参照してください。
672 この例は境界ボックスと凡例を消去する仕方も示します。
673 @c ===beg===
674 @c plot3d (r^.33*cos(th/3), [r, 0, 1], [th, 0, 6*%pi],
675 @c    [grid, 12, 80],
676 @c    [transform_xy, polar_to_xy], [box, false],
677 @c    [legend,false])$
678 @c ===end===
679 @example
680 @group
681 (%i1) plot3d (r^.33*cos(th/3), [r, 0, 1], [th, 0, 6*%pi],
682          [grid, 12, 80],
683          [transform_xy, polar_to_xy], [box, false],
684          [legend,false])$
685 @end group
686 @end example
688 @ifnotinfo
689 @image{@value{figuresfolder}/plotting20,8cm}
690 @end ifnotinfo
692 球座標から直交座標への変換を使っての球のプロット。
693 xmaximaでは、球の対称形を維持するように3つの軸は同じ比でスケールされます。
694 同一色で異なる陰影のパレットが使われます:
696 @c ===beg===
697 @c plot3d ( 5, [theta, 0, %pi], [phi, 0, 2*%pi],
698 @c    [plot_format,xmaxima],
699 @c    [transform_xy, spherical_to_xyz],
700 @c    [palette,[value,0.65,0.7,0.1,0.9]])$
701 @c ===end===
702 @example
703 @group
704 (%i1) plot3d ( 5, [theta, 0, %pi], [phi, 0, 2*%pi],
705          [plot_format,xmaxima],
706          [transform_xy, spherical_to_xyz],
707          [palette,[value,0.65,0.7,0.1,0.9]])$
708 @end group
709 @end example
711 @ifnotinfo
712 @image{@value{figuresfolder}/plotting21,8cm}
713 @end ifnotinfo
715 行列を使った2変数関数の定義。
716 関数の定義の中のシングルクォートに注意してください。
717 行列が整数添字を要求する状況に実際に至る時、plot3dが失敗しないためのものです。
719 @c ===beg===
720 @c M: matrix([1, 2, 3, 4], [1, 2, 3, 2], [1, 2, 3, 4],
721 @c           [1, 2, 3, 3])$
722 @c f(x, y) := float('M [round(x), round(y)])$
723 @c plot3d (f(x,y), [x, 1, 4], [y, 1, 4], [grid, 4, 4])$
724 @c ===end===
725 @example
726 (%i1) M: matrix([1, 2, 3, 4], [1, 2, 3, 2], [1, 2, 3, 4],
727                 [1, 2, 3, 3])$
728 (%i2) f(x, y) := float('M [round(x), round(y)])$
729 @group
730 (%i3) plot3d (f(x,y), [x, 1, 4], [y, 1, 4], [grid, 4, 4])$
731 apply: subscript must be an integer; found: round(x)
732 @end group
733 @end example
735 @ifnotinfo
736 @image{@value{figuresfolder}/plotting22,8cm}
737 @end ifnotinfo
739 elevationを零の等しく設定することで,
740 表面は地図として見ることができます。
741 その地図は、それぞれの色は違ったレベルを表現します。
742 オプション@code{colorbox}は、
743 色とレベルの対応を示すのに使われます。
744 メッシュ線を使用不可にし、色が見やすいようにしています。
745 @c ===beg===
746 @c plot3d (cos (-x^2 + y^3/4), [x, -4, 4], [y, -4, 4],
747 @c         [mesh_lines_color, false], [elevation, 0], [azimuth, 0],
748 @c         [colorbox, true], [grid, 150, 150])$
749 @c ===end===
750 @example
751 @group
752 (%i1) plot3d (cos (-x^2 + y^3/4), [x, -4, 4], [y, -4, 4],
753         [mesh_lines_color, false], [elevation, 0], [azimuth, 0],
754         [colorbox, true], [grid, 150, 150])$
755 @end group
756 @end example
758 @ifnotinfo
759 @image{@value{figuresfolder}/plotting23,8cm}
760 @end ifnotinfo
762 プロットオプションについての節も参照してください。
764 @opencatbox
765 @category{Plotting}
766 @closecatbox
768 @end deffn
770 @c -----------------------------------------------------------------------------
771 @anchor{plot_options}
772 @defvr {システム変数} plot_options
774 このリストの要素は、プロットのデフォルトオプションを指定します。
775 もし@code{plot2d}もしくは@code{plot3d}がコールされる時、オプションが指定されたら、
776 その値は、デフォルトオプションより優先されます。
777 そうでなければ、@code{plot_options}の中の値が使われます。
778 デフォルトオプションは、@code{set_plot_option}を使って割り当てられます。
779 それぞれのプロットコマンドに特化したローカルオプションがあり、それらは、この、グローバルオプションのリストには含まれません。
781 @code{plot_options}のそれぞれの要素は、2つ以上の項目のリストです。
782 最初の項目はオプション名で、残りはオプションに割り当てられる値です。
783 いくつかの場合、割り当てられた値はリストであり、複数の項目からなることがあります。
785 @code{set_plot_option}と@code{get_option}、プロットオプションの節も参照してください。
787 @opencatbox
788 @category{Plotting}
789 @closecatbox
790 @end defvr
792 @c -----------------------------------------------------------------------------
793 @anchor{set_plot_option}
794 @deffn {関数} set_plot_option (@var{option})
796 プロットオプションの節にリストされているオプションのほとんどを受け付け、
797 それらをグローバル変数@code{plot_options}に保存します。
799 @code{set_plot_option}は引数を評価し、
800 (与えられたオプションを変更した後、)完全なリスト@code{plot_options}を返します。
802 @code{plot_options}と@code{get_option}、プロットオプションの節も参照してください。
805 例:
807 @code{grid}値の変更。
809 @c ===beg===
810 @c set_plot_option ([grid, 30, 40]);
811 @c ===end===
812 @example
813 (%i1) set_plot_option ([grid, 30, 40]);
814 @group
815 (%o1) [[t, - 3, 3], [grid, 30, 40], [transform_xy, false], 
816 [run_viewer, true], [axes, true], [plot_format, gnuplot_pipes], 
817 [color, blue, red, green, magenta, black, cyan], 
818 [point_type, bullet, circle, plus, times, asterisk, box, square, 
819 triangle, delta, wedge, nabla, diamond, lozenge], 
820 [palette, [hue, 0.25, 0.7, 0.8, 0.5], 
821 [hue, 0.65, 0.8, 0.9, 0.55], [hue, 0.55, 0.8, 0.9, 0.4], 
822 [hue, 0.95, 0.7, 0.8, 0.5]], [gnuplot_term, default], 
823 [gnuplot_out_file, false], [nticks, 29], [adapt_depth, 5], 
824 [gnuplot_preamble, ], [gnuplot_default_term_command, 
825 set term pop], [gnuplot_dumb_term_command, set term dumb 79 22], 
826 [gnuplot_ps_term_command, set size 1.5, 1.5;set term postscript ¥
827 eps enhanced color solid 24], [plot_realpart, false]]
828 @end group
829 @end example
831 @opencatbox
832 @category{Plotting}
833 @closecatbox
834 @end deffn
836 @c -----------------------------------------------------------------------------
837 @anchor{spherical_to_xyz}
838 @deffn {システム関数} spherical_to_xyz
840 plot3dの@code{transform_xy}オプションに対する値として与えることができます。
841 その効果はplot3dでの2つの独立変数と関数を点の球座標
842 (1番目はz軸に対する角度、次にxy射影のx軸に対する角度、最後に原点からの距離)
843 として解釈し、それらをx,y,z座標に変換することです。
845 @opencatbox
846 @category{Plotting}
847 @closecatbox
848 @end deffn
850 @c -----------------------------------------------------------------------------
851 @node Plotting Options, Gnuplot Options, Functions and Variables for Plotting, Plotting
852 @section Plotting Options
853 @c -----------------------------------------------------------------------------
855 すべてのオプションは、この節のキーワードの1つで始まり、
856 1つ以上の値が続くリストで構成されます。
857 オプションのほとんどは
858 (@var{plot2d}, @var{plot3d}, @var{contour_plot}, @var{implicit_plot})
859 どのプロットコマンドでも。また関数@var{set_plot_option}の中でも使うことができます;
860 例外は以下のリストで指定されます。
862 @defvr {プロットオプション} adapt_depth [adapt_depth, @var{integer}]
864 適応プロットルーチンで使われる分割の最大数です。
866 デフォルト値: 5
868 @opencatbox
869 @category{Plotting}
870 @closecatbox
871 @end defvr
873 @c -----------------------------------------------------------------------------
874 @anchor{axes}
875 @defvr {プロットオプション} axes [axes, @var{symbol}]
877 ここで、@var{symbol}は@code{true}, @code{false}, @code{x}, @code{y}のいずれかでありえます。
878 もし@code{false}なら、軸は表示されません;
879 もし@code{x}か@code{y}に等しいなら、xかy軸のみが表示され、
880 @code{true}に等しいなら、両方の軸が表示されます。
881 このオプションはplot2dとimplicit_plotだけが使います。
883 デフォルト値: @code{true}
885 @opencatbox
886 @category{Plotting}
887 @closecatbox
888 @end defvr
890 @c -----------------------------------------------------------------------------
891 @anchor{azimut}
892 @defvr {プロットオプション} azimuth [azimuth, @var{number}]
894 plot3dプロットは
895 plot2dと同様の水平軸と垂直軸に関してx軸とy軸と、
896 紙から垂直に出てくるz軸で始まるものと考えることができます。
897 z軸はその後x軸の回りに@code{elevation}に等しい角度だけ回転され、
898 その後、xy平面は新しいz軸の回りに角度@code{azimuth}だけ回転されます。
899 このオプションはazimuthに関する値を単位、度で設定します。
901 デフォルト値: 30
903 @code{elevation}も参照してください。
905 @opencatbox
906 @category{Plotting}
907 @closecatbox
908 @end defvr
910 @c -----------------------------------------------------------------------------
911 @anchor{option_box}
912 @defvr {プロットオプション} box [box, @var{symbol}]
914 もし@code{true}に設定されるなら、
915 境界枠がプロットに表示されます;
916 もし@code{false}に設定されるなら、
917 枠は表示されません。
919 デフォルト値: @code{true}
921 @opencatbox
922 @category{Plotting}
923 @closecatbox
924 @end defvr
926 @c -----------------------------------------------------------------------------
927 @anchor{color}
928 @defvr {プロットオプション} color [color, @var{color_1}, @dots{}, @var{color_n}]
930 plot2dとimplicit_plotでは、様々な曲線の色を定義します。
931 plot3dでは、パレットが使われない時、表面のメッシュ線の色を定義します;
932 表面の片方の側面は色@code{color_1}を持ち、逆の側面は@var{color_2}を(またはもし1つの色しかないなら、同じ色を)持ちます。
934 もし色よりも曲線や表面が多いなら、色は順に繰り返されます。
935 gnuplotを使う時、色は、 青、赤、緑、マゼンタ、シアンまたは黒です;
936 xmaximaでは、色はそれらもしくは文字#で始まり、6桁の16進数字が続く文字列です;
937 2つは赤成分、2つは緑成分、2つが青成分です。
938 もし未知の色の名前が与えられたら、黒が代わりに使われます。
940 デフォルト値: blue, red, green, magenta, black, byan
942 @opencatbox
943 @category{Plotting}
944 @closecatbox
945 @end defvr
947 @c -----------------------------------------------------------------------------
948 @anchor{colorbox}
949 @defvr {プロットオプション} colorbox [colorbox, @var{symbol}]
951 ここで、@var{symbol}は@code{true}か@code{false}であり得ます。
952 もし@code{true}なら、
953 plot3dはzの違った値を表現するために、
954 違った色のパレットを使う時はいつでも、
955 zの値の大きさに従って使われた色を示す枠が右に示されます。
956 このオプションはxmaximaでは機能しません。
958 デフォルト値: @code{false}
960 @opencatbox
961 @category{Plotting}
962 @closecatbox
963 @end defvr
965 @c -----------------------------------------------------------------------------
966 @anchor{elevation}
967 @defvr {プロットオプション} elevation [elevation, @var{number}]
969 plot3dプロットは
970 plot2dでの水平と垂直軸にxとy軸に
971 紙から直立に立ったz軸から始まると考えられます。
972 その後、z軸はx軸の回りを @code{elevation}に等しい角度だけ回転し、
973 xy平面は新しいz軸の回りを @code{azimuth}角度だけ回転します。
974 このオプションはelevationの値を度単位で設定します。
976 デフォルト値: 60
978 @code{azimuth}も参照してください。
980 @opencatbox
981 @category{Plotting}
982 @closecatbox
983 @end defvr
985 @c -----------------------------------------------------------------------------
986 @anchor{grid}
988 @defvr {プロットオプション} grid [grid, @var{integer}, @var{integer}]
990 3次元プロットのためにx方向、y方向で使われるグリッド点の数を設定します。
992 デフォルト値: 30, 30
994 @opencatbox
995 @category{Plotting}
996 @closecatbox
997 @end defvr
999 @c -----------------------------------------------------------------------------
1000 @anchor{legend}
1001 @defvr {プロットオプション} legend [legend, @var{string_1}, @dots{}, @var{string_n}]
1002 @defvrx {プロットオプション} legend [legend, @var{false}]
1004 複数のプロットが示される時、プロットのラベルを指定します。
1005 もし与えられたラベルの数より多くの式があるなら、ラベルは繰り返されます。
1006 もし値@code{false}が与えられるなら、凡例は表示されません。
1007 デフォルトでは、式や関数の名前が使われます。また、点の離散集合に関しては、
1008 単語discrete1, discrete2, @dots{}が使われます。
1009 このオプションは@var{set_plot_optiion}で設定することができます。
1011 @opencatbox
1012 @category{Plotting}
1013 @closecatbox
1014 @end defvr
1016 @c -----------------------------------------------------------------------------
1017 @anchor{logx}
1018 @defvr {プロットオプション} logx [logx]
1020 水平軸を対数的にスケールするようにします。
1021 @var{set_plot_option}では使うことはできません。
1023 @opencatbox
1024 @category{Plotting}
1025 @closecatbox
1026 @end defvr
1028 @c -----------------------------------------------------------------------------
1029 @anchor{logy}
1030 @defvr {プロットオプション} logy [logy]
1032 垂直軸を対数的にスケールするようにします。
1033 @var{set_plot_option}では使うことはできません。
1035 @opencatbox
1036 @category{Plotting}
1037 @closecatbox
1038 @end defvr
1040 @c -----------------------------------------------------------------------------
1041 @anchor{mesh_lines_color}
1042 @defvr {Plot option} mesh_lines_color [mesh_lines_color, @var{color}]
1044 パレットが使われる時、plot3dがメッシュ線を描くのに使う色を設定します。
1045 オプション @code{color}と同じ色を受け付けます。
1046 (@code{color}で許される色のリストを参照してください。)
1047 値 @code{false}を与えて、メッシュ線を完全に消すこともできます。
1049 デフォルト値: black
1051 @opencatbox
1052 @category{Plotting}
1053 @closecatbox
1054 @end defvr
1056 @c -----------------------------------------------------------------------------
1057 @anchor{nticks}
1058 @defvr {プロットオプション} nticks [nticks, @var{integer}]
1060 plot2dで関数をプロットする時、
1061 関数をプロットするための適応プロットルーチンによって使われる点の数の初期値を与えます。
1062 plot2dやplot3dでパラメトリック関数をプロットする時、
1063 プロットで表示される点の数を設定します。
1065 デフォルト値: 29
1067 @opencatbox
1068 @category{Plotting}
1069 @closecatbox
1070 @end defvr
1072 @c -----------------------------------------------------------------------------
1073 @anchor{palette}
1074 @defvr {プロットオプション} palette [palette, [@var{palette_1}], ..., [@var{palette_n}]]
1075 @defvrx {プロットオプション} palette [palette, @var{false}]
1077 1つのパレットか複数のパレットのリストで構成されます。
1078 それぞれのパレットは4つの数が続くキーワード付きリストです。
1079 最初の3つの数は、0と1の間でなければならず、
1080 zの最小値に割り当てられる基本色の色調と飽和、値を定義します。
1081 キーワードは3つの属性(色調、飽和、値)のいずれかがzの値に従っての増えることを指定します。
1082 その最後の数は1よりも大きいこともマイナスでもありえます;
1083 変更された属性の対応する値は法1で丸められます。
1085 gnuplotはリストの中の最初のパレットだけを使います;
1086 xmaximaは、複数の表面が一緒にプロットされる時、リストの中のパレットを順に使います;
1087 パレットの数が尽きたら、それらは順に繰り返されます。
1089 メッシュ線の色はオプション@code{mesh_lines_color}で与えられます。
1090 もし@code{palette}が値@code{false}を与えられたら、
1091 表面は陰影されず、曲線のメッシュだけで表されます。
1092 その場合、線の色はオプション@code{color}で決定されます。
1094 デフォルト値: [hue, 0.25, 0.7, 0.8, 0.5], [hue, 0.65, 0.8, 0.9, 0.55], [hue, 0.55, 0.8, 0.9, 0.4], [hue, 0.95, 0.7, 0.8, 0.5]
1096 @opencatbox
1097 @category{Plotting}
1098 @closecatbox
1100 @end defvr
1102 @c -----------------------------------------------------------------------------
1103 @anchor{plot_format}
1104 @defvr {プロットオプション} plot_format [plot_format, @var{format}]
1106 ここで@var{format}は以下のいずれかです;
1107 gnuplot, xmaxima, mgnuplot, gnuplot_pipes.
1109 プロットで使われるフォーマットを設定します。
1111 デフォルト値: Windowsシステムではgnuplot, 他のシステムではgnuplot_pipes
1113 @opencatbox
1114 @category{Plotting}
1115 @closecatbox
1116 @end defvr
1118 @c -----------------------------------------------------------------------------
1119 @anchor{plot_real_part}
1120 @defvr {プロットオプション} plot_real_part [plot_real_part, @var{symbol}]
1122 @code{true}に設定される時、プロットされる関数は
1123 実数値がプロットされる複素関数と見なされます;
1124 これは@code{realpart(@var{function})}をプロットすることと同値です。
1125 もし@code{false}に設定されたら、
1126 関数が実数値を与えない時には何も表示されません。
1127 例えば、@code{x}が負の時、@code{log(x)}は、
1128 実数値が@code{log(abs(x))}に等しい複素数値を与えます;
1129 もし@code{plot_real_part} が@code{true}だったなら、
1130 @code{log(-5)}は@code{log(5)}としてプロットされますが、
1131 もし@code{plot_real_part} が@code{false}だったなら、
1132 何もプロットされません。
1134 デフォルト値: @code{false}
1136 @opencatbox
1137 @category{Plotting}
1138 @closecatbox
1139 @end defvr
1141 @c -----------------------------------------------------------------------------
1142 @anchor{point_type}
1143 @defvr {プロットオプション} point_type [point_type, @var{type_1}, @dots{}, @var{type_n}]
1145 gnuplotでは、
1146 , each set of points to be plotted with the style 
1147 スタイル``points''か``linespoints''でプロットされた点のそれぞれの集合は
1148 このリストから取られたオブジェクトで順に表されます。
1149 もしこのリスト内のオブジェクト以上に点の集合があるなら、
1150 それらは順に繰り返されます。
1151 使うことができる可能なオブジェクト: bullet, circle, plus, times,
1152 asterisk, box, square,triangle, delta, wedge, nabla, diamond, lozenge
1154 デフォルト値: bullet, circle, plus, times, asterisk, box, square,triangle, delta, wedge, nabla, diamond, lozenge
1156 @opencatbox
1157 @category{Plotting}
1158 @closecatbox
1159 @end defvr
1161 @c -----------------------------------------------------------------------------
1162 @anchor{psfile}
1163 @defvr {プロットオプション} psfile [psfile, @var{string}]
1165 このオプションは、プロットをスクリーンに表示する代わりに、
1166 @var{string}に等しい名前のポストスクリプトファイルに保存します。
1167 デフォルトでは、そのファイルは、変数@var{maxima_tempdir}で定義されたディレクトリに
1168 生成されます;
1169 変数の値を変えて、違うディレクトリにファイルを保存できます。
1171 @opencatbox
1172 @category{Plotting}
1173 @closecatbox
1174 @end defvr
1176 @c -----------------------------------------------------------------------------
1177 @anchor{run_viewer}
1178 @defvr {プロットオプション} run_viewer [run_viewer, @var{symbol}]
1180 プロットフォーマット用の適切なビューアを走らせるかどうか制御します。
1182 @c DOES FALSE IMPLY THE OUTPUT FILE IS GENERATED AND NOT SHOWN ?? OR IS NOTHING GENERATED ??
1183 デフォルト値: @code{true}
1185 @opencatbox
1186 @category{Plotting}
1187 @closecatbox
1188 @end defvr
1190 @c -----------------------------------------------------------------------------
1191 @anchor{style}
1192 @defvr  {プロットオプション} style [style, @var{type_1}, @dots{}, @var{type1_n}]
1193 @defvrx {プロットオプション} style [style, [@var{style_1}], @dots{}, [@var{style_n}]]
1195 様々な関数やデータ一式のために2dプロットで使われるスタイル。
1196 単語@var{style}の後には、1つ以上のスタイルが続きます。
1197 もし与えられたスタイルよりも多くの関数やデータ集合があったら、スタイルは繰り返されます。
1198 それぞれのスタイルは、実線のためには@var{lines}、孤立点のためには@var{points}、
1199 線分と孤立点のためには@var{linespoints}、点線のためには@var{dots}を取り得ます。
1200 Gnuplotでは、@var{impulses}スタイルも使えます。
1202 スタイルのそれぞれは、いくつかの追加のパラメータとリストの中に入れることができます。
1203 @var{lines}は、1つか2つの数を取ります: 線の太さと、色を指定する整数。
1204 デフォルトの色コードは、1: 青, 2: 赤, 3: マゼンタ, 4: オレンジ, 5: ブラウン, 6: ライム, 7: アクア、です。
1205 もしX11ではない端末でGnuplotを使うなら、これらの色は、違っているかもしれません;
1206 例えば、もしオプション[@var{gnuplot_term},@var{ps}]を使うなら、色インデックス4は、
1207 オレンジではなく、黒に対応します。
1209 @var{points}は、1つか2つか3つのパラメータを取ります; 最初のパラメータは、点の半径、
1210 2番目のパラメータは、同じ色を選択する(@var{lines}で使われるコードと同じ)整数、
1211 3番目のパラメータは現在、Gnuplotでだけ使われており、点の代わりにいくつかのオブジェクトに対応します。オブジェクトのデフォルト値は、1: 黒丸, 2: 白丸, 3: 十字, 4: ×,
1212 5: 米印, 6: 黒四角, 7: 白四角, 8: 黒三角, 9: 白三角, 10: 黒逆三角, 11: 白逆三角,
1213 12: 黒菱形, 13: 白菱形、です。
1215 @var{linesdots}は、4つまでのパラメータを取ります;
1216 線の太さ、点の半径、色、点を置き換えるオブジェクトのタイプ。
1218 デフォルト値: @var{lines} (太さ1で、オプション@code{color}で与えられた最初の色を持つ線で結んだ点一式をプロットします)
1220 @code{color}と@code{point_type}も参照してください。
1222 @opencatbox
1223 @category{Plotting}
1224 @closecatbox
1225 @end defvr
1227 @c I think $t is not being used anymore. (J. Villate)
1229 @c -----------------------------------------------------------------------------
1230 @anchor{t}
1231 @defvr {プロットオプション} t [t, @var{min}, @var{max}]
1233 パラメトリックプロットのデフォルトの範囲。
1235 デフォルト値: -3, 3
1237 @opencatbox
1238 @category{Plotting}
1239 @closecatbox
1240 @end defvr
1242 @c -----------------------------------------------------------------------------
1243 @anchor{transform_xy}
1244 @defvr {プロットオプション} transform_xy [transform_xy, @var{symbol}]
1246 ここで、@var{symbol}は@code{false}か
1247 関数@code{transform_xy}を使うことで得られる結果をとり得ます。
1248 もし@code{false}と違うなら、
1249 plot3dで3座標を変換するのに使われます。
1251 デフォルト値: @code{false}
1253 @code{make_transform}, @code{polar_to_xy}, @code{spherical_to_xyz}を参照してください。
1255 @opencatbox
1256 @category{Plotting}
1257 @closecatbox
1258 @end defvr
1260 @c -----------------------------------------------------------------------------
1261 @anchor{x}
1262 @defvr {プロットオプション} x [x, @var{min}, @var{max}]
1264 2dプロットコマンドの最初の(またはplot3dの最初の二つのどちらかの)
1265 オプションとして使われる時、
1266 1番目の独立変数がxであることを示し、その範囲を設定します。
1267 最初のオプションの後(またはplot3dでは2番目のオプションの後)、
1268 プロット内で示される有効な水平領域を定義するために、
1269 再び使うことができます。
1271 @opencatbox
1272 @category{Plotting}
1273 @closecatbox
1274 @end defvr
1276 @c -----------------------------------------------------------------------------
1277 @anchor{xlabel}
1278 @defvr {プロットオプション} xlabel [xlabel, @var{string}]
1280 1番目の軸をラベルする@var{string}を指定します;
1281 もしこのオプションが使われないなら、
1282 plot2dかimplicit_plotで関数をプロットする時、そのラベルは独立変数の名前です。
1283 plot3dで表面を、もしくはcontour_plotで等高線をプロットする時、
1284 そのラベルは1番目の変数の名前です。
1285 パラメトリックプロットの場合、1番目の式です。
1286 @var{set_plot_option}では使うことはできません。
1288 @opencatbox
1289 @category{Plotting}
1290 @closecatbox
1291 @end defvr
1293 @c -----------------------------------------------------------------------------
1294 @anchor{y}
1295 @defvr {プロットオプション} y [y, @var{min}, @var{max}]
1296 plot3dでの最初の2つのオプションの1つとして使われる時、
1297 独立変数の1つがyであることを示し、その範囲を設定します。
1298 そうでなければ、
1299 プロットで示される2番目の変数の有効領域を定義します。
1301 @opencatbox
1302 @category{Plotting}
1303 @closecatbox
1304 @end defvr
1306 @c -----------------------------------------------------------------------------
1307 @anchor{ylabel}
1308 @defvr {プロットオプション} ylabel [ylabel, @var{string}]
1310 二番目の軸をラベルする@var{string}を指定します;
1311 もしこのオプションが使われないなら、
1312 plot2dやimplicit_plotで関数をプロットする時、そのラベルは、''y''となり、
1313 plot3dで表面をプロットするときや、contour_plotで等高線をプロットする時、
1314 二番目の変数名となり、
1315 パラメトリックプロットの場合には、二番目の式になります。
1316 @var{set_plot_option}では使うことはできません。
1318 @opencatbox
1319 @category{Plotting}
1320 @closecatbox
1321 @end defvr
1323 @c -----------------------------------------------------------------------------
1324 @anchor{z}
1325 @defvr {プロットオプション} z [z, @var{min}, @var{max}]
1326 プロットで示されるzの値の有効範囲を設定するためにplot3dで使われます。
1328 @opencatbox
1329 @category{Plotting}
1330 @closecatbox
1331 @end defvr
1333 @c -----------------------------------------------------------------------------
1334 @anchor{zlabel}
1335 @defvr {プロットオプション} zlabel [zlabel, @var{string}]
1337 plot3dを使う時、第三軸をラベルする@var{string}を指定します。
1338 もしこのオプションが使われないなら、
1339 そのラベルは、
1340 表面をプロットする時は``z''となり、
1341 パラメトリックプロットの場合には三番目の式になります。
1342 @var{set_plot_option}では使うことはできません。
1343 また、plot2d, implicit_plotでは無視されます。
1345 @opencatbox
1346 @category{Plotting}
1347 @closecatbox
1348 @end defvr
1350 @c -----------------------------------------------------------------------------
1351 @node Gnuplot Options, Gnuplot_pipes Format Functions, Plotting Options, Plotting
1352 @section Gnuplot Options
1353 @c -----------------------------------------------------------------------------
1355 gnuplotに特化したプロットオプションがいくつかあります。
1356 これらのオプションのいくつかは、gnuplotコマンドそのもので、文字列として指定されます。
1357 詳細はgnuplotドキュメンテーションを参照してください。
1358 ほとんどの場合、これらのオプションは、
1359 より一般的な上記のオプションの1つで置き換えることができます;
1360 これらの場合、より一般的な形式を使うことをお勧めします。
1362 @defvr {プロットオプション} gnuplot_term
1364 gnuplot用の出力端末タイプを設定します。
1365 @itemize @bullet
1366 @item
1367 @strong{default} (デフォルト値)
1369 Gnuplot出力が、別のグラフィカルなウィンドウに表示されます。
1371 @item
1372 @strong{dumb}
1374 Gnuplot出力が、Mグラフィックスの"ASCIIアート"近似で、Maximaコンソールに表示されます。
1376 @item
1377 @strong{ps}
1379 Gnuplotが、ポストスクリプトページ記述言語でコマンドを生成します。
1380 もしオプション@code{gnuplot_out_file}が@var{filename}に設定されているなら、
1381 gnuplotは、@var{filename}にポストスクリプトコマンドを書きます。
1382 そうでなければ、@code{maxplot.ps}ファイルとして保存します。
1384 @item
1385 他のいかなる有効なgnuplot端末仕様
1387 Gnuplotは、png, jpeg, svgのような多くの他のグラフィカルフォーマットで出力を
1388 生成することができます。
1389 これらのフォーマットすべてでプロットを生成するに、@code{gnuplot_term}に
1390 任意のサポートされたgnuplot端末名(シンボル)もしくは、任意の有効なオプションを伴う
1391 gnuplot端末フル仕様(文字列)さえ設定できます。
1392 例えば、@code{[gnuplot_term,png]}は、PNG (Portable Network Graphics)形式で
1393 出力を生成する一方、@code{[gnuplot_term,"png size 1000,1000"]}は、
1394 1000x1000ピクセルサイズのPNGを生成します。
1396 もしオプション@code{gnuplot_out_file}が@var{filename}に設定されたら、
1397 gnuplotは、@var{filename}に出力を書き込みます。
1398 そうでなければ、@code{maxplot.@var{term}}ファイルに書き込みます。
1399 ここで、@var{term}はgnuplot端末名です。
1400 @end itemize
1402 @opencatbox
1403 @category{Plotting}
1404 @closecatbox
1405 @end defvr
1407 @c -----------------------------------------------------------------------------
1408 @anchor{gnuplot_out_file}
1409 @defvr {プロットオプション} gnuplot_out_file
1411 @code{gnuplot_term}オプションと関連して使われる時、
1412 Gnuplotがサポートするグラフィックフォーマットの1つで、
1413 ファイルにプロットを保存するのに使われます。
1414 もしポストスクリプトファイルを生成したければ、
1415 代わりにオプション @code{psfile}を使うことができます。
1416 これは、Openmathでも機能し、たった1つのオプションで同じことができます。
1418 @example
1419 [gnuplot_term, png], [gnuplot_out_file, "graph3.png"]
1420 @end example
1422 @opencatbox
1423 @category{Plotting}
1424 @closecatbox
1425 @end defvr
1427 @c -----------------------------------------------------------------------------
1428 @anchor{gnuplot_pm3d}
1429 @defvr {プロットオプション} gnuplot_pm3d
1431 @code{false}の値では、PM3Dモードの使用を抑制するのに使われます。
1432 PM3Dモードはデフォルトで使用可能です。
1434 @opencatbox
1435 @category{Plotting}
1436 @closecatbox
1437 @end defvr
1439 @c -----------------------------------------------------------------------------
1440 @anchor{gnuplot_preamble}
1441 @defvr {プロットオプション} gnuplot_preamble
1443 プロットを描く前に、gnuplotコマンドを挿入します。
1444 有効などんなgnuplotコマンドも使うことができます。
1445 複数のコマンドは、セミコロンで分離されなければいけません。
1446 示される例はログスケールプロットを生成します。
1447 @code{gnuplot_preamble}のデフォルト値は、空の文字列@code{""}です。
1449 @opencatbox
1450 @category{Plotting}
1451 @closecatbox
1452 @end defvr
1454 @c -----------------------------------------------------------------------------
1455 @anchor{gnuplot_curve_titles}
1456 @defvr {プロットオプション} gnuplot_curve_titles
1458 これは、上記で記載した@emph{legend}で置き換えられた古いオプションです。
1460 @opencatbox
1461 @category{Plotting}
1462 @closecatbox
1463 @end defvr
1465 @c -----------------------------------------------------------------------------
1466 @anchor{gnuplot_curve_styles}
1467 @defvr {プロットオプション} gnuplot_curve_styles
1469 これは、上記で記載した@emph{style}で置き換えられた古いオプションです。
1471 @opencatbox
1472 @category{Plotting}
1473 @closecatbox
1474 @end defvr
1476 @c -----------------------------------------------------------------------------
1477 @anchor{gnuplot_default_term_command}
1478 @defvr {プロットオプション} gnuplot_default_term_command
1480 デフォルト端末の端末タイプを設定するgnuplotコマンド。
1481 デフォルト値は、@code{set term pop}です。
1483 @opencatbox
1484 @category{Plotting}
1485 @closecatbox
1486 @end defvr
1488 @c -----------------------------------------------------------------------------
1489 @anchor{gnuplot_dumb_term_command}
1490 @defvr {プロットオプション} gnuplot_dumb_term_command
1492 ダム端末の端末タイプを設定するgnuplotコマンド。
1493 デフォルト値は、@code{"set term dumb 79 22"}です。
1494 これは、79文字 x 22文字のテキスト出力を生成します。
1496 @opencatbox
1497 @category{Plotting}
1498 @closecatbox
1499 @end defvr
1501 @c -----------------------------------------------------------------------------
1502 @anchor{gnuplot_ps_term_command}
1503 @defvr {プロットオプション} gnuplot_ps_term_command
1505 ポストスクリプト端末の端末タイプを設定するgnuplotコマンド。
1506 デフォルト値は、
1507 @code{"set size 1.5, 1.5; set term postscript eps enhanced color solid 24"},
1508 です。
1509 これは、サイズをgnuplotのデフォルトの1.5倍に設定し、フォントサイズを24に設定などします。
1510 @code{set term postscript}の詳細については、gnuplotドキュメンテーションを
1511 参照してください。
1513 @opencatbox
1514 @category{Plotting}
1515 @closecatbox
1516 @end defvr
1518 @c -----------------------------------------------------------------------------
1519 @node Gnuplot_pipes Format Functions,  , Gnuplot Options, Plotting
1520 @section Gnuplot_pipes Format Functions
1521 @c -----------------------------------------------------------------------------
1523 @c -----------------------------------------------------------------------------
1524 @anchor{gnuplot_start}
1525 @deffn {関数} gnuplot_start ()
1527 @code{gnuplot_pipes}フォーマットでのプロットのため使われるgnuplotへのパイプを開きます。
1528 プロットの前に手動でパイプを開く必要はありません。
1530 @opencatbox
1531 @category{Plotting}
1532 @closecatbox
1534 @end deffn
1536 @c -----------------------------------------------------------------------------
1537 @anchor{gnuplot_close}
1538 @deffn {関数} gnuplot_close ()
1540 @code{gnuplot_pipes}フォーマットで使われたgnuplotへのパイプを閉じます。
1542 @opencatbox
1543 @category{Plotting}
1544 @closecatbox
1545 @end deffn
1547 @c -----------------------------------------------------------------------------
1548 @anchor{gnuplot_restart}
1549 @deffn {関数} gnuplot_restart ()
1551 @code{gnuplot_pipes}フォーマットで使われたgnuplotへのパイプを閉じて、
1552 新しいパイプを開きます。
1554 @opencatbox
1555 @category{Plotting}
1556 @closecatbox
1557 @end deffn
1559 @c -----------------------------------------------------------------------------
1560 @anchor{gnuplot_replot}
1561 @deffn {関数} gnuplot_replot ()
1562 @deffnx {関数} gnuplot_replot (@var{s})
1564 gnuplotウィンドウを更新します。
1565 もし@code{gnuplot_replot}が、文字列@var{s}の中のgnuplotコマンドを引数としてコールされたなら、
1566 @code{s}はウィンドウが再プロットされる前にgnuplotに送られます。
1568 @opencatbox
1569 @category{Plotting}
1570 @closecatbox
1571 @end deffn
1573 @c -----------------------------------------------------------------------------
1574 @anchor{gnuplot_reset}
1575 @deffn {関数} gnuplot_reset ()
1577 @code{gnuplot_pipes}フォーマットと一緒に使われるgnuplotの状態をリセットします。
1578 gnuplotウィンドウを更新するには、
1579 @code{gnuplot_reset}の後に@code{gnuplot_replot}をコールください。
1581 @opencatbox
1582 @category{Plotting}
1583 @closecatbox
1585 @end deffn