## 第4章 データファイル形式と描画できるグラフについて

この章では，Samurai Graphが扱えるデータファイルの形式と，作成できるグラフの種類について説明します．

Samurai Graphでは，テキスト形式ファイルまたはnetCDF形式ファイルを読み込むことができます．それらのファイルから，次の形式のグラフを作成することができます．

- スカラー型 XY グラフ (Scalar XY)

- 複数 XY グラフ (Multiple XY)

- サンプリング値を伴う XY グラフ (Sampling XY)

- 日付データによる XY グラフ (Date XY)

- ベクトル型 XY グラフ (Vector XY)

- スカラー型 XYZ 疑似カラーマップ (Scalar XYZ)

上に示した形式のうち，最初の4つは，一般的なX-Yグラフ(線グラフ，シンボルグラフ，棒グラフ)，ベクトル型 XY グラフは2次元ベクトル図，最後は，疑似カラーマップとしてグラフ化されます．

## 1. データファイルの形式

### 1.1. テキスト形式ファイル

1. ファイルの書式

   テキスト形式ファイルとして入力できるのは，CSV などのカンマ，タブ，空白で区切られたデータファイルです．データの先頭の行が全て文字列として扱える場合，新規に作成されるグラフにこれらの文字列を軸のタイトルとして設定します．

   例えば，次のようなデータファイルを準備した場合，「X-value」「Y-value」「Label」は，それぞれ1カラム目～3カラム目のデータのタイトルと見なされます．また，3カラム目は文字列データとみなされ，データ点のラベルとして利用することができます．

   >      X-value   Y-value   Label
   >         0.00    0.0000    "A"
   >         0.01    0.0628    "B"
   >         0.02    0.1253    "C"
   >          :        :        :
   >         1.00    0.0000    "Z"

   データファイル中で文字列を扱う場合，文字列の記述は以下のルールに従います．

   - 文字列に , を含めたい場合 " で文字列全体を囲む

   - 文字列に " を含めたい場合 " で文字列全体を囲み，文字列中の " は "" と書く

   - フィールド区切り文字の前後に 空白スペース を含める場合は，" で文字列全体を囲む

   - フィールド区切り文字がカンマ以外のデータで，文字列中に 空白スペース を含める場合 " で文字列全体を囲む

2. データカラムの指定方法

   テキスト形式データの場合，データカラムをどの軸に割り当てるかを指定する必要があります．このデータカラムの割り当ては，「Select The Data Columns」ダイアログで行います．下の例では，データファイルは2カラムのデータであり，データファイルの1カラム目をX軸に，データファイルの2カラム目をY軸に割り当てていることを示しています．

   詳しくは，第5章で説明します．

### 1.2. netCDF形式ファイル

Samurai Graphは，netCDF形式ファイルをデータファイルとして入力することができます．

netCDF形式ファイルには，通常のデータ列のほか，データ列の次元情報や変数情報が格納されています．また，netCDF形式ファイル利用時には

- ある変数配列のどの値でのグラフを描画するかを指定できます．

- ある変数配列に沿って数点の座標でのグラフをピックアップして描画することができます．

- time変数を時間軸とみなし，アニメーション描画を行えます．

- ファイルに埋め込まれた各種プロパティを参照できます．

- ネットワーク上のnetCDFファイルも利用できます．

という利点があります．

netCDF利用時の特有の操作については，第15章を参照してください．

1. データカラムの指定方法

   netCDF形式データの場合では，データカラムをどの変数に割り当てるかの指定は「Setup netCDF Data」ダイアログで行います．netCDFデータの場合，通常はカラムデータの属性情報が含まれているので，カラムをどの次元に割り当てるかを理解しやすいでしょう．下の例では，「Time」をX軸に，「Height」をY軸に割り当て，「X Coordinate=1.0, Y Coordinate=0.5」条件でのグラフを描画することになります．

   詳しくは，項2. 「データカラム選択ダイアログ上の設定について」で説明します．

## 2. 描画できるグラフ形式

### 2.1. スカラー型 XY グラフ (Scalar XY)

X と Y の値がペアで構成されているデータの場合，これをスカラー型 XY データ (Scalar XY)と呼んでいます．このデータ形式は，具体的には折れ線グラフやシンボルグラフ，棒グラフとしてデータを表示することができます． X値，Y値に続いて誤差値と文字列が並ぶ場合には，エラーバーと軸ラベル文字列を表示できます．

スカラー型 XY データは，基本的には次の 4種類のデータを扱うことになります．

1. X と Y の値から構成される 2 列のデータ

   並び順は，X値， Y値となります．

   > X値 | Y値
   > 0.00 | 0.0000
   > 0.01 | 0.0628
   > 0.02 | 0.1253
   > : | :
   > 1.00 | -0.0000

2. X と Y の値と上下の誤差値から構成される 4 列のデータ

   並び順は，X値，Y値，誤差下限，誤差上限となります．

   > X値 | Y値 | 誤差下限 | 誤差上限
   > 0.00 | 1.0000 | -0.1789 | 0.2545
   > 0.04 | 0.9686 | -0.2201 | 0.1192
   > 0.08 | 0.8763 | -0.0844 | 0.0444
   > : | : | : | :
   > 1.00 | 1.0000 | -0.0502 | 0.0783

3. X と Y の値とラベル文字列から構成される 3 列のデータ

   並び順は，値 X，値 Y，ラベル文字列となります．

   > X値 | Y値 | ラベル文字列
   > 0.0 | 0.000 | "A^0_i"
   > 0.05 | 0.2347 | "B^1_i"
   > 0.10 | 0.4635 | "C^2_i"
   > : | : | :
   > 1.00 | 0.000 | "U^{20}_i"

4. X と Y の値と上下の誤差値とラベル文字列の 5 列のデータ

   並び順は，値 X，値 Y，誤差下限，誤差上限，ラベル文字列となります．

   > X値 | Y値 | 誤差下限 | 誤差上限 | ラベル文字列
   > 0.00 | 0.9933 | -0.0184 | 0.0471 | "A^0_i"
   > 0.05 | 0.9890 | -0.0568 | 0.0590 | "B^1_i"
   > 0.10 | 0.9820 | -0.0364 | 0.0797 | "C^2_i"
   > : | : | : | : | :
   > 1.00 | 0.0067 | -0.0919 | 0.1522 | "U^{20}_i"

### 2.2. 複数 XY グラフ (Multiple XY)

この形式は， 1列の X値 と 複数列の Y値 のデータが並んでいる場合に有効です．1つのデータファイルで複数の折れ線グラフやシンボルグラフ，棒グラフなどを一度に描画できます．Y値のデータは少なくとも 2列以上の数値の並びから構成されていなければなりません．

並び順は，X 値，Y1 値，Y2 値，Y3 値，... となります．

> X値 | Y1値 | Y2値 | Y3値 | ...
> 0.00 | 0.0000 | 0.0000 | 0.0000 | ...
> 0.04 | 0.1492 | 0.1990 | 0.2487 | ...
> 0.08 | 0.2891 | 0.3854 | 0.4818 | ...
> : | : | : | : | :
> 1.00 | -0.0000 | -0.0000 | -0.0000 | ...

### 2.3. サンプリング値を伴う XY グラフ (Sampling XY)

この形式は，X 値のデータ列が必要ないだけで，複数 XY データ と似ています．一つのデータファイルで複数の折れ線グラフや点グラフ，棒グラフなどを一度に描画できます．

入力されるデータ列は，全て Y 軸の値とみなされます．

> Y1値 | Y2値 | Y3値 | ...
> 0.0000 | -0.3090 | -0.5878 | ...
> 0.2487 | -0.0628 | -0.3681 | ...
> 0.4818 | 0.1874 | -0.1253 | ...
> : | : | : | :
> -0.0000 | -0.0390 | -0.5878 | ...

X 軸の値は，入力ウィザードのダイアログで指定したサンプリング値として入力することで自動的に生成されます．

### 2.4. 日付データによる XY グラフ (Date XY)

この形式では，X 値として数値の代わりに日付文字列を渡します．

読み込まれた日付文字列の間隔を元に X 値が自動生成されます．生成された X 値と，日付文字列に続いて与えられる Y 値とを元にして，折れ線グラフやシンボルグラフ，棒グラフを描画できます．

データから読み込まれた日付文字列は，対応する X 値のラベル文字列として表示できます．また，データ中に文字列を与えて，日付文字列の代わりにそれらを表示することもできます．

Y 値に続いて誤差値が並ぶ場合にはエラーバーも表示できます．

日付文字列としては，以下のフォーマットが可能です．

- スラッシュ区切り ( 2005/06/01, 05/06/01 など )

- ピリオド区切り ( 2005.06.01, 05.06.01 など )

- ハイフン区切り ( 2005-06-01, 05-06-01 など )

- 空白区切り ( "2005 06 01", "05 06 01" など )

- 区切り文字無し ( 20050601, 050601 など )

データの書式として，以下のものが可能です．

1. 日付文字列 と Y 値から構成される 2 列のデータ

   並び順は，日付文字列， Y 値となります．

   > 日付文字列 | Y値
   > "2005.1.7" | 0.68
   > "2005.1.21" | 0.32
   > "2005.2.4" | 0.12
   > : | :
   > "2005.6.17" | 0.11

