限りなくmoonshine...

GarageBandなどDTMネタとバンドネタと甘いもの中心に。たぶん。

グラフを作成しよう。

2008-07-23 21:05:11 | Mac

随分と前のエントリになるが、以前、Apache のアクセスログを云々というのを書いた。
その後半では、グラフ化は CSV 出力ののちに NeoOffice で作成することにしていた。
ところが。あまりの NeoOffice の重たさに断念。

まず、NeoOffice の CALC でグラフ描画。
2列×1,000行の表から普通の折れ線グラフを選択して、600×400 くらいのサイズで描画
させてみた。
ウイザードで適当に設定したのち、実際にグラフが全て表示されるまで約 25分。
さらに、グラフの大きさが気に入らなかったので、ドラッグしてグラフ領域を広げたら、
再描画完了までに約 40分。
たった1つのシンプルなグラフを表示したかっただけなのに、軽く1時間経過。
途中、Finder ですらまともに動作しなくなったために、Mac がフリーズしたのかと思って
アクティビティモニタを立ち上げて確認したくらい。
グラフ描画中ということもあって、相当待たされた挙句やっとアクティビティモニタ起動。
結果、CPU のアイドルが 10%くらいある以外は、ほぼ全て NeoOffice が CPU パワーを
使い切り、ずっと負荷 100%を表示中。そりゃ起動にも時間がかかるわけだ。
にもかかわらず、何を思ったかついつい「 Command+Z 」なんてキーを押してしまった
ものだから Undo となり、その処理に約 40分。都合、100分のロス。

うちのマシンのスペックは PowerMac G4 867MHz、メモリ 1.2GB。
ちなみに、会社で使っているマシンは Pentium4 2.0GHz、メモリ 512MB。
こっちの excel 2003 で同等の作業を行うと、当然だがウイザード完了ボタン押下時には
瞬時にグラフが表示される。グラフ領域を広げても、瞬時に再描画されている。
そりゃアプリの根本的な違いがあるのは理解しているが、この差は酷すぎる。

で、仕方ないので次の手をいろいろと考えてみた。

 1.php で PostgreSQL から直接データを取得して、GD でブラウザに描画
 2.他のグラフ作成ソフトを使用
 3.新しい Mac 購入して NeoOffice 実行
 4.新しい Mac+Windows OS+Office 購入

3と4は非現実的なので却下するとして、1はデータ取得自体は SQL 書けば簡単に済む
ので便利だが、その反面、データプロットが意外に面倒なので躊躇。
2は、過去に System 7.5(漢字 Talk 7)だったか Mac OS 8 だったかの頃だったと思う
けど KaleidaGraph とか IGOR とか使ってた気がするが、Mac OS 9 を使っていた頃には
必要に駆られて Excel for Mac を泣く泣く購入、以降グラフ作成ソフトから遠ざかって
いた気がする。
で、探してみたら、KaleidaGraph ってまだ現役だった。Windows 版まで出てる。
他には無いかと探していたら、独立行政法人 理化学研究所(理研)がフリーソフトを
発表していた。
Samurai Graph 」というソフトで、 Java で作成されている。
ネーミングセンスが…と思ったけど、理研だし、まあ仕方ないか。
vector の説明を見る限り、必要十分な機能を備えているようだったので、とりあえずは
ダウンロードしてみた。
Java ということで、またうちの Mac の遅さが際立つかと一抹の不安を抱えつつ、起動。

↓こんなスプラッシュスクリーン。


で、CALC であり得ない実行時間をたたき出した、例の2×1,000行のテキストファイルを、
Samurai Graph におもむろにドロップ。どうやら、通常の CSV やスペース区切りなどで
データが表っぽく並んでいれば、自動的に認識してくれるらしい。
とりあえずは自動で描画されるのを待つ。
待つこと 15秒。
あっさりと描画された。↓こんなカンジで。


グラフ領域を広げてみたが、こちらはほぼ瞬時に再描画される。
CALC のグラフ機能って、一体どんな処理をしているのだろう。あの描画時間は謎だ。
ワークシートと連動しちゃってる部分が原因なんだろうな。
ワークシートの表データを変えれば、即座にグラフに反映されるから、そういった使い方を
したいなら CALC だろうけど、加工することも無いデータをあらかじめ準備しておいてから
グラフを描くなら、こういった軽いソフトの方が適役。

というわけで、しばらくはこれを使って、データの解析を行うことに。

最新の画像もっと見る