Ngraph を起動すると下図の様に4つのウィンドウが開かれます。
ここでは、簡単に各ウィンドウの説明をします。![]()
この他にも、レジェンドを一覧表示する "Legend Window"、合成ファイルを一覧表示する "Merge Window"、フィットの結果等を表示する "Information Window" などのウィンドウを開く事ができます。 また、各ウィンドウ上でマウスの右ボタンをクリックすると、それぞれのウィンドウで異なるポップアップメニューを出す事ができ、各種操作が行えるようになっています。
各ウィンドウの位置は独立して動かせますが、同時に全てのウィンドウの位置を動かしたい時には、CtlキーあるいはAltキーを押しながら Viewer Window をドラッグしてください。 あるいは、[ウィンドウ]-[子ウィンドウの自動移動]を選択して Viewer Window をドラッグしてください。
初期状態ではフレームグラフが一つ作成されています。フレームグラフの4つの軸のスケールはまだ設定されていませんので、軸の基線を示す枠だけが表示されています。 これで良ければ次に進みます。 他の種類のグラフを作成するには、[グラフ]-[新規作成]([Graph]-[New graph])メニューで作成するグラフの種類を指定します。
フレームグラフ(Frame graph)
4つの軸で囲まれたグラフ方眼グラフ(Section graph)
4つの軸で囲まれ、方眼線の入ったグラフ交差グラフ(Cross graph)
X-Y2軸のグラフ
データファイルを開く方法は他にも用意されていていずれの方法でも、データファイルを指定すると次いでプロット方法などを指定するデータダイアログボックスが開きますが、取り敢えず OK で閉じてください。があります。
- 下図のコントロールボタンを押す
![]()
- Data Window上でマウス右ボタンを押してポップアップメニューを出し、"Open" メニューを選ぶ
- エクスプローラ等からデータファイルを選び、Viewer Window上にドラッグ&ドロップする
描画する方法は他にも用意されていてこの様にして描画すると軸のスケールは少し余白をとるように自動的に設定され、グラフが描画されます。があります。
- [出力]-[描画]([Output]-[Draw])メニューを選択する。
- Viewer Window をアクティブにしてスペースキーを押す。
軸ダイアログボックスを開く方法は他にも用意されていてこの様にすると下図の軸ダイアログボックスが開かれます。 ここで、「最小値」「最大値」「増分」に軸のスケ−ルの最小,最大,増分を指定してください。 目盛数字は増分に対して付けられます。 「分割数」は「増分」をさらに何等分して目盛線を引くかを決めます。 この値が0の時は自動的に分割数が決められます。 「スケール法」では通常の線形軸(linear)、ログ(log)、逆数(inverse)の中から1つを選ぶ事ができます。 「ファイル」ボタンを押すとスケールを開いたデータファイル中から指定したファイルでオ−トスケ−ルを行って決める事ができます。があります。
- [軸]-[設定] ([Axis]-[Update]) メニューでプ変更したい軸を選ぶ
- 下図ボタンのいずれか一方(どちらでも良いです)を押してグラフィックスオブジェクト選択モード(あるいは軸のみの選択モード)にしてViewer Window 上で軸をダブルクリックし、次いで出てくるダイアログボックスで変更したい軸のボタンを押す
![]()
さらに軸に関する細かい設定ができるように「軸基線」「目盛線」「目盛数字」「フォント」「位置」のボタンが用意されています。 「軸基線」ボタンを押して軸の基線の太さ、色などの設定を行います。 軸の端に矢印をつけたりすることもできます。 「目盛線」ボタンを押して軸の"ゲ−ジ"の長さ、太さ、色などの設定を行います。 また、目盛線をグラフの内側に描くか外側に描くかを決めたり(「位置」)、軸を全部描かずに一部だけにしたり(「範囲最小値」、「範囲最大値」)できます。 「目盛数字」ボタンを押して、その"ゲ−ジ" に振る目盛数字に関する設定を行います。 目盛数字を振り始めるスケ−ルの位置を変えたり(「開始点」、0で自動設定)、間隔を変えたり(「間隔」、0で自動設定)、個数を変えたり(「個数」、-1で自動設定)できます。 「フォント」ボタンを押して目盛数字のフォントの設定を行います。![]()
データダイアログボックスを開く方法はその他にこの様にすると下左図に示すデータダイアログボックスが現れます。があります。
- [データ]-[設定] ([Data]-[Update]) メニューでプロットしたいデータファイルを選ぶ
- 下図ボタンを押してデータ選択モードにして Viewer Window 上でデータをクリックする
![]()
- Data Window上でマウス右ボタンを押してポップアップメニューを出し、"Update" メニューを選ぶ
例えばプロット方法を変更してデータを曲線で結ぶようにするには上右図にの様にプロットタイプを "curve" にします。 その後、データダイアログボックスを OK で閉じ、もう一度描画してください。
このようにして2度開いたファイルのプロットの設定を、片方のプロットを mark に、もう片方を curve にする事で、データは曲線と点の両方でプロットされるようになります。


直線・矢印を作成します。 曲線を作成します。 閉多角形を作成します。 矩形を作成します。 円・楕円を作成します。 データプロット形式 "mark"に対応するマークを作成します。 テキストを作成します。 ガウス関数, ローレンツ関数, 放物線, 正弦曲線を作成します。
作成した曲線はただちにレジェンド-曲線に展開されるので, 一度作成すると関数としての変更はできません。
ここで、"legend+axis" のポインターモードでは、レジェンドと軸を選択する事ができます。 "legend" のポインターモードではレジェンドのみが選択対象になります。 軸とレジェンドが込み合っていて軸を選択したく無いような場合に使ってください。 "axis" のポインターモードでは逆に軸のみが選択対象になります。 "data" のポインターモードではプロットしたデータが選択対象になり、プロットした点に対応するデータファイルの設定を行う事ができます。![]()
選択したいグラフィックスオブジェクトに合ったコントロールボタンを押してモードを決め、マウスで目的のグラフィックスをクリックすると、フォーカスされている事を示す点線枠が表示されます(下図)。
マウスのドラッグで移動、拡大・縮小ができます。 移動の際に CTL キーを押しながらドラッグすると、水平垂直方向にしか動きませんので、位置合わせをするのに便利です。 また、移動の際はグリッドが効いています。このグリッドを解除するには SHIFT キーを押しながらドラッグしてください。 ダブルクリックでダイアログボックスが開き各種設定の変更が行えます。![]()
"Legend Window" には legend の一覧が表示されています。 "File Window" や "Axis Window" と同様に一覧をダブルクリックするとダイアログボックスが開き、各種設定を行う事ができます。 また、一覧の中から適当な legend を選びスペースを押す(あるいはポップアップメニューを出して"Focus"メニューを選ぶ)と、Viewer Window で対応するグラフィックスオブジェクトがフォーカスされます。 作成したlegendが重なりあってしまい、目的の legend だけをマウスで選択するのが困難な時にこの機能を使うと便利です。![]()
外部ドライバの登録が終わったら[出力]-[外部ドライバ]で適当なドライバを選び、「ファイル」に出力ファイルを指定して OK を押せばファイルに出力する事ができます。
その後、「フィット」ボタンを押すと下図のフィットダイアログボックスが開きますので、そこでフィッティングの方法を指定します。
フィットダイアログボックスの「種類」には "poly", "pow", "exp", "log" から選択します。 "user" を選ぶとユーザ指定の関数でフィットできますが、それは次節で説明します。 また "poly" (多項式フィット)の場合には「多項式次元」も指定してください。 その後、描画するとフィッティングが行われます。 フィット結果は線としてグラフに表示されますが、フィッティング結果を数値で知りたい時には下図のボタンを押して Information Window を開いてください。 あるいはフィットダイアログボックスの「結果表示」ボタンでもフィット結果が数値で表示されます。![]()
Y=a*(X+b)^2のフィットの場合を説明します。 フィッティングパラメターは a と b です。 フィッティングパラメターは「フィット式」の中では %00 から %09 で指定します。 つまりフィッテングパラメターは最大 10 個までに制限されています。 上の例では「フィット式」に
%00*(X+%01)^2と入力してください. 任意関数のフィットでは一気にパラメタ−の値を決めるのではなく、パラメタ−の値を変えながら誤差が最小になる点を探して行きます。 探し方はパラメタ−の初期値を決め、その時のパラメタ−空間での誤差の勾配から新たなパラメタ−の値を決めると言う動作をパラメタ−の値が変わらなくなるまで(収束するまで)繰り返します。 「%00:〜%09:」「収束(%)」「微分式指定」「dF/d(%00):〜dF/d(%09):」でこの繰り返し動作を制御します。 パラメタ−空間での誤差の勾配を求めるにはフィット関数を各パラメタ−で偏微分した式が必要です。 「微分式指定」をチェックし、これら微分式を「dF/d(%00):〜dF/d(%09):」に入力してください。 上の例の場合 %00*(X+%01)^2 を %00, %01 で偏微分した式を入力します。 具体的には
dF/d(%00): (X+%01)^2としてください。 「微分式指定」をチェックしなければ、微分式の近似値を数値的に求めますが、明示的に微分式を指定した方が収束は速くなります。 また、フィットパラメタ−の初期値を「%00:〜%09:」で指定してください。 パラメタ−の値が変わらなくなった時を収束したと判断していますが、全く変化しなくなる事はありません。 変化しなくなったと見なす基準を「収束(%):」で指定します。 デフォルトでは 1% ですのでフィット結果の有効桁数は2桁です。
dF/d(%01): %00*2*(X+%01)
これらのオプションを指定したら、ダイアログボックスを閉じて描画すればフィットが行われます。 前節で説明した Information Window を開いてあれば、収束までの繰り返し処理の途中経過が表示されます。 また、時として
singular matrix あるいは too small number of dataのエラーが出ることが有ります。 このような場合にはフィットパラメタ−の初期値を変えて再度挑戦してみてください。 フィット関数によっては初期値をかなり慎重に選ばないと収束してくれません。
例えば、縦軸デ−タを二乗したものをグラフにしたい時には「(Y)カラム数式変換」に![]()
Y^2 (あるいは同じ事ですが SQR(Y))と入力してください。もしデータダイアログボックスの「(Y)カラム」が 2 となっている場合には
%02^2 (あるいは同じ事ですが SQR(%02))でも同じ結果を得ることができます。%02 の意味は "デ−タファイルの2カラム目のデ−タ"です。 このように %01〜%99 で特定のカラムを取り出す事ができます。 一方、 Xはデータダイアログボックスの「(X)カラム」に指定したカラムのデータであり、Yはデータダイアログボックスの「(Y)カラム」に指定したカラムのデータです。 ですから、「(Y)カラム」を 3 にすると、今度は "Y" と "%03" が同じ値を示すようになります。
縦軸デ−タをカラム 1 とカラム2 の和をプロットしたい時には変換数式に
%01+%02と入力してください。このようにカラム間の演算ができます。 また、0番目(Data Window のリストの先頭の数字)のデータのカラム 1 と、1 番目のデータのカラム2 の和をプロットしたい時には変換数式に
%F0001+%F0102と入力してください。このようにファイル間の演算もできます。
数式変換では四則演算、括弧のほか多くの関数が使用できます。 その中で使い方が分かりにくいものについて以下で説明しておきます。
M(0,...式...)= ... RM(0) .... =のようにすれば同じ式は1度書くだけですみます。また式最後の = は省略できます。
M(0,RM(0)+Y)=とすることで Y の積算グラフを描画することができます。
DIF(Y)=Y(n) - Y(n-1)です。これを用い簡単に微分近似値を求めるには
DIF(Y)/DIF(X)とします。
DIF(Y)/DIF(X)は {Y(n)-Y(n-1)} / {X(n)-X(n-1)} になります。この時、Xの変換数式を
X-DIF(X)*0.5としてXを"現在のデ−タと一つ前のデ−タの中間値"としておいた方がより真に近いグラフが得られると思われます。
X変換式: X-DIF(X)*0.5 (これは { X(n-1)+X(n) }*0.5 になります)
Y変換式: DIF(Y)/DIF(X) (これは { Y(n)-Y(n-1) } / { X(n)-X(n-1) } になります)
DIF() は現在のデ−タと一つ前のデ−タとの差分を返しますから、Y-DIF(Y) とすることで一つ前のデ−タを取り出すことができます。 同様に Y-DIF(Y)-DIF(Y-DIF(Y)) で2つ前のデ−タを取り出すことができます。 Y-DIF(Y)-DIF(Y-DIF(Y))-DIF(Y-DIF(Y)-DIF(Y-DIF(Y)))は3つ前のデ−タです.
一番初めの DIF() の戻り値は"不定"です.このため,式全体の値も"不定"となり、結果としてデ−タの個数は1つ減ります(一番初めのデ−タに差分は存在しない)。 また DIF() をいくつも含む式では、全ての DIF() が初期化されるまで式全体の値は"不定"です。 例えば DIF() をネストして DIF(DIF()) のように使った場合、一番初めのデ−タでは内側の DIF() が初期化されその戻り値は不定の為、外側の DIF() の初期化は行われません。 外側の DIF() が初期化されるのは 2番目のデ−タの時です。 従ってデ−タの個数は2つ減ることになります。
SUM(Y)=Σ Y(n) (n=1..n)これを用い簡単に積分近似値を求めるには
SUM(Y*DIF(X))とします。
SUM(Y*DIF(X)) は Σ Y(n)*{ X(n)-X(n-1) } (n=1..n) になります。また、台形公式を用いて積分近似値を評価したい場合
SUM(0.5*(2*Y-DIF(Y))*DIF(X))とします。
SUM(0.5*(2*Y-DIF(Y))*DIF(X)) は Σ(Y(n-1)+Y(n))/2*{X(n)-X(n-1)} (n=1..n) になります。さらに積分の上限(b)、下限(a)を指定したい場合は階段関数 THETA() を用い
SUM(0.5*(2*Y-DIF(Y))*DIF(X)*THETA(X-a)*THETA(b-X))とします。IF() を使って
IF(AND(GE(x,a),LE(x,b)),INTEG(0.5*(2*Y-DIF(Y))*DIF(X)),0)としても可能です。
IF( LT(x,0), 0, SQRT(x) )は x<0 のとき 0、x>=0 のとき��x を返す関数になります。また必ず ex1, ex2 どちらか一方しか評価されません。 例えば
IF( EQ(%00,1), M(0,値), ...式... )のような使い方をしたとき M(0,値) は EQ(%00,1) が真のとき(すなわちデ−タの最初)だけ実行されるので、メモリ関数の初期化に使えます。
MARKSIZE(%03)とします。ただこれですと、プロットされるデータも %03 となりますので、前述の = を使って
MARKSIZE(%03)=Yとするのが正しい使い方です。 COLOR()関数も同様で
COLOR(3,%03)=Yのように使います。
一枚の紙に複数のグラフを作成したい場合には、 [軸]-[追加作成]メニューの中から作成したいグラフの種類を指定します。 あるいは下図のコントロールボタン
を押して、グラフ(軸)の作成モードにして Viewer Window 上でマウスを使って位置を指定し作成する事もできます。![]()
既に一つのグラフが作成してあり、それと同じ様なグラフを新たに追加するのには、その既に作成してあるグラフを複製してしまうのが、より簡単で現実的です。 それには、下図ボタンを押してマウスをポインター(選択)モードにします。このモードでは軸とレジェンドが選択対象になります(legendも一緒に複製する事を考えています)。
次いで、Viewer Window 上で複製ーしたいグラフ全体を囲むようにマウスで範囲を指定します。 すると、マウスの範囲に入っているグラフとレジェンドが全て選択され、点線枠で囲まれます。 この状態で INS キーを押す(あるいはポップアップメニューを出して"Duplicate"メニューを選択する)と、選択されているグラフとレジェンドが複製されます。 この時、フォーカス(選択)されているのは新たに複製されたグラフとレジェンドだけで、複製元は選択されていません。 この状態でマウスでドラッグして位置をずらしてください。 通常、複数のグラフを作成する場合には縦、あるいは横に位置を揃えたい場合が多いですが、マウスで位置をずらす時に CTRL キーを押しながらドラッグすれば水平・垂直方向にしか移動しませんので、簡単に揃える事ができます。![]()
例えば、最初に作成したフレームグラフの軸の名前は fX1, fY1, fU1, fR1 となり、二番目作成したフレームグラフの軸の名前は fX2, fY2, fU2, fR2 です。
グラフの種類 軸 グラフの番号 f: フレームグラフ
s: 方眼グラフ
c: 交差グラフX
Y
U
Rグラフの種類毎に 1 から振られます
Axis Window の "name" の部分には、この名前が一覧表示されます。 またこれとは別に他のグラフィックオブジェクトと同様に0からの通し番号が付いています。 Axis Window の "#" の部分に表示されている数字がこの番号です。
軸には前で説明した様に、0からの通し番号が付けられています。 さらに、(他のグラフィックオブジェクトと同様に)実行時に一意に決まる番号も付いています(^で始まる数字として指定します)。 Axis Window の最後の "^#" の部分に表示されている数字がこの番号です。 上記「参照軸」や「位置ボタン」-「交差軸」のコンボボックスリストから軸の名前を選んだ場合に実際に入力されるのは、この「実行時に一意に決まる番号」になります。 「通し番号」で指定してあると、軸が削除されたような場合に番号が変わってしまい、結果として参照関係が壊れてしまい不便なので、このように「実行時に一意に決まる番号」で指定するようになっているのです。
複数のグラフで X 軸を共通にしたい場合、
の様に Reference パラメタを設定すると fX2 軸のスケールを変えるだけで fU2, fX1, FfU1 の軸のスケールを揃える事ができます。