2. 日付文字列 と Y の値と上下の誤差値から構成される 4 列のデータ

   並び順は，日付文字列，Y値，誤差下限，誤差上限となります．

   > 日付文字列 | Y値 | 誤差下限 | 誤差上限
   > "2005.1.1" | 0.50 | -0.13 | 0.12
   > "2005.2.1" | 0.40 | -0.15 | 0.03
   > "2005.3.1" | 0.2 | -0.04 | 0.3
   > : | : | : | :
   > "2005.12.1" | 0.960 | -0.17 | 0.06

3. 日付文字列 と Y の値とラベル文字列から構成される 3 列のデータ

   並び順は，日付文字列，値 Y，ラベル文字列となります．

   > 日付文字列 | Y値 | ラベル文字列
   > "2005.1.4" | 1.38 | "Jan"
   > "2005.1.11" | 1.17 | ""
   > "2005.1.21" | 0.92 | ""
   > "2005.2.1" | 0.65 | "Feb"
   > : | : | :
   > "2005.6.21" | 1.03 | ""

4. 日付文字列 と Y の値と上下の誤差値とラベル文字列の 5 列のデータ

   並び順は，日付文字列，値 Y，誤差下限，誤差上限，ラベル文字列となります．

   > 日付文字列 | Y値 | 誤差下限 | 誤差上限 | ラベル文字列
   > "2005.1.4" | 0.98 | -0.15 | 0.13 | "1/4"
   > "2005.1.11" | 0.77 | -0.085 | 0.08 | "1/11"
   > "2005.1.21" | 0.72 | -0.098 | 0.12 | "1/21"
   > : | : | : | : | :
   > "2005.6.21" | 0.62 | -0.087 | 0.131 | "6/21"

### 2.5. ベクトル型 XY グラフ (Vector XY)

この形式は，ベクトルの組から構成されているデータです．これを利用すると 2 次元のベクトル図を描画できます．

入力されるデータは，4 列のデータセットで構成されている必要があります．すなわち，X，Yの軸の始点の座標値，およびベクトルの設定(X成分，Y成分またはベクトルの大きさ，角度)です．ベクトルの設定については，グラフ描画時にウィザードダイアログでいずれのタイプかを指定します．

Orthogonal を選択すると，ベクトルの X 成分および Y 成分のデータカラムを次に選択することになります．

Polar を選択すると，ベクトルの大きさと角度のデータカラムを次に選択することになります．このとき，角度に利用される単位系はラジアンです．また，大きさには必ず 0 以上の値を与える必要があります．

1. Orthogonal を選択した場合

   > X 座標 | Y 座標 | X 成分 | Y 成分
   > -3.9 | -3.9 | -70.71 | 70.71
   > -3.9 | -2.9 | -59.67 | 80.25
   > -3.9 | -1.9 | -43.80 | 89.90
   > -3.9 | -0.9 | -22.49 | 97.44
   > : | : | : | :
   > 4.1 | 4.1 | 70.71 | -70.71

2. Polar を選択した場合

   > X 座標 | Y 座標 | 大きさ | 角度
   > 5.0 | 5.0 | 1000.0 | 0.785
   > 5.0 | 15.0 | 1000.0 | 0.322
   > 5.0 | 25.0 | 1000.0 | 0.197
   > 5.0 | 35.0 | 1000.0 | 0.142
   > : | : | : | :
   > 65.0 | 65.0 | 1000.0 | 0.785

ベクトル図では，ベクトルの大きさは風速や磁場の強さなど，位置とは異なる物理量で与えられることがしばしばあります．

したがって，ベクトル図で表示される矢印の大きさは，データとして与えられたベクトルの大きさを適当にスケールしたものに設定されています．

ここで，レジェンドの下に書かれている数字は，レジェンドの矢印の長さがベクトルの大きさの幾らに対応するかを表しています．

1 cm あたりのベクトルの大きさを，データのプロパティダイアログによって設定可能です．ベクトル図のプロパティダイアログに関しては，項3.2. 「ベクトル型データ」 を参照してください．

### 2.6. スカラー型 XYZ 疑似カラーマップ (Scalar XYZ)

この形式は，X・Y座標に対して値を持ったデータであり，これを利用すると疑似カラーマップを描画することができます．

入力されるデータは，3列のデータセットで構成されている必要があります．すなわち，X，Y座標，および値です．

> X 座標 | Y 座標 | Z 値
> 0.0 | 10.0 | 1.0
> 1.0 | 10.0 | 2.0
> 2.0 | 10.0 | 3.0
> 3.0 | 10.0 | 4.0
> : | : | :
> 4.0 | 40.0 | 11.0

Last updated: 2010/11/22