こないだインストールしたOctaveだが、
グラフを出力してくれないことが判明。
Octave.appのパッケージに含まれていたgnuplot.dmgをマウントして
その中のGnuplot.appをアプリケーションフォルダにコピーする
必要があったらしい。
Octave in Mac OS 10.5 Leopard on MacBook Air / 2008年8月27日
が、そうしてみたけどやはりグラフは描画されない。
調べているうちに、関係ないことで勉強になったこと。
以前Octaveをインストールしようと思ったときに、
MacPortをインストールしたのだけど、
その時に環境変数の登録がうまくいかなかった。
export PATH=/opt/local/bin:/opt/local/sbin/:$PATH
export MANPATH=/opt/local/man:$MANPATH
とターミナルで打つと、
そのウィンドウでは"パスが通る"ようになるのだが、
ターミナルを落としてまた起動させるともうパスは通らなくなってる。
恒常的にパスを通しておくには「.bash_profile」というファイルに
その情報を書き込めばいいと言うことがわかった。
参考:ターミナルのことを調べてみた。 - ザリガニが見ていた...。
この参考にしたサイト通りに、picoというターミナルで動く
テキストエディタで.bash_profileというファイルを作り、
次のように書いてみた。
PATH=$PATH:/usr/local/bin
BASH_ENV=~/.bashrc
export BASH_ENV PATH
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
export MANPATH=/opt/local/share/man:$MANPATH
export GNUTERM=aqua
alias gnuplot="/Applications/Gnuplot.app/Contents/
Resources/bin/gnuplot"
alias octave="/Applications/Octave.app/Contents/
Resources/bin/octave"
こうすることで、ターミナルから「octave」と打つことで、
octaveが起動し、「gnuplot」と打つことでgnuplotが起動するようになった。
また、PATHを上記のように設定することで、
やっとMacPortがきちんと動くようになった。
試しにMacPortのアップデートを確認していたら、きちんと動いた。
girizin:~ shinichi$ sudo port selfupdate
Password:
MacPorts base version 1.600 installed
Downloaded MacPorts base version 1.600
The MacPorts installation is not outdated and so was not updated
selfupdate done!
さて、それでパスが通るようになったのはいいのだけど、
グラフが描画できない。
gnuplotを起動して
plot sin(x)
とか打つんだけど無反応。
アクアターム(Aquaterm)が起動しないのか起動しているけど
反応していないのか・・・。(たぶん起動していない)
試しに
set terminal x11
としてから
plot sin(x)
と打ってみると、今度はターミナルがフリーズっぽくなる。
command+ .(period) で復帰するけど、図は描画されず。
僕の環境は以下。
Mac OS X 10.5.4 Leopard
Octave: Version 3.0.2
Gnuplot: Version 4.2 patchlevel 3
* * *
と思ったら、グラフの描画ができましたので報告。
AquaTermがインストールされていなかったらしい。
Spotlightで「aquaterm」と入力して検索すると
確かにそういうフォルダが引っかかるのだが、
それじゃだめらしい。
以下のページからAquatermをダウンロードする。
http://sourceforge.net/projects/aquaterm/
参考:MacWiki - AquaTerm
ダウンロードしたら、DMGファイルをマウントして、
インストールをダブルクリック。
で、AquaTermのインストール完了。
ターミナルを起動して、gnuplotで何か描画。
(e.g. plot sin(x) )
gnuplotがX11ではなくAquaTermでグラフを描くように設定されていれば
これでグラフができるはず。
そうでなければ
「set terminal aqua」と打てばAquaterm出力になる。
めでたしめでたし。
最近のコメント