next up previous contents
: 準備 : 2次元データのプロット : 誤差の表記が混在したデータファイルからグラフを作りたいとき 目次

データ点のあいだを結ぶ線のなめらかさを変える

データファイルをプロットするときには, gnuplotは標準ではデータ点のあいだを直線で結びます.

この部分を変更して, データ点のあいだを曲線で結ぶようにするには, キーワード smooth に続いてオプションを指定します. 指定できるオプションは unique, csplines, acsplines, bezier, sbezierの5種類です. このそれぞれの意味について表9.4にまとめておきます.

表 9.4: キーワードsmooth のオプション
オプション 意味
unique まずデータファイルを横軸の座標に関してソーティングする. x座標が同一でy座標が異なる複数のデータ点 $ (x_i,y_{i1})$,..., $ (x_i,y_{i m})$ がある場合は, これらのy座標を平均した データ点 $ \displaystyle \left (x_i,\frac{y_{i1}+\cdots +y_{im}}{m} \right )$ をグラフにプロットし, もともとのデータ点は捨てる. 最後に, プロットされたデータ点のあいだを折れ線で結ぶ.
csplines まず uniqueと同一の処理を実行してからデータを近似する3次の自然スプライン による補間をおこなう.
acsplines まず uniqueと同一の処理を実行してから重み付きの自然スプライン補間を おこなう. 重みはデータファイルの第3列で指定される.
bezier データを近似する, データ点の数と同じ次数のベジエ曲線を引く.
sbezier まず uniqueと同一の処理を実行してからデータを近似するベジエ曲線を引く.

複数のデータ点が同一のx座標を持つことがない場合には, 上記のうち unique と csplines を使った場合にはデータ点をすべて通る曲線が引かれますが, acsplines, bezier, sbezier を使った場合には曲線は場合によってはデータ点を避けます.

これらの例を以下で見てゆくことにします. だたし, acsplinesは必要とするデータファイルの形式が他と異なるので, これの紹介を最後に回します.





Shigeru HANBA 平成17年7月16日