Lua 学習:gnuplot モジュール自作

2016-11-27 :  PCクリニック
Python、C言語、Perl、化学業界、硝子業界、グルコサミン、Firefox
前(2016-11-25)の記事「Lua から gnuplot 利用の方式」で、

  ・・・・・
  ・・・・・
  Lua 即ち、GSL Shell から、gnuplotを使うには、
  適当な名前で“plt”ファイルを作り出し、
  即時表示なら、当該ファイルを start で実行する。
  あるいは、ファイルの作成までで、別途実行してグラフを眺める。
  ・・・・・
  ・・・・・

それと、

  ・・・・・
  ・・・・・
  “popen”を使う方式。
  一々「plt」ファイルを作ってからそれを実行する
  のでは無くて、
  即時に gnuplot を動かす。
  ・・・・・
  ・・・・・

で行こうと決めた


過去記事からは、

3年前(2013-06-17)の記事「Perl でグラフ描画(その2)」の如く、
Perl では、“Chart::Gnuplot”

2年前(2014-08-20)の記事「Python 学習:Gnuplot.py モジュール」の如く
Python では、“Gnuplot.py”

の様なモジュールがあった。

でも、GSL Shell に関しては、
<紙>の気に入ったモジュールは見つけられなかった。


それで、“gnuplot.lua”(仮称)モジュールを自作することにした。


設計

利用するとき、
local gp = require'gnuplot'
で、読み込み、

先ずは、
  gp.Open( 'hoge.plt' )   これは、'hoge.plt'ファイルを作る
  又は、
  gp.Open()         これは、即時表示用
とする。
最後に、
  gp.Close()
とする。

それから、
実装する関数 (取り敢えず)

  gp.Title( 'タイトル文字列' [ , <フォントサイズ> ] )

  gp.Xlog()     X軸を対数スケールに
  gp.Ylog()

  gp.Xlabel( 'X軸ラベル' [ , <フォントサイズ> ] )
  gp.Ylabel( 'Y軸ラベル' [ , <フォントサイズ> ] )

  gp.Xrange( 'X軸範囲' )   例えば '[1:10]' の様な文字列
  gp.Yrange( 'Y軸範囲' )

  gp.KeyOff()    凡例 非表示

メインの

  gp.Plot( '<plot のパラメータそのまま>' )

ここで、特殊ファイル '-' を使った場合は、
続けて、

  gp.Data( n, x, y )

これは、

  x, y ベクトルデータ:多分 matrix.vec
  と、その要素数 n

なる関数を使う。


それで、上記モジュールを使った場合の
ソース・コードのイメージは:
local gp = require'gnuplot'

x=matrix.vec{ 1, 3, 6, 8 }
y=matrix.vec{ 5, 4, 8, 1 }

gp.Open( 'test.plt' )
gp.Title( 'Test Graph' )
gp.Xlabel( '-X-' )
gp.Ylabel( '-Y-',16 )
gp.KeyOff()
gp.Plot( '"-" w lp lw 2 ps 1 pt 7' )
gp.Data( 4, x, y )
gp.Close()
といった感じ。


この結果、以下のような 'test.plt'ファイルが出来る。
set  term  wxt  size  800,600
set term wxt font "sans,12"
set size 1.0, 0.98

set title "Test Graph"
set title font "serif,36"

set xlabel "-X-"
set xlabel font "sans,20"

set ylabel "-Y-"
set ylabel font "sans,16"

set key off

plot "-" w lp lw 2 ps 1 pt 7
1 5
3 4
6 8
8 1
e
これでイイかな?


本日はここまで。


GSL Shell & gnuplot 学習は続く。


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


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

コメントの投稿

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

おきてがみ/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
ブックマーク