4月 1, 2011

グラフとの格闘

先日、グラフを大量に作成しなければならない、という仕事が舞い込んできました。

なんでも、Illustrator上で折れ線グラフやら棒グラフやらを山ほど作らなくてはならないのだとか。

メインの担当者と話をしたところ、プログラムからExcelのデータをIllustratorのテンプレートに流し込むところまでお願いしたいとのこと。さっそく、自動処理をどの程度できるのか調査に入りました。

調べたところ、Illustratorのグラフ機能はAppleScriptによる自動処理に対応しておらず、一筋縄ではいかない雰囲気です。

そこで、メニューや画面を無理やりコントロールするやり方(GUI Scripting)で、強引にデータを入れることに成功。あくまで「無理やり」なので、処理の途中に適度に「待ち時間」を入れて安全第一で自動処理。

さらに、

グラフ上のマーカー図形を変更してみたり

一定のしきい値を下回る場合にはグラフから線を引き出して外周部に数字を配置してみたり

グラフの値の増減傾向を考慮しつつ値のデータを折れ線グラフと重ならないように配置してみたり

してみたところ、当初は必要とされていた手作業を大幅に削減!!!

それでも、メイン担当者はそれなりに大変な作業をこなしていたので、プログラムを用意しなかったらトンでもないことになっていたことが想像されました。

お客様から求められたアウトプットが、Illustrator CS3の書類ということだったので、Illustratorを制御するのはまちがったやりかたではなかったのですが……世の中にはもう少し楽ができるような解決策があってもよさそうなものです。

こうした用途には、DeltaGraphを外部からコントロールするとうまく行きそうですが……調べてみると、文字組みのクオリティがいまひとつで、コントロールできる範囲が大味なため、「かゆいところに手が届く」ような処理は、やはりIllustrator上でこまかい座標計算を行ってやるしかなさそうです。

Leave a comment