注目の書籍

好評発売中!

知識ゼロから始めるLinuxサーバーの作り方

Linux初心者でも
本格 サーバーが“即席”で 完成!自宅サーバー
クラウド化も!

必聴講座ご紹介

Cloud Days Tokyo 2012
クラウド時代を勝ち抜く企業戦略を考える

エムオーテックス


Cloud Days Tokyo 2012
クラウド時代の企業インフラとユーザー環境の姿

ヴイエムウェア


Cloud Days Osaka 2012
クラウドでIT維新を〜ビジネスを加速させるベストプラクティス

アマゾン データ サービス ジャパン

オープンソース/Linux

特選フリーソフト

日経Linux

テキストをグラフに変換 Graphviz

2008/01/24
畑 陽一郎=日経Linux
出典:日経Linux 2007年5月号  103ページより
(記事は執筆時の情報に基づいており、現在では異なる場合があります)

ジャンル:グラフ作成ソフト 作者:John Ellson氏,Emden Gansner氏ら
ライセンス:Common Public License URL:http://www.graphviz.org/

Graphvizは,テキスト形式で記述したグラフ表現をさまざまな形式の画像に変換するソフトである。サイズの大きなツリー構造やノード数の多いネットワーク構造のデータを自動的に可視化するときに有用である。

 Graphvizは,組織図やソフトウエア・コンポーネントの関係などを示したグラフ図形の作成に向いたソフトウエアだ(写真1)。

写真1●Graphvizの出力例
写真1●Graphvizの出力例
[画像のクリックで拡大表示]

 米Microsoft社のPowerPointやVisio,OpenOffice.orgに含まれるImpressなどを使って対話的にグラフを作成する機会は少なくないだろう。部品から長円や四角を選んで矢印でつなぎ,部品の内側に文字を入れていけばグラフが描ける。Graphvizのアプローチは,これらのソフトとは全く異なる。部品同士の関係をテキスト・ファイルに書き下ろし,コマンドを使って画像ファイルを生成する。写真1のように,多くの部品間の関係を可視化したいときに向くソフトだ。

Graphvizをインストールする

 Graphvizは,Linux版のほか,Mac OS X版,Windows版などが用意されている*1。主要なLinuxディストリビューション向けには,パッケージが用意されている。例えば,Fedora Core 6では,次のようにして簡単にインストールできる。


$ su
# yum install graphviz

グラフを描く

 Graphvizに読み込ませるテキスト・ファイルは,DOT言語で記述する。言語とはいってもプログラミング言語のような複雑なものではなく,設定ファイルと似ている。

 グラフの出力は,GIF,PNG,PS,SVGなど20種類以上の形式を指定可能だ。例えば,図1のテキスト・ファイル(zu01.dot)を記述して保存した後,次のコマンドを実行すると画像ファイル写真2が生成される。

図1●DOT言語のソース・コード例
図1●DOT言語のソース・コード例
写真2のグラフを描くためのコード。ファイル名はzu01.dot。

写真2●図1の出力結果
写真2●図1の出力結果


$ dot -Tpng zu01.dot -o zu01.png

 図1の{}内には部品(ノード)の関係を記す。互いにつながっているノードとノードを「->で結べばよい*2。ノード間の関係が書かれた何らかのテキスト・ファイルが手元にあれば,「A ->B;」という形式にsedコマンドやエディタなどで変換することで,DOT言語用に変換できる。

 図1冒頭の「digraph」とは有向グラフ,つまり向きのある矢印でノード間が結ばれていることを示す*3

 コマンドラインでは,「-T」オプションによって出力する画像形式を選択し,次に,DOTファイルを指定している。最後に「-o」オプションとともに出力する画像ファイル名を記している。

>>グラフの属性を決める
次ページ以降はITpro会員(無料)の方のみお読みいただけます。
会員の方は、 ログインしてご覧ください。
まだ会員でない方は、ぜひ登録(無料)していただき、ITproの豊富なコンテンツをご覧ください。

この記事に対するfacebookコメント

nikkeibpITpro

読みましたか? 〜 未読記事をご紹介