HOME > 電算 > Inkscape > Inkscape で帯グラフ&円グラフ
Inkscape で帯グラフ&円グラフ
プレゼンの資料なんぞに使う円グラフや帯グラフを作るのには、表計算ソフトなどで作る人が多いやうだ。しかし、私は作画ツールで原始的に作成したいという強い衝動に駆られることがしばしばある。Adobe Illustrator には洒落たグラフ作成機能がついていて、結構便利であった。Inkscape は如何にと見るに、どうも何もない。
さすがにすべて手動で作成するのも嫌なので、Inkscape の拡張機能(エクステンション)として使える円・帯グラフ作成スクリプトを書いてみた。勇者のみが使える原始的な仕様だ(半分ほんと)。
※Inkscape の拡張は python で書くのが便利なのだが、私は python 使ったことなかった(あらら)。http://wiki.inkscape.org/wiki/index.php/PythonEffectTutorial を参考に見よう見まねでテキトーに書いた。スマヌ。まともなものを誰か作ってくれという意味で載せとくよ。ちなみに、パイソンというのは爬虫類のアレではなくて、あのコメディ・グループの名前からとったんだってね。
例によってバグあるある。エラー処理ないない。
ダウンロード
インストール
pchart.inx と pchart.py を「/usr/share/inkscape/extensions」(ウチの Vine Linux の場合)とか「Inkscapeのあるフォルダ\share\extensions」(ウチの「う」のつくOSの場合)とかにぶち込んで Inkscape を再起動すると、effects メニューの Render てふところに Chart なる選択肢が出る(ことを期待している)。Inkscape 0.44 でカクニンしただけだ。
使い方
矩形ツールで四角形を作成し、帯グラフの位置とサイズを決める。データとして使う数値の並びを、スペース区切りで一行のテキストとして作成。小数も可。
四角形とテキストの両方を選択した状態で、Effect -> Render -> Chart を実行すると、データテキスト中の各数値の比を表現する帯グラフが作成される。
もし、データ文字列のどこかに % 文字があると、すべての数値がパーセントと解され、合計が 100パーセント になるように自動的に右端に残余項目が作成される。なお、数値と % 以外の文字は無視される。
四角形のかわりに円を使うと、円グラフが作成される。
Tips
以下、は帯グラフ・円グラフに共通する。
最初につくった四角形は、ちょうど帯グラフの下に重なって残っている。これをそのままにしておけば、データのさしかえ時のグラフ再作成が楽かも。
私は、データのテキストを捨てないで、四角形と帯グラフの間にひそかに取っておくことにしている。
帯グラフのフィルやストロークのスタイルは、そのほとんどを、もとの四角形から引き継ぐ。
グラフは、独立したオブジェクトをグループ化したもの。色は自分で塗ってね。
制限
いったんパス化した四角形や円は、帯グラフ/円グラフの材料として使えない。
いったん plain SVG で保存された円は、円グラフの材料として使えない。inkscape SVG で保存したものは使える。四角形(帯グラフ)の場合は、どちらで保存してもOK。
transform 属性を使って変形された四角形や円は、帯グラフ/円グラフの材料として使うことができる。ただし、円を変形させた場合、設定や変形のさせ方によっては transform 属性を使わない変形が行われ、この場合円グラフの材料に不適当。
データ文字列に % を含ませておきながら、各数値の和が 100 より大きいような場合、エラーはでないが、さりとてまともなグラフも描かれない。