コードネーム"Magician"こと、井戸中蛙(社会人2年目)の徒然日記→身長172m/体重50g。人生の99%がMacとJ-Popとれいにゃとさゆで出来ています。ガンマ値1.8&Mozilla系ブラウザ(特にFirefox)推奨。
仕事柄Excelで大量の測定データを処理せねばならない事が多いのだが、Excel for Windowsのグラフ描画機能がお世辞にも綺麗とは言えない状態なので、WordやPowerPointへ貼り付ける際は専らIllustratorでの加工を余儀なくされていたってのはこないだも書いた話。
しかし、毎度毎度こんなアホ臭いコトやってたら幾ら時間あっても足りないので、今日は自宅環境(←Macだけど)にて代替手段をあれこれと試してみる事に。
Illustratorのグラフエディタはタブ区切りテキストの読み込みに対応しているので、Excelから書き出したサンプルデータを読み込んで散布図にしてみる。
んで、グループ化を解除してからグラフ部分をダウンサンプリングしようとしたのだが…線繋がってねぇでやんの。つまり、コレってExcelのグラフシートを直接コピペしたのと大差無いってコトじゃん。全然意味ねェ…orz
Excelで描いてもIllustratorで描いても折れ線グラフがバラバラになるってんなら、ExcelからコピペしてIllustrator上でエレメントを結合する方法を考えた方がよっぽど賢い。しかし、Illustratorのデフォルトで‘ばらんばらんのExcel折れ線グラフを全部結合する’みたいな都合のいい機能が搭載されている筈も無く、何とかスクリプトでクリア出来ないものかとあれこれ情報収集してみる。
→あった。
と言うのは、Illustrator関連のJavaScriptを多数公開されているSATO Hiroyuki様のサイト。ここで『適当に連結』というスクリプトが公開されているのだが、これこそまさにオイラがこの2週間探し求めていたものに他ならなかった。機能的には若干オーバースペック気味なのだが、ソースコード自体はそんなに長くないのでこのまま使ってみる。
早速Excelからコピーしたデータ(y=x^3の3000点プロットデータ)をIllustratorに落とし、データ曲線部分を選択してスクリプト実行。驚く程あっさりエレメントが結合され、その後パスを単純化したら3000個のアンカーポイントをたった3個のスムーズポイントで置き換える事に成功。(※これはある意味当然の話。ベジェ自体が3次曲線なのだから。)あいにくExcelからのコピペデータは座標値の精度に難が有り、Illustratorで直接プロットした場合と比べると線がガタ付く傾向にある。しかし単純化してしまう分には正直0.01mmにも満たない程度のガタ付きなんてどうでも良くて、元データがExcel処理されている以上直接コピペした方が絶対楽。
仕事で扱っているデータはノイズが乗りまくっている為、今回のケースのようにあっさり行くかどうかは定かでないがまぁ今までの方法よりどう考えても楽だし綺麗に仕上がるし、今後はこのスクリプトでザックザクExcelグラフを処理していく予定。つーか、Excelのグラフ描画って10万サンプルもあると流石に重過ぎるので、この機会に全部Illustratorでアウトライン化しておけば何かと便利そうなカンジ。
という事で、SATO Hiroyuki様にホント感謝、感謝でゴザイマス。
これでこの2週間悩まされ続けてきた問題がスパッと解決しそうデス☆☆☆
P.S
SATO氏のサイトには今回紹介した以外にも様々なサンプルスクリプトが公開されているのだが、色々漁ってみるとうわスゲーこんな事イラレで出来んの?!みたいな、とんでもないスクリプトばっか。
今回はExcelのグラフをIllustrator形式に変換するという言わばニッチな事例を紹介させて頂いたが、コレ全部使いこなせたら結構グラフィックデザインの幅も広がりそうだよなぁ…つーか自分でスクリプト書いてみたくなってきた!!
当サイト(http://homepage.mac.com/f_magician/以下)で公開している全てのテキスト・音声・画像に関する著作権は原則として管理者である井戸中蛙に帰属します。
但し、一部画像につきましてはTV、雑誌等からの二次加工品が含まれており、これらの製作に当たり管理者は一切の承諾を受けておりません。
これらは全て非営利を目的として公開しており、著作者の権利を侵害する事を目的としたものでは御座いません。問題のあるコンテンツについては公開を停止させて頂きますので、f_magician@mac.comまで御連絡下さい。