ぎょーむ日誌 2003-02-01
2003 年 02 月 01 日 (土)
- 0930 起床.
よく寝てしまった.
朝飯.
コーヒー.
- 「修論破綻処理問題やりたくねー」
状態でサボタージュ.
だったら運動でもすりゃいんだけど,
雪がけっこう降ってるのでそういう気分にもなれず.
- いつまでもでれでれしてられんので
1410 自宅発.
雪.
|
[雪にうずもれる街]
車道を除雪するとこのように歩道に
雪の小山が作られてしまう.
現在の高さはおよそ 3m
……
手前のひさしと向うの人影からわかると思うけど.
なかなかたいへんなことになってるわけで.
|
1420 研究室着.
- あれこれ片づけてから,
またプログラミング.
昨日でひととーりデータハンドラーを作り上げた.
これは入口なので,
今日は出口である作図機構.
どうしようかと思ったんだけど,
今回は gnuplot 中心でいく.
で,
いままで自分では gnuplot を召喚する Perl モジュール
作ったことなかったんだよね.
- CPAN にも gnuplot にアクセスするモジュールあるんだけど,
これはデキがあまりよくなくて使う気がしない
……
ということで自分で作ろうと.
- 1900 すぎごろに
EZgnuplot.pm
の作成と試験運転すませる.
このモジュールは 300 行もない短いものだけど,
必要最小限の機能と当方が望む柔軟性は実現できた.
- まぁ,
使いかたもごく素朴で
……
use EZgnuplot; # EZgnuplot.pm を読みこむ
my $ez_gnuplot = new EZgnuplot;
# set を押しこんでいく
$ez_gnuplot->Push_set(['term png class', 'output "tmp.png"']); # この行と
$ez_gnuplot->Push_set(['size 0.5', 'grid']); # この行では複数の設定を一度に
$ez_gnuplot->Push_set('xrange [0:10]'); # この行では設定ひとつだけ押しこんでいる
# plot する内容を押しこんでいく
$ez_gnuplot->Push_plot('sin(x) with linespoints 1');
my @random_data = map {[$_, rand(1.5) - 0.75]} (0 .. 10); # 乱数データ
$ez_gnuplot->Push_plot_data(\@random_data, 'u 1:2 t "random" w lp 3');
$ez_gnuplot->Generate; # 作図 (この実行例では png ファイル出力される)
- あるいは軸変換なんかも比較的簡単にできるようにしてみた
(上と異なる部分だけぬき書き).
my $xtics = $ez_gnuplot->Constants('months'); # 組み込みデータ months
my @month = map {$_->[0]} @$xtics;
my @random_data = map {[$month[$_], rand(1.5) - 0.75]} (1 .. 12); # 乱数データ
my $ez_data = new EZdata(\@random_data);
$ez_gnuplot->Push_plot_EZdata($ez_data, 'u 1:2 t "random data" w lp 3');
$ez_data->Set_xtics($xtics, 0); # "Jan" -> 1, ..., "Dec" -> 12 と変換
- この
EZgnuplot.pm
,
ちょっと他のぎょーむにもいろいろ使えるかも,
という感触を得て本日は撤退.
2020 研究室発.
2040 帰宅.
晩飯.
- なんとなくでれでれしてしまう.
- う.
スペイスシャトル一号機 <Columbia>
空中分解か.
なにがあったのか.
お婆さん機体を働かせすぎたか?
原因が気になる.
- そして,
どうなることやら
……
高度 20 万フィートだから 6 万メートルか.
脱出は無理っぽいな.
<Challenger>
以来の大惨事になってしまうのか.
[今日の食卓]
- 朝 (0940):
米麦 0.6 合.
ハクサイ・シイタケ・豆腐のカレー.
- 昼 (1330):
米麦 0.6 合.
ハクサイ・シイタケ・豆腐のカレー.
- 晩 (2200):
米麦 0.7 合.
ハクサイ・シイタケ・豆腐のカレー.