gnuplot 学習:インラインデータ

2016-11-28 :  PCクリニック
Python、C言語、Perl、グルコサミン、Firefox
gnuplotマニュアルの日本語訳(5.0.5版だが)を見ていたら、・・・・・

  インラインデータ(inline data)
  gnuplot のコマンド入力の中にデータを埋め込む仕組みは2種類
  用意されています。まず、特殊ファイル名 '-' がplot コマンド中に与えると、
  そのplot コマンド以下に続く行がインラインデータと解釈されます。
  以下参照:special-filenames (p.90)。
  この方法で提供されるデータは、そのplot コマンドで一度しか使用できません。

  もう一つは、ヒアドキュメントとして名前付きのデータブロックを
  定義する方法です。その名前付きのデータは残るので、複数のplot コマンドで
  参照できます。例:
    $Mydata << EOD
    11 22 33 first line of data
    44 55 66 second line of data
    # データファイル同様コメントも機能する
    77 88 99
    EOD
    stats $Mydata using 1:3
    plot $Mydata using 1:3 with points, $Mydata using 1:2 with impulses
  データブロック名は、他の変数と区別するために、
  最初の文字を$ にする必要があります。
  データの終わりの区切り(上の例ではEOD) は、
  任意のアルファベット、数字からなる文字列で構いません。
  コマンドundefine を使えば、保存した名前付きデータブロックを削除できます。
  undefine $* は、すべての名前付きデータブロックを一度に削除します。

なる記述があった。

参照先:special-filenames (p.90)の記述
  特別なファイル名(special-filenames)
では、'-' は知っていたが、他の3つは知らなかった。


それよりも、もう一つの“データブロック”は大変気になった。

これ、Ver.5 で追加された機能ですね。

これは非常に便利?

gnuplot コマンドとデータを一緒にするなら、
今まで些か不便を感じながら使っていた、
「特別なファイル名 '-'」はもう使わない?


前(2016-11-27)の記事「Lua 学習:gnuplot モジュール自作」で書いた、

  ・・・・・
  ・・・・・
  メインの
    gp.Plot( '<plot のパラメータそのまま>' )
  ここで、特殊ファイル '-' を使った場合は、
  続けて、
    gp.Data( n, x, y )
  ・・・・・
  ・・・・・

は止め(?)にして

plot コマンドより前に(先に)

  (仮の名前だが) gp.DataBlk( '$<ブロック名>', n, x, y )

の様にして、データブロックを定義しておける。


使用例では、
gp.Plot( '"-"  w lp  lw 2  ps 1  pt 7' )
gp.Data( 4, x, y )
の部分が、
記述順序を逆にして、
gp.DataBlk( '$D', 4, x, y )
gp.Plot( '$D w lp lw 2 ps 1 pt 7' )
の様に書けるコトになる。


加えて、データブロックでは再利用可能だそうナ。


本日はここまで。


gnuplot 学習は続く。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


161029
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
02 | 2017/03 | 03
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク