書式:
set dgrid3d {<row_size>} {,{<col_size>} {,<norm>}} unset dgrid3d show dgrid3d
デフォルトでは dgrid3d は無効になっています。有効になると、ファイル から読み込まれる 3 次元のデータは「散在した」データ (非格子状データ) であると見なされます。格子は、グラフと等高線の描画のために、散在した データを囲む矩形から得られる寸法と、row_size/col_size で指定される数の 行と列を持つように生成されます。格子は x 方向 (行) と y 方向 (列) に 等間隔です。z の値は散在するデータの z の値の重み付きの平均として計算 されます。
3 番目のパラメータであるノルム (norm) は、重み付けを制御するもので、
各点は格子点からの距離の norm 乗の逆数で重み付けされます。(実際には、
dx, dy を各データ点と格子点との差の成分であるとすると、重みは dx^
norm
+ dy^
norm で与えられます。2 のべきのノルム、特に 4, 8, 16 に関しては、
その重みの計算はユークリッド距離を使うことで (dx^
2+dy^
2)^
norm/2 のよう
に最適化されてますが、任意の負でない整数を使うことも可能です。)
格子点に近いデータ点程それはその格子点により大きい影響を与え、ノルムの 値が大きい程格子点から離れた点の影響は小さくなります。
dgrid3d オプションは散在するデータから格子状データに変換する簡単な ローパスフィルタです。この問題に対するより洗練された手法が存在します ので、この単純な方法が不十分であれば、gnuplot の外でそのような方法 でデータを前処理するべきでしょう。
(z の値は全てのデータ点の重み付けとして求められ、隣接するデータ点を補 間しているのではありません。よって、端の影響が予期しない、望ましくない 結果を引き起こす可能性があります。ある場合では、小さいノルムの値により 局所的な平均ではなくデータ点の距離の平均を反映したような格子点が生成さ れ、一方、大きなノルムの値により、隣接するデータ点を滑らかに変化させる のでなく最も近くのデータ点と同じ値を持つ格子点による階段 ("steps") を 作ってしまいます。格子の領域内部は任意の境界条件に関する補外法により埋 めることができますが、変数は正規化されず、よって x と y の単位が x, y 各方向に関して、点の相対的な重みに影響をおよぼすことになります。)
例:
set dgrid3d 10,10,1 # デフォルト set dgrid3d ,,4
最初のものは、構成する格子を 10x10 にし、重みの計算のノルムは 1 にします。 2 番目の例はノルムのみ 4 に変更します。 以下も参照
http://www.gnuplot.info/demo/scatter.htmlscatter.dem: dgrid3d のデモ
竹野茂治@新潟工科大学