1. pointer 入門
そもそも pointer を作りはじめたのは、
作者がとある研究室の学部生だったころです。
専攻は天体物理で、その研究室ではちょっとしたグラフを見るのには
Lick mongo を使っていました。
Lick mongo は描画の機能に関しては申し分なかったのですが、
グラフを見ながらグラフの範囲を変えたり、
実線から点線に変えたりといったことをするのが面倒で、
(いや、面倒というほど面倒ではないのですが、
作者は「コマンド一発で変えたい!」と思ったのです)
もっといいグラフ描画ソフトはないかと考えていたのです。
X-window のプログラミングについてはいくつも解説書が出ていたので、
それをもとに自分用に小さなソフトをつくってみました。
それが pointer の最初のものです。
はじめは本当に小さいものをつくるつもりだったのですが、
あれこれと機能を付け加えていくうちに
今のようなものになってしまいました。
ただ、後から付け加えたものがあまりに多すぎて、
自分でもいやになるくらい雑然としてきてしまったので
一からあらためて書き直しました。
それが今のバージョン 2.0 です。
pointer もやはり mongo、gnuplot などのように 一行ずつコマンドを入力し、 インタラクティブにグラフを描くソフトです。 しかしバージョン 2.00 になってコマンド行の編集や ヒストリー機能、それに(不完全ではありますが)補完機能が 組み込まれるようになって、 使い勝手はむしろ tcsh 風ともいえます。 また、多くのグラフ描画ソフトがそうであるように pointer でもコマンドのプログラム化が可能ですが、 プログラムの書き方に関しては perl 風 (ということはある意味 C 言語風)でもあります。 対話的にも使え、ウィンドウを表示できるという点では 案外 tcl/tk に一番近いかも知れません。
まずはじめに pointer を起動します。すると
というプロンプトがあらわれて、コマンドの入力を待つはずです。
(起動できないという場合はこのマニュアルの範疇外です。
きちんとインストールされているか調べるなり、
そのコンピューターの管理者に相談してみてください)。
さて、pointer を起動したら
ふつう最初にするのはウィンドウの用意です。
あるいは省略して
とコマンドを入力してください。
黒い無地のウィンドウが一つ、
表示されるはずです。
これからこのウィンドウにいろいろとグラフを描いていきます。
つぎにデータを読み込むわけですが、
そのためにはデータを書き込んだファイルを用意する必要があります。
pointer では元になるデータの形式はわりと自由がきくのですが、
ここでは一番シンプルな形でデータを用意しておきましょう。
適当なファイルに、グラフの横軸の値と
縦軸の値を並べて書いておきます。
次のような感じです。
上の数値をファイルにコピーしてもいいですし、 似たような形式で、 自分でデータのファイルをつくってもかまいません。 何か適当な手段でデータファイルをつくってください。 とりあえずここではデータファイルの名前を sample.dat としておきましょう。0.100000 0.793893 0.200000 0.975529 0.300000 0.975528 0.400000 0.793890 0.500000 0.499996 0.600000 0.206104 0.700000 0.024470 0.800000 0.024474 0.900000 0.206113
データを読み込んだら
と入力してみましょう。
ウィンドウにグラフが実線で描かれるはずです。
さらに
とすればグラフの縦軸、横軸も表示されます。
ところで、それぞれの軸の目盛りを見てもらえば分かりますが、
何もしなければグラフは x、y ともに 0.0~1.0 の範囲で描かれます。
先ほど例にあげたデータはちょうどこの範囲におさまりますが、
データによってはここからはみ出てしまったり、
まったく描画されなかったりするかも知れません。
その場合にはグラフを表示する範囲を変えなければなりません。
とりあえず、
としてみてください。
先ほど読み込んだデータがちょうどおさまるように
範囲が変更されるはずです。
(ちなみに limit コマンドを使えば xlimit と ylimit を
同時にやってくれます)。
xlimit、ylimit コマンドは範囲を直接指定することもできます。
下の例のように最小値と最大値を指定してみてください。
また、当然ながら実線以外にも点線や破線のグラフが
必要な場合があるでしょう。
draw コマンドは引数に線の種類が選べます。
たとえば
とすれば、グラフは点線で描かれます。
種類に指定できるのは
sol, solid(実線)、dot(点線)、brk, broken(破線)のいずれかです。
cir, circle(丸)、sqr, square(四角)、pts, points(点)、 fcir, fcircle(塗りつぶした丸)、fsqr, fsquare(塗りつぶした四角)です。
さて、ひととおり思ったグラフが描けたでしょうか?
ここまでにあげたコマンドだけでも、
簡単なグラフなら十分描けるはずです。
もしグラフを一度消して描き直したいと思ったら、
と入力してください。
あるいは、一からもう一度やりなおしたい、
今日はこのくらいにしてとりあえず pointer を終わらせたい、
という場合には
と打ち込めば、
pointer を終わらせることができます。