Emacs org-modeを使ってみる: (38) org-babel-perlを使う4/4
今回は,org-babel-perlの使い方を説明する(四回目).
なおUbuntu 8.04 LTSとEmacs22上で, org-6.34c (2010年1月10日リリース)の利用を前提にしている.
リンク
gnuplotを呼び出すプログラム
表を入力とし,gnuplotを呼び出しるプログラムを作成する.まず,以下のように「#+TBLNAME: table1」と記述して,入力となる表に名前を付ける.
#+TBLNAME: table1 |----+----------+--------+------| | | パソコン | ソフト | 通信 | |----+----------+--------+------| | Q1 | 30 | 5 | 2 | | Q2 | 0 | 15 | 2 | | Q3 | 50 | 20 | 2 | | Q4 | 0 | 3 | 2 | |----+----------+--------+------|
「#+BEGIN_SRC」のオプションとして, 「:var table=table1」で入力となる表を指定し,「:var row=3」でデータの最初の行番号を指定している.
プログラム中「font "ipa/ipag.ttf" 14」はフォントを指定しており,環境によって変更する必要がある.
#+BEGIN_SRC perl :results output raw :exports results :var table=table1 :var row=3 my $title = "表1"; my $image = "output.png"; my $data = "plot$$.data"; open(OUT, ">", $data) || die; foreach my $i ($row .. @$table - 1) { my @r = @{$table->[$i]}; if (@r > 0) { print OUT join(" ", @r), "\n"; } } close(OUT); open(GP, "| gnuplot") || die; $_ = <<EOM set terminal png font "ipa/ipag.ttf" 14 set output '$image' set style histogram rowstacked set style fill solid border -1 plot '$data' \\ using 2:xticlabel(1) with histogram title 'パソコン', \\ '' using 3 with histogram title 'ソフト', \\ '' using 4 with histogram title '通信' quit EOM ; print GP $_; close(GP); unlink $data; print "[[file:$image][$title]]\n"; #+END_SRC
上のプログラムを実行すると,以下が挿入される.
#+results: [[file:output.png][表1]]
output.pngは以下の通り.
「Emacs org-modeを使ってみる」の目次
- (1) インストール
- (2) 見出しと項目の編集
- (3) 表の編集
- (4) 表計算
- (5) TODOリスト
- (6) アジェンダ表示
- (7) ハイパーリンク
- (8) メモを取る
- (9) キーバインド1/3
- (10) キーバインド2/3
- (11) キーバインド3/3
- (12) GTDツールとして
- (13) HTMLにエクスポート
- (14) LaTeXにエクスポート
- (15) Beamerにエクスポート
- (16) エクスポート結果
- (17) orgの表を埋め込む
- (18) 計時
- (19) graphvizとditaaの図を埋め込む
- (20) gnuplotを呼び出す
- (21) LaTeX数式のインライン画像表示
- (22) RSSフィードを取り込む
- (23) エクスポート時に利用できるLaTeX記号
- (24) 繰り返し行動の記録
- (25) iCalendarにエクスポート
- (26) タグとプロパティ
- (27) ドローワとアーカイブ
- (28) バッファ内設定一覧
- (29) エクスポートオプション一覧
- (30) CSSクラス名一覧
- (31) Emacs Lispの実行
- (32) HTML表のスタイル設定
- (33) 脚注と参考文献の利用
- (34) 短縮形リンクの利用
- (35) org-babel-perlを使う1/4
- (36) org-babel-perlを使う2/4
- (37) org-babel-perlを使う3/4
- (38) org-babel-perlを使う4/4
- (39) speedbarを使う
- (40) org-babel-Rを使う1/2
- (41) org-babel-Rを使う2/2
- (42) 日本語化ditaaの利用
- (43) mhcをインポート
- (44) 再びHTMLにエクスポート
- (45) Firefoxからブックマーク