Next: , Previous:   [Contents][Index]

12 Plotting


Next: , Previous: , Up: Plotting   [Contents][Index]

12.1 Introduction to Plotting

Maximaは、プロットするために、外部のプロットパッケージを使います (以下のPlottingフォーマットを参照してください)。 プロット関数は、点一式を計算し、コマンド一式と一緒にプロットパッケージに渡します。 その情報は、パイプを通したり、 データが保存されたファイル名と共にプログラムをコールすることで、 外部のプログラムに渡されます。 データファイルは名前maxout.interfaceを与えられます。 interfaceは使われるプロットインターフェース名 (gnuplot, xmaxima, mgnuplotまたはgnuplot_pipes)です。

maxout.interfaceファイルが使われる場合、 システム変数maxima_tempdirで指定されたディレクトリに生成されます。 場所は変更できます; その変数に、Maximaが新しいファイルを作ることができる有効なディレクトリ を示す文字列を割り当てることで。

プロットが生成さられた後でも、 ファイルmaxout.interfaceは、 適切な外部のプログラムで再度実行することができます。 もしMaximaのプロットコマンドが何かを表示するのに失敗したなら、 問題の可能性のある元をファイルで調べることができます。

この章で記述されたプロット関数と合わせて、 パッケージ drawは他の機能を加えます。 いくつかのプロットオプションはどちらのプロット文脈でも同じ名前が付けられていますが、 異なる構文を持つことに注意してください; もしこれらのオプションに関係した描画情報をアクセスしたいなら、 ?? optとタイプしなければいけません。ここで、optはオプション名です。


12.2 Plotting Formats

現在、Maximaが使う2つの外部のプロットプログラムがあります: GnuplotとXmaximaです。 これらのプログラムに対して様々な異なるフォーマットがあります。 それらは、オプションplot_formatで選択することができます。 (Plotting Options節を参照してください。)

プロットフォーマットは以下の通りです:


12.3 Functions and Variables for Plotting

関数: contour_plot (expr, x_range, y_range, options, …)

exprの等高線を、領域x_rangey_rangeでプロットします。 他の引数は、plot3dと同じように扱われます。

この関数は、プロットフォーマットがgnuplotgnuplot_pipesの時だけ、 動作します。 付加パッケージimplicit_plotも等高線をプロットするのに使われ、 それは任意のフォーマットで動作します。 implicit_plotも参照してください。

例:

(%i1) contour_plot (x^2 + y^2, [x, -4, 4], [y, -4, 4])$
./figures/plotting2
(%i1) F(x, y) := x^3 + y^2;
                                   3    2
(%o1)                  F(x, y) := x  + y
(%i2) contour_plot (F, [u, -4, 4], [v, -4, 4])$

plot3dが受け付ける任意のオプションを足すことができます; 例えば、オプションlegendにfalseの値を入れると、凡例を取り除きます。 Gnuplotはデフォルトで3つの高等線を示すように選びます。 レベルの数を増やすには、カスタムのgnuplot前置きを指定する必要があります;

(%i1) contour_plot (u^3 + v^2, [u, -4, 4], [v, -4, 4], 
                    [legend,false],
                    [gnuplot_preamble, "set cntrparam levels 12"])$
関数: get_plot_option (keyword, index)

グローバル変数plot_optionsに保存されている 名前keywordを持つオプションの値を返します。 添字で1の値はキーワード自身を返します; 2番の値はキーワードに続く一番目のパラメータを返す、などなど。

plot_optionsset_plot_option、Plotting Optionの節も参照してください。

関数: make_transform ([var1, var2, var3], fx, fy, fz)

plot3dのオプションtransform_xyで使われるのに適した関数を返します。 3つの変数var1, var2, var3は3つのダミー変数名です。 それらは、plot3dコマンドが与える3変数 (最初2つの独立変数と、その後それら2つの変数に依存する関数)を表します。 3つの関数fx, fy, fzは、 それら3変数にだけ依存しなければいけなく、プロットすべき対応するx, y, z座標を与えます。 デフォルトで定義された2つの変換があります; polar_to_xyspherical_to_xyz; それら2つの変換に関するドキュメンテーションを参照してください。

システム関数: polar_to_xy

plot3dのtransform_xyオプションに対する値として与えることができます。 その効果はplot3dの2つの独立変数をz軸からの距離と方位角(極座標)として通訳し、 それらをxとy座標に変換することです。

