Examples cleanup
[maxima.git] / doc / info / ja / Plotting.texi
blobc5aec4a045fcc7a5d3683d3321811785dd6e49b7
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{figures/contour1,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 @ifnotinfo
162 @image{figures/contour2,8cm}
163 @end ifnotinfo
165 @code{plot3d}が受け付ける任意のオプションを足すことができます;
166 例えば、オプション@code{legend}にfalseの値を入れると、凡例を取り除きます。
167 Gnuplotはデフォルトで3つの高等線を示すように選びます。
168 レベルの数を増やすには、カスタムのgnuplot前置きを指定する必要があります;
170 @c ===beg===
171 @c contour_plot (u^3 + v^2, [u, -4, 4], [v, -4, 4], 
172 @c               [legend,false],
173 @c               [gnuplot_preamble, "set cntrparam levels 12"])$
174 @c ===end===
175 @example
176 @group
177 (%i1) contour_plot (u^3 + v^2, [u, -4, 4], [v, -4, 4], 
178                     [legend,false],
179                     [gnuplot_preamble, "set cntrparam levels 12"])$
180 @end group
181 @end example
183 @ifnotinfo
184 @image{figures/contour3,8cm}
185 @end ifnotinfo
187 @opencatbox
188 @category{Plotting}
189 @closecatbox
190 @end deffn
192 @c -----------------------------------------------------------------------------
193 @anchor{get_plot_option}
194 @deffn {関数} get_plot_option (@var{keyword}, @var{index})
196 グローバル変数@code{plot_options}に保存されている
197 名前@var{keyword}を持つオプションの値を返します。
198 添字で1の値はキーワード自身を返します;
199 2番の値はキーワードに続く一番目のパラメータを返す、などなど。
201 @code{plot_options}や@code{set_plot_option}、Plotting Optionの節も参照してください。
202 @end deffn
204 @c -----------------------------------------------------------------------------
205 @anchor{make_transform}
206 @deffn {関数} make_transform ([@var{var1}, @var{var2}, @var{var3}], @var{fx}, @var{fy}, @var{fz})
208 plot3dのオプション@code{transform_xy}で使われるのに適した関数を返します。
209 3つの変数@var{var1}, @var{var2}, @var{var3}は3つのダミー変数名です。
210 それらは、plot3dコマンドが与える3変数
211 (最初2つの独立変数と、その後それら2つの変数に依存する関数)を表します。
212 3つの関数@var{fx}, @var{fy}, @var{fz}は、
213 それら3変数にだけ依存しなければいけなく、プロットすべき対応するx, y, z座標を与えます。
214 デフォルトで定義された2つの変換があります;
215 @code{polar_to_xy}と@code{spherical_to_xyz};
216 それら2つの変換に関するドキュメンテーションを参照してください。
218 @opencatbox
219 @category{Plotting}
220 @closecatbox
221 @end deffn
223 @c -----------------------------------------------------------------------------
224 @anchor{polar_to_xy}
225 @deffn {システム関数} polar_to_xy
227 plot3dの@code{transform_xy}オプションに対する値として与えることができます。
228 その効果はplot3dの2つの独立変数をz軸からの距離と方位角(極座標)として通訳し、
229 それらをxとy座標に変換することです。
231 @opencatbox
232 @category{Plotting}
233 @closecatbox
234 @end deffn
236 @c -----------------------------------------------------------------------------
237 @anchor{plot2d}
238 @deffn  {関数} plot2d (@var{plot}, @var{x_range}, @dots{}, @var{options}, @dots{})
239 @deffnx {関数} plot2d ([@var{plot_1}, @dots{}, @var{plot_n}], @dots{}, @var{options}, @dots{})
240 @deffnx {関数} plot2d ([@var{plot_1}, @dots{}, @var{plot_n}], @var{x_range}, @dots{}, @var{options}, @dots{})
242 ここで、@var{plot}, @var{plot_1}, @dots{}, @var{plot_n}は式か関数名、もしくは以下のいずれかの形式のリストです:
244 @code{[discrete, [@var{x1}, ..., @var{xn}], [@var{y1}, ..., @var{yn}]]},
245 @code{[discrete, [[@var{x1}, @var{y1}],
246 ..., [@var{xn}, ..., @var{yn}]]}, 
247 または@code{[parametric, @var{x_expr}, @var{y_expr}, @var{t_range}]}.
249 1つもしくは複数の式を1変数か1パラメータの関数としてプロット表示します。
251 @code{plot2d}は1つもしくは複数のプロットを2次元に表示します。
252 プロットを定義するのに式や関数名を使う時には、
253 それらは1変数@var{var}だけに依存すべきであり、
254 変数名とその最小値と最大値を提供するために@var{x_range}の使用が必須です;
255 @var{x_range}の構文法は以下の通りです:
257 @code{[@var{variable}, @var{min}, @var{max}]}
259 プロットを、離散形式やパラメトリック形式で定義することもできます。
260 離散形式は既定の座標で表された点の集合をプロットするのに使われます。
261 離散プロットは、キーワード@var{discrete}で始まり、
262 値についてのリスト1つか2つが続くリストで定義されます。
263 もし2つのリストが与えられたら、それらは同じ長さを持たなければいけません;
264 1番目のリストはプロットされる点のx座標として、
265 2番目のリストはy座標として解釈されます。
266 もし@var{discrete}キーワードの後、1つのリストだけ与えられたら、
267 リスト上のそれぞれの要素は、点のxとy座標に対応する2つの値を持つリストでなければいけません。
269 パラメトリックプロットは、
270 キーワード@var{parametric}で始まり、
271 2つの式か関数名と、パラメータの範囲が続くリストで定義されます。
272 パラメータの範囲は、パラメータ名とその最小値、最大値が続くリストでなければいけません:
274 @code{[@var{param}, @var{min}, @var{max}]}。
276 @var{param}が@var{min}から@var{max}に増えるにつれ、
277 2つの式または関数で与えられる座標の点によって描かれる軌跡をプロットは表示します。
279 垂直軸の範囲は以下の形式を持つオプション引数です:
281 @code{[y, @var{min}, @var{max}]}(キーワード@var{y}はいつも垂直軸に使われます)。
283 もしこのオプションを使ったなら、
284 プロットが到達する値と別に、ちょうどオプションの垂直範囲をプロットは表示します。
285 もし垂直範囲を指定しなかったなら、プロット点のy座標の最小値と最大値に従って、
286 垂直範囲が設定されます。
288 他のすべてのオプションも、
289 キーワードで始まり、1つか複数の値が続くリストでなければいけません。
290 @code{plot_options}を参照してください。
292 もし複数のプロットがプロットされるなら、式のそれぞれを識別するために凡例が書かれます。
293 その凡例で使われるラベルは、オプション@var{legend}で与えることができます。
294 もしそのオプションが使われないなら、Maximaは式や関数名からラベルを生成します。
296 @c PUT EXAMPLES FOR PRECEDING SIMPLE FORMS OF plot2d HERE
297 @strong{例:}
299 よくある関数のプロット:
301 @c ===beg===
302 @c plot2d (sin(x), [x, -%pi, %pi])$
303 @c ===end===
304 @example
305 (%i1) plot2d (sin(x), [x, -%pi, %pi])$
306 @end example
308 @ifnotinfo
309 @image{figures/plotting2,8cm}
310 @end ifnotinfo
312 もし関数の増大が速すぎるなら、yオプションを使って、垂直軸の値を制限する必要があるかもしれません:
314 @c ===beg===
315 @c plot2d (sec(x), [x, -2, 2], [y, -20, 20])$
316 @c ===end===
317 @example
318 @group
319 (%i1) plot2d (sec(x), [x, -2, 2], [y, -20, 20])$
320 plot2d: some values were clipped.
321 @end group
322 @end example
324 @ifnotinfo
325 @image{figures/plotting3,8cm}
326 @end ifnotinfo
328 プロットの外観は使うプロットプログラムに依存して異なるかもしれません。
329 プロットボックスが使用不可能になっている時、Xmaximaは矢印を使って軸をプロットします:
331 @c ===beg===
332 @c plot2d ( x^2-1, [x, -3, 3], [y, -2, 10], 
333 @c                 [box, false], [plot_format, xmaxima])$
334 @c ===end===
335 @example
336 @group
337 (%i1) plot2d ( x^2-1, [x, -3, 3], [y, -2, 10],
338                       [box, false], [plot_format, xmaxima])$
339 @end group
340 @end example
342 @ifnotinfo
343 @image{figures/plotting1,8cm}
344 @end ifnotinfo
346 対数プロットの例:
348 @c ===beg===
349 @c plot2d (exp(3*s), [s, -2, 2], [logy])$
350 @c ===end===
351 @example
352 (%i11) plot2d (exp(3*s), [s, -2, 2], [logy])$
353 @end example
355 @ifnotinfo
356 @image{figures/plotting4,8cm}
357 @end ifnotinfo
359 関数を名前でプロット:
361 @c ===beg===
362 @c F(x) := x^2 $
363 @c :lisp (defun |$g| (x) (m* x x x))
364 @c H(x) := if x < 0 then x^4 - 1 else 1 - x^5 $
365 @c plot2d ([F, G, H], [u, -1, 1], [y, -1.5, 1.5])$
366 @c ===end===
367 @example
368 (%i1) F(x) := x^2 $
369 @group
370 (%i2) :lisp (defun |$g| (x) (m* x x x))
372 @end group
373 (%i2) H(x) := if x < 0 then x^4 - 1 else 1 - x^5 $
374 (%i3) plot2d ([F, G, H], [u, -1, 1], [y, -1.5, 1.5])$
375 @end example
377 @ifnotinfo
378 @image{figures/plotting5,8cm}
379 @end ifnotinfo
381 パラメトリックに定義されたバタフライカーブのプロット:
383 @c ===beg===
384 @c r: (exp(cos(t))-2*cos(4*t)-sin(t/12)^5)$
385 @c plot2d([parametric, r*sin(t), r*cos(t), 
386 @c        [t, -8*%pi, 8*%pi], [nticks, 2000]])$
387 @c ===end===
388 @example
389 (%i1) r: (exp(cos(t))-2*cos(4*t)-sin(t/12)^5)$
390 (%i2) plot2d([parametric, r*sin(t), r*cos(t), 
391              [t, -8*%pi, 8*%pi], [nticks, 2000]])$
392 @end example
394 @ifnotinfo
395 @image{figures/plotting6,8cm}
396 @end ifnotinfo
398 7点だけでプロットする時の2回転「円」:
400 @c ===beg===
401 @c plot2d ([parametric, cos(t), sin(t),
402 @c         [t, -2*%pi, 2*%pi], [nticks, 8]])$
403 @c ===end===
404 @example
405 @group
406 (%i1) plot2d ([parametric, cos(t), sin(t),
407               [t, -2*%pi, 2*%pi], [nticks, 8]])$
408 @end group
409 @end example
411 @ifnotinfo
412 @image{figures/plotting7,8cm}
413 @end ifnotinfo
415 円のパラメトリック表現と一緒に、よくある関数のプロット。
416 プロットのサイズは、円を丸く、楕円のように変形しないように、
417 xとyオプションで調整されています。
418 これらの値は、このプロットを生成するのに使われたPostscript端末ではうまく機能します;
419 あなたはあなたのスクリーンのために値を調整しなければいけないかもしれません。
421 @c ===beg===
422 @c plot2d([[parametric, cos(t), sin(t),
423 @c         [t,0,2*%pi], [nticks, 80]],
424 @c         abs(x)], [x,-2,2], [y, -1.5, 1.5])$
425 @c ===end===
426 @example
427 @group
428 (%i1) plot2d([[parametric, cos(t), sin(t),
429               [t,0,2*%pi], [nticks, 80]],
430         abs(x)], [x,-2,2], [y, -1.5, 1.5])$
431 plot2d: some values were clipped.
432 @end group
433 @end example
435 @ifnotinfo
436 @image{figures/plotting8,8cm}
437 @end ifnotinfo
439 x座標、y座標を別々に定義した点の離散集合のプロット:
441 @c ===beg===
442 @c plot2d ([discrete, [10, 20, 30, 40, 50],
443 @c                    [.6, .9, 1.1, 1.3, 1.4]])$
444 @c ===end===
445 @example
446 @group
447 (%i1) plot2d ([discrete, [10, 20, 30, 40, 50],
448                          [.6, .9, 1.1, 1.3, 1.4]])$
449 @end group
450 @end example
452 @ifnotinfo
453 @image{figures/plotting9,8cm}
454 @end ifnotinfo
456 それぞれの点を別々に定義し、点を繋ぐ線をなくした、前の例で示された同じ点:
458 @c ===beg===
459 @c plot2d([discrete, [[10, .6], [20, .9], [30, 1.1], 
460 @c                    [40, 1.3], [50, 1.4]]],
461 @c                   [style, points])$
462 @c ===end===
463 @example
464 @group
465 (%i1) plot2d([discrete, [[10, .6], [20, .9], [30, 1.1],
466                          [40, 1.3], [50, 1.4]]],
467                         [style, points])$
468 @end group
469 @end example
471 @ifnotinfo
472 @image{figures/plotting10,8cm}
473 @end ifnotinfo
475 この例では、3つの列を持つテーブルがファイル''data.txt''に保存され、
476 読み込まれ、2番目、3番目の列は2つの軸上にプロットされます:
478 @c ===beg===
479 @c with_stdout ("data.txt", for x:0 thru 10 do
480 @c                              print (x, x^2, x^3))$
481 @c data: transpose ( read_matrix ("data.txt"))$
482 @c plot2d ([discrete, transpose(data)[2], transpose(data)[3]],
483 @c   [style,points], [point_type,diamond], [color,red])$
484 @c ===end===
485 @example
486 (%i1) with_stdout ("data.txt", for x:0 thru 10 do 
487                                    print (x, x^2, x^3))$
488 (%i2) data: transpose ( read_matrix ("data.txt"))$
489 @group
490 (%i3) plot2d ([discrete, transpose(data)[2], transpose(data)[3]],
491   [style,points], [point_type,diamond], [color,red])$
492 @end group
493 @end example
495 @ifnotinfo
496 @image{figures/plotting11,8cm}
497 @end ifnotinfo
499 実験データ点を、データを予測する理論的関数と一緒にプロット:
501 @c ===beg===
502 @c xy: [[10, .6], [20, .9], [30, 1.1], [40, 1.3], [50, 1.4]]$
503 @c plot2d([[discrete, xy], 2*%pi*sqrt(l/980)], [l,0,50],
504 @c         [style, points, lines], [color, red, blue],
505 @c         [point_type, asterisk],
506 @c         [legend, "experiment", "theory"],
507 @c         [xlabel, "pendulum's length (cm)"],
508 @c         [ylabel, "period (s)"])$
509 @c ===end===
510 @example
511 (%i1) xy: [[10, .6], [20, .9], [30, 1.1], [40, 1.3], [50, 1.4]]$
512 @group
513 (%i2) plot2d([[discrete, xy], 2*%pi*sqrt(l/980)], [l,0,50],
514         [style, points, lines], [color, red, blue],
515         [point_type, asterisk],
516         [legend, "experiment", "theory"],
517         [xlabel, "pendulum's length (cm)"],
518         [ylabel, "period (s)"])$
519 @end group
520 @end example
522 @ifnotinfo
523 @image{figures/plotting12,8cm}
524 @end ifnotinfo
526 プロットオプションに関する節も参照してください。
528 @opencatbox
529 @category{Plotting}
530 @closecatbox
531 @end deffn
533 @c -----------------------------------------------------------------------------
534 @anchor{plot3d}
535 @deffn  {関数} plot3d (@var{expr}, @var{x_range}, @var{y_range}, @dots{}, @var{options}, @dots{})
536 @deffnx {関数} plot3d ([@var{expr_1}, @var{expr_2}, @var{expr_3}], @var{x_range}, @var{y_range}, @dots{}, @var{options}, @dots{})
538 2変数関数もしくはパラメトリック形式で定義された、1つか複数の表面のプロットを表示します。
540 プロットされる関数は、式か関数名として指定できます。
541 違った側面から表面を見るためにマウスを使ってプロットを回転することができます。
543 @strong{例:}
545 よくある関数のプロット:
547 @c ===beg===
548 @c plot3d (2^(-u^2 + v^2), [u, -3, 3], [v, -2, 2])$
549 @c ===end===
550 @example
551 (%i1) plot3d (2^(-u^2 + v^2), [u, -3, 3], [v, -2, 2]);
552 @end example
554 @ifnotinfo
555 @image{figures/plotting13,8cm}
556 @end ifnotinfo
558 無限大に発散する関数を制限するためのzオプションの使用(この場合、関数はxとy軸上でマイナス無限だい);
559 これは線のみ陰影なしでプロットする仕方も示します。
561 @c ===beg===
562 @c plot3d ( log ( x^2*y^2 ), [x, -2, 2], [y, -2, 2], [z, -8, 4],
563 @c          [palette, false], [color, magenta, blue])$
564 @c ===end===
565 @example
566 @group
567 (%i1) plot3d ( log ( x^2*y^2 ), [x, -2, 2], [y, -2, 2], [z, -8, 4],
568                [palette, false], [color, magenta, blue])$
569 @end group
570 @end example
572 @ifnotinfo
573 @image{figures/plotting14,8cm}
574 @end ifnotinfo
576 zの無限大は、いかなる漸近線上にも落ちないグリッドを選ぶことによっても避けることができます;
577 この例は事前に定義されたパレットの1つ、この場合4番目のものを選択する仕方も示します:
579 @c ===beg===
580 @c plot3d( log (x^2*y^2), [x, -2, 2], [y, -2, 2],
581 @c    [grid, 29, 29],
582 @c    [palette, get_plot_option(palette,5)])$
583 @c ===end===
584 @example
585 @group
586 (%i1) plot3d( log (x^2*y^2), [x, -2, 2], [y, -2, 2], 
587          [grid, 29, 29],
588          [palette, get_plot_option(palette,5)])$
589 @end group
590 @end example
592 @ifnotinfo
593 @image{figures/plotting15,8cm}
594 @end ifnotinfo
596 同じ領域を共有する同じプロットでの2つの表面;
597 gnuplotでは2つの表面は同じパレットを使用します:
599 @c ===beg===
600 @c plot3d ([2^(-x^2 + y^2), 4*sin(3*(x^2+y^2))/(x^2+y^2),
601 @c         [x, -3, 3], [y, -2, 2]])$
602 @c ===end===
603 @example
604 (%i1) plot3d ([2^(-x^2 + y^2), 4*sin(3*(x^2+y^2))/(x^2+y^2),
605               [x, -3, 3], [y, -2, 2]])$
606 @end example
608 @ifnotinfo
609 @image{figures/plotting16,8cm}
610 @end ifnotinfo
612 異なる領域を持つ、同じ2つの表面;
613 xmaximaでは、それぞれの表面は、オプションパレットで定義されたリストから選ばれた
614 異なるパレットを使います:
616 @c ===beg===
617 @c plot3d ( [[2^(-x^2 + y^2),[x,-2,2],[y,-2,2]],
618 @c    4*sin(3*(x^2+y^2))/(x^2+y^2),
619 @c    [x, -3, 3], [y, -2, 2]], [plot_format,xmaxima])$
620 @c ===end===
621 @example
622 @group
623 (%i1) plot3d ( [[2^(-x^2 + y^2),[x,-2,2],[y,-2,2]],
624          4*sin(3*(x^2+y^2))/(x^2+y^2),
625          [x, -3, 3], [y, -2, 2]], [plot_format,xmaxima])$
626 @end group
627 @end example
629 @ifnotinfo
630 @image{figures/plotting17,8cm}
631 @end ifnotinfo
633 パラメトリックに定義されたKleinの壷のプロット:
635 @c ===beg===
636 @c expr_1: 5*cos(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y) + 3.0) - 10.0$
637 @c expr_2: -5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y) + 3.0)$
638 @c expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))$
639 @c plot3d ([expr_1, expr_2, expr_3], [x, -%pi, %pi],
640 @c         [y, -%pi, %pi], [grid, 40, 40])$
641 @c ===end===
642 @example
643 (%i1) expr_1:5*cos(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3.0)-10.0$
644 (%i2) expr_2:-5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y) + 3.0)$
645 (%i3) expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))$
646 @group
647 (%i4) plot3d ([expr_1, expr_2, expr_3], [x, -%pi, %pi],
648         [y, -%pi, %pi], [grid, 40, 40])$
649 @end group
650 @end example
652 @ifnotinfo
653 @image{figures/plotting18,8cm}
654 @end ifnotinfo
656 球座標から直交座標に変換するのにあらかじめ定義された変換@code{spherical_to_xyz}
657 を使った球調和のプロット。
658 @code{spherical_to_xyz}に関するドキュメンテーションを参照してください。
660 @c ===beg===
661 @c plot3d (sin(2*theta)*cos(phi), [theta, 0, %pi],
662 @c         [phi, 0, 2*%pi],
663 @c         [transform_xy, spherical_to_xyz], [grid,30,60])$
664 @c ===end===
665 @example
666 @group
667 (%i1) plot3d (sin(2*theta)*cos(phi), [theta, 0, %pi],
668               [phi, 0, 2*%pi],
669               [transform_xy, spherical_to_xyz], [grid,30,60])$
670 @end group
671 @end example
673 @ifnotinfo
674 @image{figures/plotting19,8cm}
675 @end ifnotinfo
677 円筒座標から直交座標に変換するのにあらかじめ定義された変換@code{polar_to_xyz}
678 を使った球面調和関数のプロット。
679 @code{polarl_to_xyz}に関するドキュメンテーションを参照してください。
680 この例は境界ボックスと凡例を消去する仕方も示します。
681 @c ===beg===
682 @c plot3d (r^.33*cos(th/3), [r, 0, 1], [th, 0, 6*%pi],
683 @c    [grid, 12, 80],
684 @c    [transform_xy, polar_to_xy], [box, false],
685 @c    [legend,false])$
686 @c ===end===
687 @example
688 @group
689 (%i1) plot3d (r^.33*cos(th/3), [r, 0, 1], [th, 0, 6*%pi],
690          [grid, 12, 80],
691          [transform_xy, polar_to_xy], [box, false],
692          [legend,false])$
693 @end group
694 @end example
696 @ifnotinfo
697 @image{figures/plotting20,8cm}
698 @end ifnotinfo
700 球座標から直交座標への変換を使っての球のプロット。
701 xmaximaでは、球の対称形を維持するように3つの軸は同じ比でスケールされます。
702 同一色で異なる陰影のパレットが使われます:
704 @c ===beg===
705 @c plot3d ( 5, [theta, 0, %pi], [phi, 0, 2*%pi],
706 @c    [plot_format,xmaxima],
707 @c    [transform_xy, spherical_to_xyz],
708 @c    [palette,[value,0.65,0.7,0.1,0.9]])$
709 @c ===end===
710 @example
711 @group
712 (%i1) plot3d ( 5, [theta, 0, %pi], [phi, 0, 2*%pi],
713          [plot_format,xmaxima],
714          [transform_xy, spherical_to_xyz],
715          [palette,[value,0.65,0.7,0.1,0.9]])$
716 @end group
717 @end example
719 @ifnotinfo
720 @image{figures/plotting21,8cm}
721 @end ifnotinfo
723 行列を使った2変数関数の定義。
724 関数の定義の中のシングルクォートに注意してください。
725 行列が整数添字を要求する状況に実際に至る時、plot3dが失敗しないためのものです。
727 @c ===beg===
728 @c M: matrix([1, 2, 3, 4], [1, 2, 3, 2], [1, 2, 3, 4],
729 @c           [1, 2, 3, 3])$
730 @c f(x, y) := float('M [round(x), round(y)])$
731 @c plot3d (f(x,y), [x, 1, 4], [y, 1, 4], [grid, 4, 4])$
732 @c ===end===
733 @example
734 (%i1) M: matrix([1, 2, 3, 4], [1, 2, 3, 2], [1, 2, 3, 4],
735                 [1, 2, 3, 3])$
736 (%i2) f(x, y) := float('M [round(x), round(y)])$
737 @group
738 (%i3) plot3d (f(x,y), [x, 1, 4], [y, 1, 4], [grid, 4, 4])$
739 apply: subscript must be an integer; found: round(x)
740 @end group
741 @end example
743 @ifnotinfo
744 @image{figures/plotting22,8cm}
745 @end ifnotinfo
747 elevationを零の等しく設定することで,
748 表面は地図として見ることができます。
749 その地図は、それぞれの色は違ったレベルを表現します。
750 オプション@code{colorbox}は、
751 色とレベルの対応を示すのに使われます。
752 メッシュ線を使用不可にし、色が見やすいようにしています。
753 @c ===beg===
754 @c plot3d (cos (-x^2 + y^3/4), [x, -4, 4], [y, -4, 4],
755 @c         [mesh_lines_color, false], [elevation, 0], [azimuth, 0],
756 @c         [colorbox, true], [grid, 150, 150])$
757 @c ===end===
758 @example
759 @group
760 (%i1) plot3d (cos (-x^2 + y^3/4), [x, -4, 4], [y, -4, 4],
761         [mesh_lines_color, false], [elevation, 0], [azimuth, 0],
762         [colorbox, true], [grid, 150, 150])$
763 @end group
764 @end example
766 @ifnotinfo
767 @image{figures/plotting23,8cm}
768 @end ifnotinfo
770 プロットオプションについての節も参照してください。
772 @opencatbox
773 @category{Plotting}
774 @closecatbox
776 @end deffn
778 @c -----------------------------------------------------------------------------
779 @anchor{plot_options}
780 @defvr {システム変数} plot_options
782 このリストの要素は、プロットのデフォルトオプションを指定します。
783 もし@code{plot2d}もしくは@code{plot3d}がコールされる時、オプションが指定されたら、
784 その値は、デフォルトオプションより優先されます。
785 そうでなければ、@code{plot_options}の中の値が使われます。
786 デフォルトオプションは、@code{set_plot_option}を使って割り当てられます。
787 それぞれのプロットコマンドに特化したローカルオプションがあり、それらは、この、グローバルオプションのリストには含まれません。
789 @code{plot_options}のそれぞれの要素は、2つ以上の項目のリストです。
790 最初の項目はオプション名で、残りはオプションに割り当てられる値です。
791 いくつかの場合、割り当てられた値はリストであり、複数の項目からなることがあります。
793 @code{set_plot_option}と@code{get_option}、プロットオプションの節も参照してください。
795 @opencatbox
796 @category{Plotting}
797 @closecatbox
798 @end defvr
800 @c -----------------------------------------------------------------------------
801 @anchor{set_plot_option}
802 @deffn {関数} set_plot_option (@var{option})
804 プロットオプションの節にリストされているオプションのほとんどを受け付け、
805 それらをグローバル変数@code{plot_options}に保存します。
807 @code{set_plot_option}は引数を評価し、
808 (与えられたオプションを変更した後、)完全なリスト@code{plot_options}を返します。
810 @code{plot_options}と@code{get_option}、プロットオプションの節も参照してください。
813 例:
815 @code{grid}値の変更。
817 @c ===beg===
818 @c set_plot_option ([grid, 30, 40]);
819 @c ===end===
820 @example
821 (%i1) set_plot_option ([grid, 30, 40]);
822 @group
823 (%o1) [[t, - 3, 3], [grid, 30, 40], [transform_xy, false], 
824 [run_viewer, true], [axes, true], [plot_format, gnuplot_pipes], 
825 [color, blue, red, green, magenta, black, cyan], 
826 [point_type, bullet, circle, plus, times, asterisk, box, square, 
827 triangle, delta, wedge, nabla, diamond, lozenge], 
828 [palette, [hue, 0.25, 0.7, 0.8, 0.5], 
829 [hue, 0.65, 0.8, 0.9, 0.55], [hue, 0.55, 0.8, 0.9, 0.4], 
830 [hue, 0.95, 0.7, 0.8, 0.5]], [gnuplot_term, default], 
831 [gnuplot_out_file, false], [nticks, 29], [adapt_depth, 5], 
832 [gnuplot_preamble, ], [gnuplot_default_term_command, 
833 set term pop], [gnuplot_dumb_term_command, set term dumb 79 22], 
834 [gnuplot_ps_term_command, set size 1.5, 1.5;set term postscript ¥
835 eps enhanced color solid 24], [plot_realpart, false]]
836 @end group
837 @end example
839 @opencatbox
840 @category{Plotting}
841 @closecatbox
842 @end deffn
844 @c -----------------------------------------------------------------------------
845 @anchor{spherical_to_xyz}
846 @deffn {システム関数} spherical_to_xyz
848 plot3dの@code{transform_xy}オプションに対する値として与えることができます。
849 その効果はplot3dでの2つの独立変数と関数を点の球座標
850 (1番目はz軸に対する角度、次にxy射影のx軸に対する角度、最後に原点からの距離)
851 として解釈し、それらをx,y,z座標に変換することです。
853 @opencatbox
854 @category{Plotting}
855 @closecatbox
856 @end deffn
858 @c -----------------------------------------------------------------------------
859 @node Plotting Options, Gnuplot Options, Functions and Variables for Plotting, Plotting
860 @section Plotting Options
861 @c -----------------------------------------------------------------------------
863 すべてのオプションは、この節のキーワードの1つで始まり、
864 1つ以上の値が続くリストで構成されます。
865 オプションのほとんどは
866 (@var{plot2d}, @var{plot3d}, @var{contour_plot}, @var{implicit_plot})
867 どのプロットコマンドでも。また関数@var{set_plot_option}の中でも使うことができます;
868 例外は以下のリストで指定されます。
870 @defvr {プロットオプション} adapt_depth [adapt_depth, @var{integer}]
872 適応プロットルーチンで使われる分割の最大数です。
874 デフォルト値: 5
876 @opencatbox
877 @category{Plotting}
878 @closecatbox
879 @end defvr
881 @c -----------------------------------------------------------------------------
882 @anchor{axes}
883 @defvr {プロットオプション} axes [axes, @var{symbol}]
885 ここで、@var{symbol}は@code{true}, @code{false}, @code{x}, @code{y}のいずれかでありえます。
886 もし@code{false}なら、軸は表示されません;
887 もし@code{x}か@code{y}に等しいなら、xかy軸のみが表示され、
888 @code{true}に等しいなら、両方の軸が表示されます。
889 このオプションはplot2dとimplicit_plotだけが使います。
891 デフォルト値: @code{true}
893 @opencatbox
894 @category{Plotting}
895 @closecatbox
896 @end defvr
898 @c -----------------------------------------------------------------------------
899 @anchor{azimut}
900 @defvr {プロットオプション} azimuth [azimuth, @var{number}]
902 plot3dプロットは
903 plot2dと同様の水平軸と垂直軸に関してx軸とy軸と、
904 紙から垂直に出てくるz軸で始まるものと考えることができます。
905 z軸はその後x軸の回りに@code{elevation}に等しい角度だけ回転され、
906 その後、xy平面は新しいz軸の回りに角度@code{azimuth}だけ回転されます。
907 このオプションはazimuthに関する値を単位、度で設定します。
909 デフォルト値: 30
911 @code{elevation}も参照してください。
913 @opencatbox
914 @category{Plotting}
915 @closecatbox
916 @end defvr
918 @c -----------------------------------------------------------------------------
919 @anchor{option_box}
920 @defvr {プロットオプション} box [box, @var{symbol}]
922 もし@code{true}に設定されるなら、
923 境界枠がプロットに表示されます;
924 もし@code{false}に設定されるなら、
925 枠は表示されません。
927 デフォルト値: @code{true}
929 @opencatbox
930 @category{Plotting}
931 @closecatbox
932 @end defvr
934 @c -----------------------------------------------------------------------------
935 @anchor{color}
936 @defvr {プロットオプション} color [color, @var{color_1}, @dots{}, @var{color_n}]
938 plot2dとimplicit_plotでは、様々な曲線の色を定義します。
939 plot3dでは、パレットが使われない時、表面のメッシュ線の色を定義します;
940 表面の片方の側面は色@code{color_1}を持ち、逆の側面は@var{color_2}を(またはもし1つの色しかないなら、同じ色を)持ちます。
942 もし色よりも曲線や表面が多いなら、色は順に繰り返されます。
943 gnuplotを使う時、色は、 青、赤、緑、マゼンタ、シアンまたは黒です;
944 xmaximaでは、色はそれらもしくは文字#で始まり、6桁の16進数字が続く文字列です;
945 2つは赤成分、2つは緑成分、2つが青成分です。
946 もし未知の色の名前が与えられたら、黒が代わりに使われます。
948 デフォルト値: blue, red, green, magenta, black, byan
950 @opencatbox
951 @category{Plotting}
952 @closecatbox
953 @end defvr
955 @c -----------------------------------------------------------------------------
956 @anchor{colorbox}
957 @defvr {プロットオプション} colorbox [colorbox, @var{symbol}]
959 ここで、@var{symbol}は@code{true}か@code{false}であり得ます。
960 もし@code{true}なら、
961 plot3dはzの違った値を表現するために、
962 違った色のパレットを使う時はいつでも、
963 zの値の大きさに従って使われた色を示す枠が右に示されます。
964 このオプションはxmaximaでは機能しません。
966 デフォルト値: @code{false}
968 @opencatbox
969 @category{Plotting}
970 @closecatbox
971 @end defvr
973 @c -----------------------------------------------------------------------------
974 @anchor{elevation}
975 @defvr {プロットオプション} elevation [elevation, @var{number}]
977 plot3dプロットは
978 plot2dでの水平と垂直軸にxとy軸に
979 紙から直立に立ったz軸から始まると考えられます。
980 その後、z軸はx軸の回りを @code{elevation}に等しい角度だけ回転し、
981 xy平面は新しいz軸の回りを @code{azimuth}角度だけ回転します。
982 このオプションはelevationの値を度単位で設定します。
984 デフォルト値: 60
986 @code{azimuth}も参照してください。
988 @opencatbox
989 @category{Plotting}
990 @closecatbox
991 @end defvr
993 @c -----------------------------------------------------------------------------
994 @anchor{grid}
996 @defvr {プロットオプション} grid [grid, @var{integer}, @var{integer}]
998 3次元プロットのためにx方向、y方向で使われるグリッド点の数を設定します。
1000 デフォルト値: 30, 30
1002 @opencatbox
1003 @category{Plotting}
1004 @closecatbox
1005 @end defvr
1007 @c -----------------------------------------------------------------------------
1008 @anchor{legend}
1009 @defvr {プロットオプション} legend [legend, @var{string_1}, @dots{}, @var{string_n}]
1010 @defvrx {プロットオプション} legend [legend, @var{false}]
1012 複数のプロットが示される時、プロットのラベルを指定します。
1013 もし与えられたラベルの数より多くの式があるなら、ラベルは繰り返されます。
1014 もし値@code{false}が与えられるなら、凡例は表示されません。
1015 デフォルトでは、式や関数の名前が使われます。また、点の離散集合に関しては、
1016 単語discrete1, discrete2, @dots{}が使われます。
1017 このオプションは@var{set_plot_optiion}で設定することができます。
1019 @opencatbox
1020 @category{Plotting}
1021 @closecatbox
1022 @end defvr
1024 @c -----------------------------------------------------------------------------
1025 @anchor{logx}
1026 @defvr {プロットオプション} logx [logx]
1028 水平軸を対数的にスケールするようにします。
1029 @var{set_plot_option}では使うことはできません。
1031 @opencatbox
1032 @category{Plotting}
1033 @closecatbox
1034 @end defvr
1036 @c -----------------------------------------------------------------------------
1037 @anchor{logy}
1038 @defvr {プロットオプション} logy [logy]
1040 垂直軸を対数的にスケールするようにします。
1041 @var{set_plot_option}では使うことはできません。
1043 @opencatbox
1044 @category{Plotting}
1045 @closecatbox
1046 @end defvr
1048 @c -----------------------------------------------------------------------------
1049 @anchor{mesh_lines_color}
1050 @defvr {Plot option} mesh_lines_color [mesh_lines_color, @var{color}]
1052 パレットが使われる時、plot3dがメッシュ線を描くのに使う色を設定します。
1053 オプション @code{color}と同じ色を受け付けます。
1054 (@code{color}で許される色のリストを参照してください。)
1055 値 @code{false}を与えて、メッシュ線を完全に消すこともできます。
1057 デフォルト値: black
1059 @opencatbox
1060 @category{Plotting}
1061 @closecatbox
1062 @end defvr
1064 @c -----------------------------------------------------------------------------
1065 @anchor{nticks}
1066 @defvr {プロットオプション} nticks [nticks, @var{integer}]
1068 plot2dで関数をプロットする時、
1069 関数をプロットするための適応プロットルーチンによって使われる点の数の初期値を与えます。
1070 plot2dやplot3dでパラメトリック関数をプロットする時、
1071 プロットで表示される点の数を設定します。
1073 デフォルト値: 29
1075 @opencatbox
1076 @category{Plotting}
1077 @closecatbox
1078 @end defvr
1080 @c -----------------------------------------------------------------------------
1081 @anchor{palette}
1082 @defvr {プロットオプション} palette [palette, [@var{palette_1}], ..., [@var{palette_n}]]
1083 @defvrx {プロットオプション} palette [palette, @var{false}]
1085 1つのパレットか複数のパレットのリストで構成されます。
1086 それぞれのパレットは4つの数が続くキーワード付きリストです。
1087 最初の3つの数は、0と1の間でなければならず、
1088 zの最小値に割り当てられる基本色の色調と飽和、値を定義します。
1089 キーワードは3つの属性(色調、飽和、値)のいずれかがzの値に従っての増えることを指定します。
1090 その最後の数は1よりも大きいこともマイナスでもありえます;
1091 変更された属性の対応する値は法1で丸められます。
1093 gnuplotはリストの中の最初のパレットだけを使います;
1094 xmaximaは、複数の表面が一緒にプロットされる時、リストの中のパレットを順に使います;
1095 パレットの数が尽きたら、それらは順に繰り返されます。
1097 メッシュ線の色はオプション@code{mesh_lines_color}で与えられます。
1098 もし@code{palette}が値@code{false}を与えられたら、
1099 表面は陰影されず、曲線のメッシュだけで表されます。
1100 その場合、線の色はオプション@code{color}で決定されます。
1102 デフォルト値: [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]
1104 @opencatbox
1105 @category{Plotting}
1106 @closecatbox
1108 @end defvr
1110 @c -----------------------------------------------------------------------------
1111 @anchor{plot_format}
1112 @defvr {プロットオプション} plot_format [plot_format, @var{format}]
1114 ここで@var{format}は以下のいずれかです;
1115 gnuplot, xmaxima, mgnuplot, gnuplot_pipes.
1117 プロットで使われるフォーマットを設定します。
1119 デフォルト値: Windowsシステムではgnuplot, 他のシステムではgnuplot_pipes
1121 @opencatbox
1122 @category{Plotting}
1123 @closecatbox
1124 @end defvr
1126 @c -----------------------------------------------------------------------------
1127 @anchor{plot_real_part}
1128 @defvr {プロットオプション} plot_real_part [plot_real_part, @var{symbol}]
1130 @code{true}に設定される時、プロットされる関数は
1131 実数値がプロットされる複素関数と見なされます;
1132 これは@code{realpart(@var{function})}をプロットすることと同値です。
1133 もし@code{false}に設定されたら、
1134 関数が実数値を与えない時には何も表示されません。
1135 例えば、@code{x}が負の時、@code{log(x)}は、
1136 実数値が@code{log(abs(x))}に等しい複素数値を与えます;
1137 もし@code{plot_real_part} が@code{true}だったなら、
1138 @code{log(-5)}は@code{log(5)}としてプロットされますが、
1139 もし@code{plot_real_part} が@code{false}だったなら、
1140 何もプロットされません。
1142 デフォルト値: @code{false}
1144 @opencatbox
1145 @category{Plotting}
1146 @closecatbox
1147 @end defvr
1149 @c -----------------------------------------------------------------------------
1150 @anchor{point_type}
1151 @defvr {プロットオプション} point_type [point_type, @var{type_1}, @dots{}, @var{type_n}]
1153 gnuplotでは、
1154 , each set of points to be plotted with the style 
1155 スタイル``points''か``linespoints''でプロットされた点のそれぞれの集合は
1156 このリストから取られたオブジェクトで順に表されます。
1157 もしこのリスト内のオブジェクト以上に点の集合があるなら、
1158 それらは順に繰り返されます。
1159 使うことができる可能なオブジェクト: bullet, circle, plus, times,
1160 asterisk, box, square,triangle, delta, wedge, nabla, diamond, lozenge
1162 デフォルト値: bullet, circle, plus, times, asterisk, box, square,triangle, delta, wedge, nabla, diamond, lozenge
1164 @opencatbox
1165 @category{Plotting}
1166 @closecatbox
1167 @end defvr
1169 @c -----------------------------------------------------------------------------
1170 @anchor{psfile}
1171 @defvr {プロットオプション} psfile [psfile, @var{string}]
1173 このオプションは、プロットをスクリーンに表示する代わりに、
1174 @var{string}に等しい名前のポストスクリプトファイルに保存します。
1175 デフォルトでは、そのファイルは、変数@var{maxima_tempdir}で定義されたディレクトリに
1176 生成されます;
1177 変数の値を変えて、違うディレクトリにファイルを保存できます。
1179 @opencatbox
1180 @category{Plotting}
1181 @closecatbox
1182 @end defvr
1184 @c -----------------------------------------------------------------------------
1185 @anchor{run_viewer}
1186 @defvr {プロットオプション} run_viewer [run_viewer, @var{symbol}]
1188 プロットフォーマット用の適切なビューアを走らせるかどうか制御します。
1190 @c DOES FALSE IMPLY THE OUTPUT FILE IS GENERATED AND NOT SHOWN ?? OR IS NOTHING GENERATED ??
1191 デフォルト値: @code{true}
1193 @opencatbox
1194 @category{Plotting}
1195 @closecatbox
1196 @end defvr
1198 @c -----------------------------------------------------------------------------
1199 @anchor{style}
1200 @defvr  {プロットオプション} style [style, @var{type_1}, @dots{}, @var{type1_n}]
1201 @defvrx {プロットオプション} style [style, [@var{style_1}], @dots{}, [@var{style_n}]]
1203 様々な関数やデータ一式のために2dプロットで使われるスタイル。
1204 単語@var{style}の後には、1つ以上のスタイルが続きます。
1205 もし与えられたスタイルよりも多くの関数やデータ集合があったら、スタイルは繰り返されます。
1206 それぞれのスタイルは、実線のためには@var{lines}、孤立点のためには@var{points}、
1207 線分と孤立点のためには@var{linespoints}、点線のためには@var{dots}を取り得ます。
1208 Gnuplotでは、@var{impulses}スタイルも使えます。
1210 スタイルのそれぞれは、いくつかの追加のパラメータとリストの中に入れることができます。
1211 @var{lines}は、1つか2つの数を取ります: 線の太さと、色を指定する整数。
1212 デフォルトの色コードは、1: 青, 2: 赤, 3: マゼンタ, 4: オレンジ, 5: ブラウン, 6: ライム, 7: アクア、です。
1213 もしX11ではない端末でGnuplotを使うなら、これらの色は、違っているかもしれません;
1214 例えば、もしオプション[@var{gnuplot_term},@var{ps}]を使うなら、色インデックス4は、
1215 オレンジではなく、黒に対応します。
1217 @var{points}は、1つか2つか3つのパラメータを取ります; 最初のパラメータは、点の半径、
1218 2番目のパラメータは、同じ色を選択する(@var{lines}で使われるコードと同じ)整数、
1219 3番目のパラメータは現在、Gnuplotでだけ使われており、点の代わりにいくつかのオブジェクトに対応します。オブジェクトのデフォルト値は、1: 黒丸, 2: 白丸, 3: 十字, 4: ×,
1220 5: 米印, 6: 黒四角, 7: 白四角, 8: 黒三角, 9: 白三角, 10: 黒逆三角, 11: 白逆三角,
1221 12: 黒菱形, 13: 白菱形、です。
1223 @var{linesdots}は、4つまでのパラメータを取ります;
1224 線の太さ、点の半径、色、点を置き換えるオブジェクトのタイプ。
1226 デフォルト値: @var{lines} (太さ1で、オプション@code{color}で与えられた最初の色を持つ線で結んだ点一式をプロットします)
1228 @code{color}と@code{point_type}も参照してください。
1230 @opencatbox
1231 @category{Plotting}
1232 @closecatbox
1233 @end defvr
1235 @c I think $t is not being used anymore. (J. Villate)
1237 @c -----------------------------------------------------------------------------
1238 @anchor{t}
1239 @defvr {プロットオプション} t [t, @var{min}, @var{max}]
1241 パラメトリックプロットのデフォルトの範囲。
1243 デフォルト値: -3, 3
1245 @opencatbox
1246 @category{Plotting}
1247 @closecatbox
1248 @end defvr
1250 @c -----------------------------------------------------------------------------
1251 @anchor{transform_xy}
1252 @defvr {プロットオプション} transform_xy [transform_xy, @var{symbol}]
1254 ここで、@var{symbol}は@code{false}か
1255 関数@code{transform_xy}を使うことで得られる結果をとり得ます。
1256 もし@code{false}と違うなら、
1257 plot3dで3座標を変換するのに使われます。
1259 デフォルト値: @code{false}
1261 @code{make_transform}, @code{polar_to_xy}, @code{spherical_to_xyz}を参照してください。
1263 @opencatbox
1264 @category{Plotting}
1265 @closecatbox
1266 @end defvr
1268 @c -----------------------------------------------------------------------------
1269 @anchor{x}
1270 @defvr {プロットオプション} x [x, @var{min}, @var{max}]
1272 2dプロットコマンドの最初の(またはplot3dの最初の二つのどちらかの)
1273 オプションとして使われる時、
1274 1番目の独立変数がxであることを示し、その範囲を設定します。
1275 最初のオプションの後(またはplot3dでは2番目のオプションの後)、
1276 プロット内で示される有効な水平領域を定義するために、
1277 再び使うことができます。
1279 @opencatbox
1280 @category{Plotting}
1281 @closecatbox
1282 @end defvr
1284 @c -----------------------------------------------------------------------------
1285 @anchor{xlabel}
1286 @defvr {プロットオプション} xlabel [xlabel, @var{string}]
1288 1番目の軸をラベルする@var{string}を指定します;
1289 もしこのオプションが使われないなら、
1290 plot2dかimplicit_plotで関数をプロットする時、そのラベルは独立変数の名前です。
1291 plot3dで表面を、もしくはcontour_plotで等高線をプロットする時、
1292 そのラベルは1番目の変数の名前です。
1293 パラメトリックプロットの場合、1番目の式です。
1294 @var{set_plot_option}では使うことはできません。
1296 @opencatbox
1297 @category{Plotting}
1298 @closecatbox
1299 @end defvr
1301 @c -----------------------------------------------------------------------------
1302 @anchor{y}
1303 @defvr {プロットオプション} y [y, @var{min}, @var{max}]
1304 plot3dでの最初の2つのオプションの1つとして使われる時、
1305 独立変数の1つがyであることを示し、その範囲を設定します。
1306 そうでなければ、
1307 プロットで示される2番目の変数の有効領域を定義します。
1309 @opencatbox
1310 @category{Plotting}
1311 @closecatbox
1312 @end defvr
1314 @c -----------------------------------------------------------------------------
1315 @anchor{ylabel}
1316 @defvr {プロットオプション} ylabel [ylabel, @var{string}]
1318 二番目の軸をラベルする@var{string}を指定します;
1319 もしこのオプションが使われないなら、
1320 plot2dやimplicit_plotで関数をプロットする時、そのラベルは、''y''となり、
1321 plot3dで表面をプロットするときや、contour_plotで等高線をプロットする時、
1322 二番目の変数名となり、
1323 パラメトリックプロットの場合には、二番目の式になります。
1324 @var{set_plot_option}では使うことはできません。
1326 @opencatbox
1327 @category{Plotting}
1328 @closecatbox
1329 @end defvr
1331 @c -----------------------------------------------------------------------------
1332 @anchor{z}
1333 @defvr {プロットオプション} z [z, @var{min}, @var{max}]
1334 プロットで示されるzの値の有効範囲を設定するためにplot3dで使われます。
1336 @opencatbox
1337 @category{Plotting}
1338 @closecatbox
1339 @end defvr
1341 @c -----------------------------------------------------------------------------
1342 @anchor{zlabel}
1343 @defvr {プロットオプション} zlabel [zlabel, @var{string}]
1345 plot3dを使う時、第三軸をラベルする@var{string}を指定します。
1346 もしこのオプションが使われないなら、
1347 そのラベルは、
1348 表面をプロットする時は``z''となり、
1349 パラメトリックプロットの場合には三番目の式になります。
1350 @var{set_plot_option}では使うことはできません。
1351 また、plot2d, implicit_plotでは無視されます。
1353 @opencatbox
1354 @category{Plotting}
1355 @closecatbox
1356 @end defvr
1358 @c -----------------------------------------------------------------------------
1359 @node Gnuplot Options, Gnuplot_pipes Format Functions, Plotting Options, Plotting
1360 @section Gnuplot Options
1361 @c -----------------------------------------------------------------------------
1363 gnuplotに特化したプロットオプションがいくつかあります。
1364 これらのオプションのいくつかは、gnuplotコマンドそのもので、文字列として指定されます。
1365 詳細はgnuplotドキュメンテーションを参照してください。
1366 ほとんどの場合、これらのオプションは、
1367 より一般的な上記のオプションの1つで置き換えることができます;
1368 これらの場合、より一般的な形式を使うことをお勧めします。
1370 @defvr {プロットオプション} gnuplot_term
1372 gnuplot用の出力端末タイプを設定します。
1373 @itemize @bullet
1374 @item
1375 @strong{default} (デフォルト値)
1377 Gnuplot出力が、別のグラフィカルなウィンドウに表示されます。
1379 @item
1380 @strong{dumb}
1382 Gnuplot出力が、Mグラフィックスの"ASCIIアート"近似で、Maximaコンソールに表示されます。
1384 @item
1385 @strong{ps}
1387 Gnuplotが、ポストスクリプトページ記述言語でコマンドを生成します。
1388 もしオプション@code{gnuplot_out_file}が@var{filename}に設定されているなら、
1389 gnuplotは、@var{filename}にポストスクリプトコマンドを書きます。
1390 そうでなければ、@code{maxplot.ps}ファイルとして保存します。
1392 @item
1393 他のいかなる有効なgnuplot端末仕様
1395 Gnuplotは、png, jpeg, svgのような多くの他のグラフィカルフォーマットで出力を
1396 生成することができます。
1397 これらのフォーマットすべてでプロットを生成するに、@code{gnuplot_term}に
1398 任意のサポートされたgnuplot端末名(シンボル)もしくは、任意の有効なオプションを伴う
1399 gnuplot端末フル仕様(文字列)さえ設定できます。
1400 例えば、@code{[gnuplot_term,png]}は、PNG (Portable Network Graphics)形式で
1401 出力を生成する一方、@code{[gnuplot_term,"png size 1000,1000"]}は、
1402 1000x1000ピクセルサイズのPNGを生成します。
1404 もしオプション@code{gnuplot_out_file}が@var{filename}に設定されたら、
1405 gnuplotは、@var{filename}に出力を書き込みます。
1406 そうでなければ、@code{maxplot.@var{term}}ファイルに書き込みます。
1407 ここで、@var{term}はgnuplot端末名です。
1408 @end itemize
1410 @opencatbox
1411 @category{Plotting}
1412 @closecatbox
1413 @end defvr
1415 @c -----------------------------------------------------------------------------
1416 @anchor{gnuplot_out_file}
1417 @defvr {プロットオプション} gnuplot_out_file
1419 @code{gnuplot_term}オプションと関連して使われる時、
1420 Gnuplotがサポートするグラフィックフォーマットの1つで、
1421 ファイルにプロットを保存するのに使われます。
1422 もしポストスクリプトファイルを生成したければ、
1423 代わりにオプション @code{psfile}を使うことができます。
1424 これは、Openmathでも機能し、たった1つのオプションで同じことができます。
1426 @example
1427 [gnuplot_term, png], [gnuplot_out_file, "graph3.png"]
1428 @end example
1430 @opencatbox
1431 @category{Plotting}
1432 @closecatbox
1433 @end defvr
1435 @c -----------------------------------------------------------------------------
1436 @anchor{gnuplot_pm3d}
1437 @defvr {プロットオプション} gnuplot_pm3d
1439 @code{false}の値では、PM3Dモードの使用を抑制するのに使われます。
1440 PM3Dモードはデフォルトで使用可能です。
1442 @opencatbox
1443 @category{Plotting}
1444 @closecatbox
1445 @end defvr
1447 @c -----------------------------------------------------------------------------
1448 @anchor{gnuplot_preamble}
1449 @defvr {プロットオプション} gnuplot_preamble
1451 プロットを描く前に、gnuplotコマンドを挿入します。
1452 有効などんなgnuplotコマンドも使うことができます。
1453 複数のコマンドは、セミコロンで分離されなければいけません。
1454 示される例はログスケールプロットを生成します。
1455 @code{gnuplot_preamble}のデフォルト値は、空の文字列@code{""}です。
1457 @opencatbox
1458 @category{Plotting}
1459 @closecatbox
1460 @end defvr
1462 @c -----------------------------------------------------------------------------
1463 @anchor{gnuplot_curve_titles}
1464 @defvr {プロットオプション} gnuplot_curve_titles
1466 これは、上記で記載した@emph{legend}で置き換えられた古いオプションです。
1468 @opencatbox
1469 @category{Plotting}
1470 @closecatbox
1471 @end defvr
1473 @c -----------------------------------------------------------------------------
1474 @anchor{gnuplot_curve_styles}
1475 @defvr {プロットオプション} gnuplot_curve_styles
1477 これは、上記で記載した@emph{style}で置き換えられた古いオプションです。
1479 @opencatbox
1480 @category{Plotting}
1481 @closecatbox
1482 @end defvr
1484 @c -----------------------------------------------------------------------------
1485 @anchor{gnuplot_default_term_command}
1486 @defvr {プロットオプション} gnuplot_default_term_command
1488 デフォルト端末の端末タイプを設定するgnuplotコマンド。
1489 デフォルト値は、@code{set term pop}です。
1491 @opencatbox
1492 @category{Plotting}
1493 @closecatbox
1494 @end defvr
1496 @c -----------------------------------------------------------------------------
1497 @anchor{gnuplot_dumb_term_command}
1498 @defvr {プロットオプション} gnuplot_dumb_term_command
1500 ダム端末の端末タイプを設定するgnuplotコマンド。
1501 デフォルト値は、@code{"set term dumb 79 22"}です。
1502 これは、79文字 x 22文字のテキスト出力を生成します。
1504 @opencatbox
1505 @category{Plotting}
1506 @closecatbox
1507 @end defvr
1509 @c -----------------------------------------------------------------------------
1510 @anchor{gnuplot_ps_term_command}
1511 @defvr {プロットオプション} gnuplot_ps_term_command
1513 ポストスクリプト端末の端末タイプを設定するgnuplotコマンド。
1514 デフォルト値は、
1515 @code{"set size 1.5, 1.5; set term postscript eps enhanced color solid 24"},
1516 です。
1517 これは、サイズをgnuplotのデフォルトの1.5倍に設定し、フォントサイズを24に設定などします。
1518 @code{set term postscript}の詳細については、gnuplotドキュメンテーションを
1519 参照してください。
1521 @opencatbox
1522 @category{Plotting}
1523 @closecatbox
1524 @end defvr
1526 @c -----------------------------------------------------------------------------
1527 @node Gnuplot_pipes Format Functions,  , Gnuplot Options, Plotting
1528 @section Gnuplot_pipes Format Functions
1529 @c -----------------------------------------------------------------------------
1531 @c -----------------------------------------------------------------------------
1532 @anchor{gnuplot_start}
1533 @deffn {関数} gnuplot_start ()
1535 @code{gnuplot_pipes}フォーマットでのプロットのため使われるgnuplotへのパイプを開きます。
1536 プロットの前に手動でパイプを開く必要はありません。
1538 @opencatbox
1539 @category{Plotting}
1540 @closecatbox
1542 @end deffn
1544 @c -----------------------------------------------------------------------------
1545 @anchor{gnuplot_close}
1546 @deffn {関数} gnuplot_close ()
1548 @code{gnuplot_pipes}フォーマットで使われたgnuplotへのパイプを閉じます。
1550 @opencatbox
1551 @category{Plotting}
1552 @closecatbox
1553 @end deffn
1555 @c -----------------------------------------------------------------------------
1556 @anchor{gnuplot_restart}
1557 @deffn {関数} gnuplot_restart ()
1559 @code{gnuplot_pipes}フォーマットで使われたgnuplotへのパイプを閉じて、
1560 新しいパイプを開きます。
1562 @opencatbox
1563 @category{Plotting}
1564 @closecatbox
1565 @end deffn
1567 @c -----------------------------------------------------------------------------
1568 @anchor{gnuplot_replot}
1569 @deffn {関数} gnuplot_replot ()
1570 @deffnx {関数} gnuplot_replot (@var{s})
1572 gnuplotウィンドウを更新します。
1573 もし@code{gnuplot_replot}が、文字列@var{s}の中のgnuplotコマンドを引数としてコールされたなら、
1574 @code{s}はウィンドウが再プロットされる前にgnuplotに送られます。
1576 @opencatbox
1577 @category{Plotting}
1578 @closecatbox
1579 @end deffn
1581 @c -----------------------------------------------------------------------------
1582 @anchor{gnuplot_reset}
1583 @deffn {関数} gnuplot_reset ()
1585 @code{gnuplot_pipes}フォーマットと一緒に使われるgnuplotの状態をリセットします。
1586 gnuplotウィンドウを更新するには、
1587 @code{gnuplot_reset}の後に@code{gnuplot_replot}をコールください。
1589 @opencatbox
1590 @category{Plotting}
1591 @closecatbox
1593 @end deffn