Go to the first, previous, next, last section, table of contents.


曲線の取扱い

g f コマンドは、実は C-u g d g a g p の短縮形です。 同様に g F コマンドは、C-u g d g A g p の短縮形です。 直接これらのコマンドを使うことによって、グラフをより自由に操作できます。

g a (calc-graph-add) コマンドはスタック top の 2つの項で表現された 「曲線」を現行のグラフに追加(add)します。 曲線はいくつでも同一のグラフに追加できます。 g p コマンドを与えたとき、 全ての曲線は同一の座標軸を共有して重ね書きされます。

g a コマンド(および現行グラフに作用する多くのコマンド群)は、 特別なバッファ `*Gnuplot Commands*' を他のウィンドウに表示します。 このバッファはグラフを描く時に GNUPLOT に送られるコマンド群のテンプレートです。 初回の g a コマンドはこのバッファに plot コマンドを加えます。 引き続く g a コマンドは、その plot コマンドに更に曲線を追加します。 他のグラフ関連コマンドは他の GNUPLOT コマンドをこのバッファ内に設定します。 通常の使用では、このバッファを編集する必要はありませんが、やりたければ可能です。 唯一の「お約束」は、このバッファ内での plot コマンドは一回だけで、 そして最後のコマンドでなければならないという事です。 できあがったグラフ設定を保存して後で再利用したければ、 通常の Emacs コマンド群を使って `*Gnuplot Commands*' バッファの内容を セーブし再利用できます。

スタックの(2つの)値が変数名でなければ、 g a は(`PlotDatan' のような書式の)変数名を発明し、 値はその変数にストアします。 そのような「x」と「y」変数は、 テンプレートにおいて plot コマンドの引数となります。 ある変数を使う曲線を追加して、後でその変数を変更した場合、 すぐ replot 可能になっていて、曲線を削除して再び追加といった操作は不要です。 なぜなら、g a はベクトルや区間, 式そのものではなく、 plot コマンドの引数に変数名を追加しているだけだからです。 (訳注: 意味深なので良く考えたい。)

g ag f に数値接頭引数を付けると、 スタック項が曲線に変換される方式が変ります。 正の引数 n を付けると top の n 項が n 個の異なる曲線に対応する「y」値群となり、 スタックの n+1 番目の項が共通の「x」値として共有されます。 (従って、接頭引数無しの g aC-u 1 g a と同等です。)

接頭引数にゼロかプレーンの C-u を指定すると、 普通のようにスタックから 2項「x」,「y」を取りますが、 「y」を共通の「x」を共有する「y」値のリストとして解釈します。 (訳注: 「y」が文字式のリストである場合などに便利。)

負の接頭引数は Calc に n 個のリストをスタックから読込むよう指示します。 各リスト [x, y] はそれぞれ独立な曲線を記述します。 これは「x」を共有しない複数の曲線を同時生成する唯一の g a 形式です。 (もちろん、 同一グラフ上で見映え良くするには、 全ての曲線でカバーされる「x」の範囲がほぼ同一であるべきです。)

例えば n が 1〜5 についての sin(n x) をプロットするには、 v x を使って整数のリスト(n)を作り、 V M 'V M $`sin(n x)' をリストにマッピングします。 得られる式のリストは C-u g aC-u g f の「y」引数に適しています。

g A (calc-graph-add-3d) コマンドはグラフに 3D 曲線を追加します。 2D と 3D の曲線を同じグラフに混在させることはできません。 このコマンドはスタックから 3個の引数「x」,「y」,「z」を取ります。 正の接頭引数 n を付けると、 n+2 個の引数(共通の「x」,「y」と n 個の異なる「z」群)を取ります。 ゼロの接頭引数では、 スタックから 3個の引数を取りますが「z」項を各曲線値のリストと解釈します。 負の接頭引数 -n では、 [x, y, z] 形式のリストを n 個 取ります。 g A コマンドの実際の働きは、 `*Gnuplot Commands*' バッファに splot (surface-plot: 面プロット) コマンドを追加することです。

(g a は、 普通なら 2D の plot コマンドを `*Gnuplot Commands*' バッファに加えますが、 データ点が xyz 呼出しを行っている場合には Calc はこのコマンドを GNUPLOT に送る前に splot にすり替えます。 Calc は現行仕様では 2D と 3D の混在をチェックしませんが、 同一グラフ内で両方の g a を使うことはできません。)

g d (calc-graph-delete) コマンドは、 いちばん最近に追加された曲線をグラフから削除します。 グラフに一つも曲線が無いときには何もしません。 接頭引数を付けると、それが何であれ、全ての曲線をグラフから削除します。

g H (calc-graph-hide) コマンドは、 いちばん最近に追加された曲線を「ハイド(隠す)」,「アンハイド」します。 隠された曲線は実プロットに現れませんが、 名前, ラインスタイル, ポイントスタイルといった情報は維持されます。

g j (calc-graph-juggle) コマンドは、 リストの最後の曲線(いちばん最近に追加された曲線)をリストの先頭に移動させます。 すると今度は、 最後から 2番目の曲線が g d などのコマンドの対象になります。 最後の曲線しか扱えないコマンドでも、 g j を使えばグラフ中のどの曲線でも扱えるようになります。

g p (calc-graph-plot) コマンドは、 GNUPLOT を使って `*Gnuplot Commands*' で記述されたグラフを描きます。 このバッファ中でコマンドによって定義されていない GNUPLOT パラメータは デフォルト値にリセットされます。 plot コマンド中で挙げられた変数群は、 テンポラリデータファイルに書かれ、 そして変数名はファイル名に置換えられます(in the template)。 この結果が GNUPLOT プログラムに与えられます。 もっと具体的な情報は GNUPLOT プログラムの説明書を見てください。 全てのテンポラリファイルは Emacs か GNUPLOT が終了するときに削除されます。

「y」の式を与えると、Calc はその式で計算した全ての値を、 後で再利用できるように記憶します。 記憶データに影響するような状況を何か変えてやると (例えば角度モードを60分法からラジアンに変えたり、 式中のパラメータの値を変えたりすると)、 記憶した値は捨てられます。 g p に負の数値接頭引数を付けると、 データを強制的に再計算させることができます。

グラフが区間型式で与えられた場合、 Calc の行う補間はかなり粗いです。 これはクイックレスポンスを得るためです。 g p に正の数値接頭引数を付けると、プロットを微細化できます。 Calc は前回のプロットで計算しセーブしたデータ点を使いきった上で、 各点の中間に新しいデータ点を計算し挿入します。 プロットは何回でも微細化できますが、 計算はその都度倍増するすることに注意してください。

Calc は 3D グラフ用に計算した値は記憶しません。 これは、3D グラフである限り g p に付けた数値接頭引数は何であれ無視されることを意味します。

g P (calc-graph-print) コマンドは g p に似ていますが、 その出力をスクリーンではなくプリンタに送ります。 正確には、 g p`*Gnuplot Commands*' バッファ中で `set terminal'`set output' コマンドを探し、 無ければデフォルト設定を用います。 しかし g P は、`set terminal'`set output' を無視し、 異なるデフォルト設定群を用います。 これらの値は後述する g Dg O コマンドで制御されます。 全てが適切に設定されていれば、 g p は特に指定しない限りスクリーンにプロットし、 g P は常にプリンタにプロットします。


Go to the first, previous, next, last section, table of contents.     利用度数