関数: plot2d (plot, x_range, …, options, …)
関数: plot2d ([plot_1, …, plot_n], …, options, …)
関数: plot2d ([plot_1, …, plot_n], x_range, …, options, …)

ここで、plot, plot_1, …, plot_nは式か関数名、もしくは以下のいずれかの形式のリストです:

[discrete, [x1, ..., xn], [y1, ..., yn]], [discrete, [[x1, y1], ..., [xn, ..., yn]], または[parametric, x_expr, y_expr, t_range].

1つもしくは複数の式を1変数か1パラメータの関数としてプロット表示します。

plot2dは1つもしくは複数のプロットを2次元に表示します。 プロットを定義するのに式や関数名を使う時には、 それらは1変数varだけに依存すべきであり、 変数名とその最小値と最大値を提供するためにx_rangeの使用が必須です; x_rangeの構文法は以下の通りです:

[variable, min, max]

プロットを、離散形式やパラメトリック形式で定義することもできます。 離散形式は既定の座標で表された点の集合をプロットするのに使われます。 離散プロットは、キーワードdiscreteで始まり、 値についてのリスト1つか2つが続くリストで定義されます。 もし2つのリストが与えられたら、それらは同じ長さを持たなければいけません; 1番目のリストはプロットされる点のx座標として、 2番目のリストはy座標として解釈されます。 もしdiscreteキーワードの後、1つのリストだけ与えられたら、 リスト上のそれぞれの要素は、点のxとy座標に対応する2つの値を持つリストでなければいけません。

パラメトリックプロットは、 キーワードparametricで始まり、 2つの式か関数名と、パラメータの範囲が続くリストで定義されます。 パラメータの範囲は、パラメータ名とその最小値、最大値が続くリストでなければいけません:

[param, min, max]

paramminからmaxに増えるにつれ、 2つの式または関数で与えられる座標の点によって描かれる軌跡をプロットは表示します。

垂直軸の範囲は以下の形式を持つオプション引数です:

[y, min, max](キーワードyはいつも垂直軸に使われます)。

もしこのオプションを使ったなら、 プロットが到達する値と別に、ちょうどオプションの垂直範囲をプロットは表示します。 もし垂直範囲を指定しなかったなら、プロット点のy座標の最小値と最大値に従って、 垂直範囲が設定されます。

他のすべてのオプションも、 キーワードで始まり、1つか複数の値が続くリストでなければいけません。 plot_optionsを参照してください。

もし複数のプロットがプロットされるなら、式のそれぞれを識別するために凡例が書かれます。 その凡例で使われるラベルは、オプションlegendで与えることができます。 もしそのオプションが使われないなら、Maximaは式や関数名からラベルを生成します。

例:

よくある関数のプロット:

(%i1) plot2d (sin(x), [x, -%pi, %pi])$
./figures/plotting2

もし関数の増大が速すぎるなら、yオプションを使って、垂直軸の値を制限する必要があるかもしれません:

(%i1) plot2d (sec(x), [x, -2, 2], [y, -20, 20])$
plot2d: some values were clipped.
./figures/plotting3

プロットの外観は使うプロットプログラムに依存して異なるかもしれません。 プロットボックスが使用不可能になっている時、Xmaximaは矢印を使って軸をプロットします:

(%i1) plot2d ( x^2-1, [x, -3, 3], [y, -2, 10],
                      [box, false], [plot_format, xmaxima])$
./figures/plotting1

対数プロットの例:

(%i11) plot2d (exp(3*s), [s, -2, 2], [logy])$
./figures/plotting4

関数を名前でプロット:

(%i1) F(x) := x^2 $
(%i2) :lisp (defun |$g| (x) (m* x x x))
$g
(%i2) H(x) := if x < 0 then x^4 - 1 else 1 - x^5 $
(%i3) plot2d ([F, G, H], [u, -1, 1], [y, -1.5, 1.5])$
./figures/plotting5

パラメトリックに定義されたバタフライカーブのプロット:

(%i1) r: (exp(cos(t))-2*cos(4*t)-sin(t/12)^5)$
(%i2) plot2d([parametric, r*sin(t), r*cos(t), 
             [t, -8*%pi, 8*%pi], [nticks, 2000]])$
./figures/plotting6

7点だけでプロットする時の2回転「円」:

(%i1) plot2d ([parametric, cos(t), sin(t),
              [t, -2*%pi, 2*%pi], [nticks, 8]])$
./figures/plotting7

円のパラメトリック表現と一緒に、よくある関数のプロット。 プロットのサイズは、円を丸く、楕円のように変形しないように、 xとyオプションで調整されています。 これらの値は、このプロットを生成するのに使われたPostscript端末ではうまく機能します; あなたはあなたのスクリーンのために値を調整しなければいけないかもしれません。

(%i1) plot2d([[parametric, cos(t), sin(t),
              [t,0,2*%pi], [nticks, 80]],
        abs(x)], [x,-2,2], [y, -1.5, 1.5])$
plot2d: some values were clipped.
./figures/plotting8

x座標、y座標を別々に定義した点の離散集合のプロット:

(%i1) plot2d ([discrete, [10, 20, 30, 40, 50],
                         [.6, .9, 1.1, 1.3, 1.4]])$
./figures/plotting9

それぞれの点を別々に定義し、点を繋ぐ線をなくした、前の例で示された同じ点:

(%i1) plot2d([discrete, [[10, .6], [20, .9], [30, 1.1],
                         [40, 1.3], [50, 1.4]]],
                        [style, points])$
./figures/plotting10

この例では、3つの列を持つテーブルがファイル”data.txt”に保存され、 読み込まれ、2番目、3番目の列は2つの軸上にプロットされます:

(%i1) with_stdout ("data.txt", for x:0 thru 10 do 
                                   print (x, x^2, x^3))$
(%i2) data: transpose ( read_matrix ("data.txt"))$
(%i3) plot2d ([discrete, transpose(data)[2], transpose(data)[3]],
  [style,points], [point_type,diamond], [color,red])$
./figures/plotting11

実験データ点を、データを予測する理論的関数と一緒にプロット:

(%i1) xy: [[10, .6], [20, .9], [30, 1.1], [40, 1.3], [50, 1.4]]$
(%i2) plot2d([[discrete, xy], 2*%pi*sqrt(l/980)], [l,0,50],
        [style, points, lines], [color, red, blue],
        [point_type, asterisk],
        [legend, "experiment", "theory"],
        [xlabel, "pendulum's length (cm)"],
        [ylabel, "period (s)"])$
./figures/plotting12

プロットオプションに関する節も参照してください。

関数: plot3d (expr, x_range, y_range, …, options, …)
関数: plot3d ([expr_1, expr_2, expr_3], x_range, y_range, …, options, …)

2変数関数もしくはパラメトリック形式で定義された、1つか複数の表面のプロットを表示します。

プロットされる関数は、式か関数名として指定できます。 違った側面から表面を見るためにマウスを使ってプロットを回転することができます。

例:

よくある関数のプロット:

(%i1) plot3d (2^(-u^2 + v^2), [u, -3, 3], [v, -2, 2]);
./figures/plotting13

無限大に発散する関数を制限するためのzオプションの使用(この場合、関数はxとy軸上でマイナス無限だい); これは線のみ陰影なしでプロットする仕方も示します。

(%i1) plot3d ( log ( x^2*y^2 ), [x, -2, 2], [y, -2, 2], [z, -8, 4],
               [palette, false], [color, magenta, blue])$
./figures/plotting14

zの無限大は、いかなる漸近線上にも落ちないグリッドを選ぶことによっても避けることができます; この例は事前に定義されたパレットの1つ、この場合4番目のものを選択する仕方も示します:

(%i1) plot3d( log (x^2*y^2), [x, -2, 2], [y, -2, 2], 
         [grid, 29, 29],
         [palette, get_plot_option(palette,5)])$
./figures/plotting15

同じ領域を共有する同じプロットでの2つの表面; gnuplotでは2つの表面は同じパレットを使用します:

(%i1) plot3d ([2^(-x^2 + y^2), 4*sin(3*(x^2+y^2))/(x^2+y^2),
              [x, -3, 3], [y, -2, 2]])$
./figures/plotting16

異なる領域を持つ、同じ2つの表面; xmaximaでは、それぞれの表面は、オプションパレットで定義されたリストから選ばれた 異なるパレットを使います:

(%i1) plot3d ( [[2^(-x^2 + y^2),[x,-2,2],[y,-2,2]],
         4*sin(3*(x^2+y^2))/(x^2+y^2),
         [x, -3, 3], [y, -2, 2]], [plot_format,xmaxima])$
./figures/plotting17

パラメトリックに定義されたKleinの壷のプロット:

(%i1) expr_1:5*cos(x)*(cos(x/2)*cos(y)+sin(x/2)*sin(2*y)+3.0)-10.0$
(%i2) expr_2:-5*sin(x)*(cos(x/2)*cos(y) + sin(x/2)*sin(2*y) + 3.0)$
(%i3) expr_3: 5*(-sin(x/2)*cos(y) + cos(x/2)*sin(2*y))$
(%i4) plot3d ([expr_1, expr_2, expr_3], [x, -%pi, %pi],
        [y, -%pi, %pi], [grid, 40, 40])$
./figures/plotting18

球座標から直交座標に変換するのにあらかじめ定義された変換spherical_to_xyz を使った球調和のプロット。 spherical_to_xyzに関するドキュメンテーションを参照してください。

(%i1) plot3d (sin(2*theta)*cos(phi), [theta, 0, %pi],
              [phi, 0, 2*%pi],
              [transform_xy, spherical_to_xyz], [grid,30,60])$
./figures/plotting19

円筒座標から直交座標に変換するのにあらかじめ定義された変換polar_to_xyz を使った球面調和関数のプロット。 polarl_to_xyzに関するドキュメンテーションを参照してください。 この例は境界ボックスと凡例を消去する仕方も示します。

(%i1) plot3d (r^.33*cos(th/3), [r, 0, 1], [th, 0, 6*%pi],
         [grid, 12, 80],
         [transform_xy, polar_to_xy], [box, false],
         [legend,false])$
./figures/plotting20

球座標から直交座標への変換を使っての球のプロット。 xmaximaでは、球の対称形を維持するように3つの軸は同じ比でスケールされます。 同一色で異なる陰影のパレットが使われます:

(%i1) plot3d ( 5, [theta, 0, %pi], [phi, 0, 2*%pi],
         [plot_format,xmaxima],
         [transform_xy, spherical_to_xyz],
         [palette,[value,0.65,0.7,0.1,0.9]])$
./figures/plotting21

行列を使った2変数関数の定義。 関数の定義の中のシングルクォートに注意してください。 行列が整数添字を要求する状況に実際に至る時、plot3dが失敗しないためのものです。

(%i1) M: matrix([1, 2, 3, 4], [1, 2, 3, 2], [1, 2, 3, 4],
                [1, 2, 3, 3])$
(%i2) f(x, y) := float('M [round(x), round(y)])$
(%i3) plot3d (f(x,y), [x, 1, 4], [y, 1, 4], [grid, 4, 4])$
apply: subscript must be an integer; found: round(x)
./figures/plotting22

elevationを零の等しく設定することで, 表面は地図として見ることができます。 その地図は、それぞれの色は違ったレベルを表現します。 オプションcolorboxは、 色とレベルの対応を示すのに使われます。 メッシュ線を使用不可にし、色が見やすいようにしています。

(%i1) plot3d (cos (-x^2 + y^3/4), [x, -4, 4], [y, -4, 4],
        [mesh_lines_color, false], [elevation, 0], [azimuth, 0],
        [colorbox, true], [grid, 150, 150])$
./figures/plotting23

プロットオプションについての節も参照してください。

システム変数: plot_options

このリストの要素は、プロットのデフォルトオプションを指定します。 もしplot2dもしくはplot3dがコールされる時、オプションが指定されたら、 その値は、デフォルトオプションより優先されます。 そうでなければ、plot_optionsの中の値が使われます。 デフォルトオプションは、set_plot_optionを使って割り当てられます。 それぞれのプロットコマンドに特化したローカルオプションがあり、それらは、この、グローバルオプションのリストには含まれません。

plot_optionsのそれぞれの要素は、2つ以上の項目のリストです。 最初の項目はオプション名で、残りはオプションに割り当てられる値です。 いくつかの場合、割り当てられた値はリストであり、複数の項目からなることがあります。

set_plot_optionget_option、プロットオプションの節も参照してください。

関数: set_plot_option (option)

プロットオプションの節にリストされているオプションのほとんどを受け付け、 それらをグローバル変数plot_optionsに保存します。

set_plot_optionは引数を評価し、 (与えられたオプションを変更した後、)完全なリストplot_optionsを返します。

plot_optionsget_option、プロットオプションの節も参照してください。

例:

grid値の変更。

(%i1) set_plot_option ([grid, 30, 40]);
(%o1) [[t, - 3, 3], [grid, 30, 40], [transform_xy, false], 
[run_viewer, true], [axes, true], [plot_format, gnuplot_pipes], 
[color, blue, red, green, magenta, black, cyan], 
[point_type, bullet, circle, plus, times, asterisk, box, square, 
triangle, delta, wedge, nabla, diamond, lozenge], 
[palette, [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]], [gnuplot_term, default], 
[gnuplot_out_file, false], [nticks, 29], [adapt_depth, 5], 
[gnuplot_preamble, ], [gnuplot_default_term_command, 
set term pop], [gnuplot_dumb_term_command, set term dumb 79 22], 
[gnuplot_ps_term_command, set size 1.5, 1.5;set term postscript ¥
eps enhanced color solid 24], [plot_realpart, false]]
システム関数: spherical_to_xyz

plot3dのtransform_xyオプションに対する値として与えることができます。 その効果はplot3dでの2つの独立変数と関数を点の球座標 (1番目はz軸に対する角度、次にxy射影のx軸に対する角度、最後に原点からの距離) として解釈し、それらをx,y,z座標に変換することです。


12.4 Plotting Options

すべてのオプションは、この節のキーワードの1つで始まり、 1つ以上の値が続くリストで構成されます。 オプションのほとんどは (plot2d, plot3d, contour_plot, implicit_plot) どのプロットコマンドでも。また関数set_plot_optionの中でも使うことができます; 例外は以下のリストで指定されます。

プロットオプション: adapt_depth [adapt_depth, integer]

適応プロットルーチンで使われる分割の最大数です。

デフォルト値: 5

プロットオプション: axes [axes, symbol]

ここで、symboltrue, false, x, yのいずれかでありえます。 もしfalseなら、軸は表示されません; もしxyに等しいなら、xかy軸のみが表示され、 trueに等しいなら、両方の軸が表示されます。 このオプションはplot2dとimplicit_plotだけが使います。

デフォルト値: true

プロットオプション: azimuth [azimuth, number]

plot3dプロットは plot2dと同様の水平軸と垂直軸に関してx軸とy軸と、 紙から垂直に出てくるz軸で始まるものと考えることができます。 z軸はその後x軸の回りにelevationに等しい角度だけ回転され、 その後、xy平面は新しいz軸の回りに角度azimuthだけ回転されます。 このオプションはazimuthに関する値を単位、度で設定します。

デフォルト値: 30

elevationも参照してください。

プロットオプション: box [box, symbol]

もしtrueに設定されるなら、 境界枠がプロットに表示されます; もしfalseに設定されるなら、 枠は表示されません。

デフォルト値: true

プロットオプション: color [color, color_1, …, color_n]

plot2dとimplicit_plotでは、様々な曲線の色を定義します。 plot3dでは、パレットが使われない時、表面のメッシュ線の色を定義します; 表面の片方の側面は色color_1を持ち、逆の側面はcolor_2を(またはもし1つの色しかないなら、同じ色を)持ちます。

もし色よりも曲線や表面が多いなら、色は順に繰り返されます。 gnuplotを使う時、色は、 青、赤、緑、マゼンタ、シアンまたは黒です; xmaximaでは、色はそれらもしくは文字#で始まり、6桁の16進数字が続く文字列です; 2つは赤成分、2つは緑成分、2つが青成分です。 もし未知の色の名前が与えられたら、黒が代わりに使われます。

デフォルト値: blue, red, green, magenta, black, byan

プロットオプション: colorbox [colorbox, symbol]

ここで、symboltruefalseであり得ます。 もしtrueなら、 plot3dはzの違った値を表現するために、 違った色のパレットを使う時はいつでも、 zの値の大きさに従って使われた色を示す枠が右に示されます。 このオプションはxmaximaでは機能しません。

デフォルト値: false

プロットオプション: elevation [elevation, number]

plot3dプロットは plot2dでの水平と垂直軸にxとy軸に 紙から直立に立ったz軸から始まると考えられます。 その後、z軸はx軸の回りを elevationに等しい角度だけ回転し、 xy平面は新しいz軸の回りを azimuth角度だけ回転します。 このオプションはelevationの値を度単位で設定します。

デフォルト値: 60

azimuthも参照してください。

プロットオプション: grid [grid, integer, integer]

3次元プロットのためにx方向、y方向で使われるグリッド点の数を設定します。

デフォルト値: 30, 30

プロットオプション: legend [legend, string_1, …, string_n]
プロットオプション: legend [legend, false]

複数のプロットが示される時、プロットのラベルを指定します。 もし与えられたラベルの数より多くの式があるなら、ラベルは繰り返されます。 もし値falseが与えられるなら、凡例は表示されません。 デフォルトでは、式や関数の名前が使われます。また、点の離散集合に関しては、 単語discrete1, discrete2, …が使われます。 このオプションはset_plot_optiionで設定することができます。

プロットオプション: logx [logx]

水平軸を対数的にスケールするようにします。 set_plot_optionでは使うことはできません。

プロットオプション: logy [logy]

垂直軸を対数的にスケールするようにします。 set_plot_optionでは使うことはできません。

Plot option: mesh_lines_color [mesh_lines_color, color]

パレットが使われる時、plot3dがメッシュ線を描くのに使う色を設定します。 オプション colorと同じ色を受け付けます。 (colorで許される色のリストを参照してください。) 値 falseを与えて、メッシュ線を完全に消すこともできます。

デフォルト値: black

プロットオプション: nticks [nticks, integer]

plot2dで関数をプロットする時、 関数をプロットするための適応プロットルーチンによって使われる点の数の初期値を与えます。 plot2dやplot3dでパラメトリック関数をプロットする時、 プロットで表示される点の数を設定します。

デフォルト値: 29

プロットオプション: palette [palette, [palette_1], ..., [palette_n]]
プロットオプション: palette [palette, false]

1つのパレットか複数のパレットのリストで構成されます。 それぞれのパレットは4つの数が続くキーワード付きリストです。 最初の3つの数は、0と1の間でなければならず、 zの最小値に割り当てられる基本色の色調と飽和、値を定義します。 キーワードは3つの属性(色調、飽和、値)のいずれかがzの値に従っての増えることを指定します。 その最後の数は1よりも大きいこともマイナスでもありえます; 変更された属性の対応する値は法1で丸められます。

gnuplotはリストの中の最初のパレットだけを使います; xmaximaは、複数の表面が一緒にプロットされる時、リストの中のパレットを順に使います; パレットの数が尽きたら、それらは順に繰り返されます。

メッシュ線の色はオプションmesh_lines_colorで与えられます。 もしpaletteが値falseを与えられたら、 表面は陰影されず、曲線のメッシュだけで表されます。 その場合、線の色はオプションcolorで決定されます。

デフォルト値: [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]

プロットオプション: plot_format [plot_format, format]

ここでformatは以下のいずれかです; gnuplot, xmaxima, mgnuplot, gnuplot_pipes.

プロットで使われるフォーマットを設定します。

デフォルト値: Windowsシステムではgnuplot, 他のシステムではgnuplot_pipes

プロットオプション: plot_real_part [plot_real_part, symbol]

trueに設定される時、プロットされる関数は 実数値がプロットされる複素関数と見なされます; これはrealpart(function)をプロットすることと同値です。 もしfalseに設定されたら、 関数が実数値を与えない時には何も表示されません。 例えば、xが負の時、log(x)は、 実数値がlog(abs(x))に等しい複素数値を与えます; もしplot_real_parttrueだったなら、 log(-5)log(5)としてプロットされますが、 もしplot_real_partfalseだったなら、 何もプロットされません。

デフォルト値: false

プロットオプション: point_type [point_type, type_1, …, type_n]

gnuplotでは、 , each set of points to be plotted with the style スタイル“points”か“linespoints”でプロットされた点のそれぞれの集合は このリストから取られたオブジェクトで順に表されます。 もしこのリスト内のオブジェクト以上に点の集合があるなら、 それらは順に繰り返されます。 使うことができる可能なオブジェクト: bullet, circle, plus, times, asterisk, box, square,triangle, delta, wedge, nabla, diamond, lozenge

デフォルト値: bullet, circle, plus, times, asterisk, box, square,triangle, delta, wedge, nabla, diamond, lozenge

プロットオプション: psfile [psfile, string]

このオプションは、プロットをスクリーンに表示する代わりに、 stringに等しい名前のポストスクリプトファイルに保存します。 デフォルトでは、そのファイルは、変数maxima_tempdirで定義されたディレクトリに 生成されます; 変数の値を変えて、違うディレクトリにファイルを保存できます。

プロットオプション: run_viewer [run_viewer, symbol]

プロットフォーマット用の適切なビューアを走らせるかどうか制御します。

デフォルト値: true

プロットオプション: style [style, type_1, …, type1_n]
プロットオプション: style [style, [style_1], …, [style_n]]

様々な関数やデータ一式のために2dプロットで使われるスタイル。 単語styleの後には、1つ以上のスタイルが続きます。 もし与えられたスタイルよりも多くの関数やデータ集合があったら、スタイルは繰り返されます。 それぞれのスタイルは、実線のためにはlines、孤立点のためにはpoints、 線分と孤立点のためにはlinespoints、点線のためにはdotsを取り得ます。 Gnuplotでは、impulsesスタイルも使えます。

スタイルのそれぞれは、いくつかの追加のパラメータとリストの中に入れることができます。 linesは、1つか2つの数を取ります: 線の太さと、色を指定する整数。 デフォルトの色コードは、1: 青, 2: 赤, 3: マゼンタ, 4: オレンジ, 5: ブラウン, 6: ライム, 7: アクア、です。 もしX11ではない端末でGnuplotを使うなら、これらの色は、違っているかもしれません; 例えば、もしオプション[gnuplot_term,ps]を使うなら、色インデックス4は、 オレンジではなく、黒に対応します。

pointsは、1つか2つか3つのパラメータを取ります; 最初のパラメータは、点の半径、 2番目のパラメータは、同じ色を選択する(linesで使われるコードと同じ)整数、 3番目のパラメータは現在、Gnuplotでだけ使われており、点の代わりにいくつかのオブジェクトに対応します。オブジェクトのデフォルト値は、1: 黒丸, 2: 白丸, 3: 十字, 4: ×, 5: 米印, 6: 黒四角, 7: 白四角, 8: 黒三角, 9: 白三角, 10: 黒逆三角, 11: 白逆三角, 12: 黒菱形, 13: 白菱形、です。

linesdotsは、4つまでのパラメータを取ります; 線の太さ、点の半径、色、点を置き換えるオブジェクトのタイプ。

デフォルト値: lines (太さ1で、オプションcolorで与えられた最初の色を持つ線で結んだ点一式をプロットします)

colorpoint_typeも参照してください。

プロットオプション: t [t, min, max]

パラメトリックプロットのデフォルトの範囲。

デフォルト値: -3, 3

プロットオプション: transform_xy [transform_xy, symbol]

ここで、symbolfalseか 関数transform_xyを使うことで得られる結果をとり得ます。 もしfalseと違うなら、 plot3dで3座標を変換するのに使われます。

デフォルト値: false

make_transform, polar_to_xy, spherical_to_xyzを参照してください。

プロットオプション: x [x, min, max]

2dプロットコマンドの最初の(またはplot3dの最初の二つのどちらかの) オプションとして使われる時、 1番目の独立変数がxであることを示し、その範囲を設定します。 最初のオプションの後(またはplot3dでは2番目のオプションの後)、 プロット内で示される有効な水平領域を定義するために、 再び使うことができます。

プロットオプション: xlabel [xlabel, string]

1番目の軸をラベルするstringを指定します; もしこのオプションが使われないなら、 plot2dかimplicit_plotで関数をプロットする時、そのラベルは独立変数の名前です。 plot3dで表面を、もしくはcontour_plotで等高線をプロットする時、 そのラベルは1番目の変数の名前です。 パラメトリックプロットの場合、1番目の式です。 set_plot_optionでは使うことはできません。

プロットオプション: y [y, min, max]

plot3dでの最初の2つのオプションの1つとして使われる時、 独立変数の1つがyであることを示し、その範囲を設定します。 そうでなければ、 プロットで示される2番目の変数の有効領域を定義します。

プロットオプション: ylabel [ylabel, string]

二番目の軸をラベルするstringを指定します; もしこのオプションが使われないなら、 plot2dやimplicit_plotで関数をプロットする時、そのラベルは、”y”となり、 plot3dで表面をプロットするときや、contour_plotで等高線をプロットする時、 二番目の変数名となり、 パラメトリックプロットの場合には、二番目の式になります。 set_plot_optionでは使うことはできません。

プロットオプション: z [z, min, max]

プロットで示されるzの値の有効範囲を設定するためにplot3dで使われます。

プロットオプション: zlabel [zlabel, string]

plot3dを使う時、第三軸をラベルするstringを指定します。 もしこのオプションが使われないなら、 そのラベルは、 表面をプロットする時は“z”となり、 パラメトリックプロットの場合には三番目の式になります。 set_plot_optionでは使うことはできません。 また、plot2d, implicit_plotでは無視されます。


12.5 Gnuplot Options

gnuplotに特化したプロットオプションがいくつかあります。 これらのオプションのいくつかは、gnuplotコマンドそのもので、文字列として指定されます。 詳細はgnuplotドキュメンテーションを参照してください。 ほとんどの場合、これらのオプションは、 より一般的な上記のオプションの1つで置き換えることができます; これらの場合、より一般的な形式を使うことをお勧めします。

プロットオプション: gnuplot_term

gnuplot用の出力端末タイプを設定します。

  • default (デフォルト値)

    Gnuplot出力が、別のグラフィカルなウィンドウに表示されます。

  • dumb

    Gnuplot出力が、Mグラフィックスの"ASCIIアート"近似で、Maximaコンソールに表示されます。

  • ps

    Gnuplotが、ポストスクリプトページ記述言語でコマンドを生成します。 もしオプションgnuplot_out_filefilenameに設定されているなら、 gnuplotは、filenameにポストスクリプトコマンドを書きます。 そうでなければ、maxplot.psファイルとして保存します。

  • 他のいかなる有効なgnuplot端末仕様

    Gnuplotは、png, jpeg, svgのような多くの他のグラフィカルフォーマットで出力を 生成することができます。 これらのフォーマットすべてでプロットを生成するに、gnuplot_termに 任意のサポートされたgnuplot端末名(シンボル)もしくは、任意の有効なオプションを伴う gnuplot端末フル仕様(文字列)さえ設定できます。 例えば、[gnuplot_term,png]は、PNG (Portable Network Graphics)形式で 出力を生成する一方、[gnuplot_term,"png size 1000,1000"]は、 1000x1000ピクセルサイズのPNGを生成します。

    もしオプションgnuplot_out_filefilenameに設定されたら、 gnuplotは、filenameに出力を書き込みます。 そうでなければ、maxplot.termファイルに書き込みます。 ここで、termはgnuplot端末名です。

プロットオプション: gnuplot_out_file

gnuplot_termオプションと関連して使われる時、 Gnuplotがサポートするグラフィックフォーマットの1つで、 ファイルにプロットを保存するのに使われます。 もしポストスクリプトファイルを生成したければ、 代わりにオプション psfileを使うことができます。 これは、Openmathでも機能し、たった1つのオプションで同じことができます。

[gnuplot_term, png], [gnuplot_out_file, "graph3.png"]
プロットオプション: gnuplot_pm3d

falseの値では、PM3Dモードの使用を抑制するのに使われます。 PM3Dモードはデフォルトで使用可能です。

プロットオプション: gnuplot_preamble

プロットを描く前に、gnuplotコマンドを挿入します。 有効などんなgnuplotコマンドも使うことができます。 複数のコマンドは、セミコロンで分離されなければいけません。 示される例はログスケールプロットを生成します。 gnuplot_preambleのデフォルト値は、空の文字列""です。

プロットオプション: gnuplot_curve_titles

これは、上記で記載したlegendで置き換えられた古いオプションです。

プロットオプション: gnuplot_curve_styles

これは、上記で記載したstyleで置き換えられた古いオプションです。

プロットオプション: gnuplot_default_term_command

デフォルト端末の端末タイプを設定するgnuplotコマンド。 デフォルト値は、set term popです。

プロットオプション: gnuplot_dumb_term_command

ダム端末の端末タイプを設定するgnuplotコマンド。 デフォルト値は、"set term dumb 79 22"です。 これは、79文字 x 22文字のテキスト出力を生成します。

プロットオプション: gnuplot_ps_term_command

ポストスクリプト端末の端末タイプを設定するgnuplotコマンド。 デフォルト値は、 "set size 1.5, 1.5; set term postscript eps enhanced color solid 24", です。 これは、サイズをgnuplotのデフォルトの1.5倍に設定し、フォントサイズを24に設定などします。 set term postscriptの詳細については、gnuplotドキュメンテーションを 参照してください。


Previous: , Up: Plotting   [Contents][Index]

12.6 Gnuplot_pipes Format Functions

関数: gnuplot_start ()

gnuplot_pipesフォーマットでのプロットのため使われるgnuplotへのパイプを開きます。 プロットの前に手動でパイプを開く必要はありません。

関数: gnuplot_close ()

gnuplot_pipesフォーマットで使われたgnuplotへのパイプを閉じます。

関数: gnuplot_restart ()

gnuplot_pipesフォーマットで使われたgnuplotへのパイプを閉じて、 新しいパイプを開きます。

関数: gnuplot_replot ()
関数: gnuplot_replot (s)

gnuplotウィンドウを更新します。 もしgnuplot_replotが、文字列sの中のgnuplotコマンドを引数としてコールされたなら、 sはウィンドウが再プロットされる前にgnuplotに送られます。

関数: gnuplot_reset ()

gnuplot_pipesフォーマットと一緒に使われるgnuplotの状態をリセットします。 gnuplotウィンドウを更新するには、 gnuplot_resetの後にgnuplot_replotをコールください。


Next: , Previous:   [Contents][Index]