大きいプロジェクトだとクラスとかメソッドがいっぱいあって、それぞれ呼び出し合ったりして、もー意味わかんない。構造を視覚的に追えると良いんだけど、クラス図とかコールグラフを手作業で作ってると埒があかない。 ということで、自動でドキュメント + クラス図やコールグラフを作ってくれるツール Doxygen と Graphviz がとっても便利だったのでメモっておく。 とりあえず説明する上での環境は Mac OS X 10.7 + Homebrew ということで。Doxygen と Graphviz 自体は、UNIX 系の OS ならどれでも動かせるんだと思う。 まずは Homebrew からインストールする。 # brew install doxygen graphviz インストールできたら、解析したいソースコードのあるディレクトリで Doxygen を使う。今回解析するコードは Java だ
卒論生成たけなわの皆さんお疲れ様です。終わった皆さんお疲れ様です。 卒論ページを埋めるためにクラス図を生成する必要がありましたので、メモです。 暇になったら加筆します。 クラス図とかソースコードの依存関係の図を自動生成したい ソースコードが先にあってUMLを作るためのツールは探すと有料がほとんど。 でもDoxygenとGraphvizを組み合わせると無料でできるらしい。 というわけで用意するものはDoxygenとGraphvizとソースコードです。C++、C、Java、Objective-C、Python、IDL、 PHP、C#、Dに対応しているそうです。 まずGraphvizとDoxygenを下記からインストールします。 Graphviz | Graphviz - Graph Visualization Software Doxygen すべてデフォルトでOK Doxygenの設定 楽天
(追記:2014-3-3) Gvizについてのまとめ頁を作りました。 Gvizの目次 - Rubyの世界からGraphvizの世界にこんにちは! 今日Rubyのクラスツリーを手書きでグラフ化している記事を見かけた。 A diagram of the Ruby Core object model - Jerome’s Adventures in Rubyland これを見てそういえばGraphvizのRubyによるラッパーを書いたのに未だRubyのクラスツリーをグラフ化していないことに気付いた。 melborne/Gviz gviz | RubyGems.org | your community gem host そしてRubyをグラフ化するならやっぱりRuby自身に書いてもらうのが一番だと思った。彼女も20才になったことだし。 早々gem install gvizでgvizを入れて次のよう
brew install doxygen graphviz doxygen -g; edit Doxyfile; doxygen; open html/index.html OSSなライブラリ、たとえばMGBox2の使い方を調べているときに、クラス図が欲しくなりました。 ソースを追っかけてノートに手書きするのも悪くないのですが、せっかくなのでソースから生成させてみました。 調べたところ doxygenとgraphvizの組み合わせがよさそうなので、この組み合わせをインストールしてクラス図を含むドキュメントを生成させます。 doxygenとgraphvizのインストール homebrewを使っていれば、brew install doxygen graphvizでインストール出来ます。 mba% brew install doxygen graphviz ==> Downloading htt
(追記:2013-05-15) Colorableを大幅アップデートしました(version 0.2.0)。その結果、この記事で書かれたバージョンとの互換性がなくなっています。現在の機能に関しては以下の記事を参考にしてください。 “Rubyで色を扱うライブラリ「Colorable」をアップデートしましたのでお知らせいたします” Rubyで「色」というものを扱う機会はそう多くはないでしょう。Rubyはどちらかと言うと、クライアントサイドつまり接客系ではなく、サーバーサイドつまり裏方系言語ですからね。それでも接客系言語に向けて色情報を渡したり、そのラッパーになったりする機会はあるとおもいます。そんなときはRubyでも色を扱う必要がでてきます。 実際、拙作GraphvizのRubyラッパー「Gviz」で色付きグラフを作るときには、色指定で色々と苦労します。 RubyGems.orgで検索すると、
(追記:2014-3-3) Gvizについてのまとめ頁を作りました。 Gvizの目次 - Rubyの世界からGraphvizの世界にこんにちは! RubyのGraphvizラッパー「Gviz」を前回紹介しました。 Yet Another Ruby Graphviz Interfaceを作ったからみんなで大量のグラフを作って遊ぼうよ! そこでは隣接県情報に基づき日本地図を作りました。出来は兎も角、僕はこのやり方がすっかり気に入りました。そこで今回はもう一歩進んでこの地図でデータビジュアライゼーションをしてみようと思います。題材はアメリカ合衆国です! 以下では、データの取得から順を追ってグラフ作成のやり方を説明しています。ちょっと長い投稿になります。 隣接州情報の生成 地図の形のベースとなる隣接州情報を用意します。List of U.S. state abbreviations - Wikip
Versions: 0.3.5 - April 03, 2015 (162 KB) 0.3.4 - February 26, 2014 (162 KB) 0.3.3 - February 01, 2014 (162 KB) 0.3.2 - February 01, 2014 (162 KB) 0.3.1 - January 09, 2014 (161 KB) Show all versions (20 total)
(追記:2014-3-3) Gvizについてのまとめ頁を作りました。 Gvizの目次 - Rubyの世界からGraphvizの世界にこんにちは! 前回の投稿で東京の地下鉄路線図を描きました。 東京の地下鉄をGviz(Ruby Graphviz Wrapper)で描く こうなると路線サインもほしいです。作りましょう、Gvizで。 データの準備 前回使ったcolorsをそのまま使います。これに各路線のマークを統合します。 # encoding: UTF-8 require "gviz" colors = [["銀座線", "#f39700"], ["丸ノ内線", "#e60012"], ["日比谷線", "#9caeb7"], ["東西線", "#00a7db"], ["千代田線", "#009944"], ["有楽町線", "#d7c447"], ["半蔵門線", "#9b7cb6"], [
(追記:2014-3-3) Gvizについてのまとめ頁を作りました。 Gvizの目次 - Rubyの世界からGraphvizの世界にこんにちは! 全国の駅情報を提供する『駅データ.jp』という素晴らしいサイトがあります。無料でダウンロードできるCSV形式の駅データには各駅の管理鉄道会社や路線の情報だけでなく、駅の経度・緯度情報までもが含まれています。マコトニスバラシイ。イママデシラナカッタノガハズカシイ。 そんなわけで… 今回はGvizを使って、東京の地下鉄、すなわち東京メトロ+都営(東京都交通局)の路線図に挑戦してみます。 駅データの取得 まずは駅データを取得します。先のサイトのダウンロード頁からマスターデータ(m_station.csv)をDLします。サイトの仕様書頁にあるように、各駅情報は次の14フィールドで構成されています。 データ仕様 1. 鉄道概要コード 2. 路線コード 3.
(追記:2014-3-3) Gvizについてのまとめ頁を作りました。 Gvizの目次 - Rubyの世界からGraphvizの世界にこんにちは! このブログとかでたまに無向だとか有向だとかのチャートの方じゃないグラフが書きたいと思うことがあるよ。でまさかこのご時世で今更VISIOとかあり得ないからGraphvizのdotファイルを書くことになるんだけどDOT言語は制御構造を持ってないから結局より高級な言語によるインタフェースが必要になるよ。でRubyの出番ってことになるんだけどGithubで”graphviz ruby“で検索すると1200件以上ものリポジトリがヒットするんだよ。でこの中から適当なものを選んで使えばいいってことなんだろうけどさすがにこれだけあるとどれを選んでいいか全然わからないから結局The Ruby Toolbox当たりで”graphviz“にヒットする20件くらいの中か
木構造のデバッグって大変ですよね。深さをスペースで表現してコンソールに出力してもいまいちピンとこない。 できれば画像で出力できると良いのだけれど、画像処理ライブラリで硬派に処理するのは面倒だなぁ・・・前々からそんなことを考えていました。 最近、Graphvizというツールを見つけました。グラフ構造を表現するのに適したツールで、python向けにライブラリpydotが公開されていました。これがあれば簡単にグラフを出力できそうです。 そこでpydotのドキュメントを読んで、サンプルとして少し前のエントリで作った、Pythonで木構造を扱うORMで、sqlite3に保存された木構造を読み込んでサブツリーを画像出力させてみました。 pydotがあれば、簡単な木構造の画像出力は困らなさそうです。
August 2011 (1) July 2011 (1) June 2011 (2) April 2011 (2) March 2011 (2) February 2011 (2) January 2011 (6) December 2010 (6) November 2010 (5) October 2010 (8) September 2010 (2) August 2010 (3) July 2010 (9) June 2010 (4) March 2010 (1) February 2010 (7) January 2010 (2) はじめに Graphvizによる有向グラフの自動生成の続編です。 前回は、こんなXMLデータを元に、 <?xml version="1.0" encoding="UTF-8"?> <addressbook> アドレス帳 <person> <name>
digraph testgraph{ {node[shape=none, fontsize=23] "Welcome to Liviz.js!" } {node[shape=none] "Interactive GraphViz on your browser" } {edge[color=transparent] "Welcome to Liviz.js!" -> "Interactive GraphViz on your browser" } A -> B -> C -> D -> E; B -> D; {node[shape=box]; 1 -> 2 -> 3; } E -> 1;2 -> C; {rank=same; 1; A;} {rank=same; 3; D;} } Test
DOTとは、データ記述言語の一種で、グラフをデータ構造としてプレーンテキストで表現するための言語である。 コンピュータで処理しやすく、読みやすいように簡略化した形式でグラフを記述する。 DOTで書かれたデータのファイルには、しばしば .gv または .dot という拡張子が付けられる(Microsoft Word 2007以前で使われていた拡張子 .dot (Wordテンプレートファイル)との混乱を避けるため、拡張子 .gv が好ましい。[3])。 DOT言語処理系は数多く実装されており、いずれもDOT言語記述をファイルから読み込み、画像を生成したりグラフを操作したりすることができる。そのうちの一つ、dot はドキュメンテーションジェネレータの doxygen で使われている。dot は Graphviz パッケージの一部である。 文法[編集] グラフの種類[編集] 無向グラフ[編集] 無
► 2020 (9) ► 08/02 - 08/09 (1) ► 07/26 - 08/02 (4) ► 07/19 - 07/26 (4) ► 2019 (49) ► 06/09 - 06/16 (1) ► 06/02 - 06/09 (1) ► 05/26 - 06/02 (2) ► 05/19 - 05/26 (3) ► 03/17 - 03/24 (21) ► 03/10 - 03/17 (10) ► 02/03 - 02/10 (5) ► 01/27 - 02/03 (3) ► 01/13 - 01/20 (3) ► 2018 (72) ► 12/30 - 01/06 (3) ► 12/23 - 12/30 (6) ► 12/16 - 12/23 (5) ► 12/09 - 12/16 (3) ► 12/02 - 12/09 (7) ► 11/25 - 12/02 (8) ► 1
August 2011 (1) July 2011 (1) June 2011 (2) April 2011 (2) March 2011 (2) February 2011 (2) January 2011 (6) December 2010 (6) November 2010 (5) October 2010 (8) September 2010 (2) August 2010 (3) July 2010 (9) June 2010 (4) March 2010 (1) February 2010 (7) January 2010 (2) Graphvizとは AT&T研究所が開発したグラフ描画ツールです。 ただし、折れ線グラフや棒グラフみたいなExcelで作成するようなグラフではなく、ダイヤグラムや有向グラフなどが対象となります。 Graphvizの公式サイト Graphvizを使う
ベルマンフォードのアルゴリズムで実行される結果も逐次表示 - Seeking for my unique color. を見てGraphVizの出力からアニメーションgifを作りたくなった Rubyにはruby-graphvizというGraphVizのinterface libraryと RMagickというImageMagickのinterface libraryがあり これらを使えば目的は達成できるみたいだ ruby-graphvizのinterfaceは自分にはわかり辛かったので これをラップする形でGraphAz*1というクラスを書いて 上のアニメーションgifを出力してみた 用途が限定的で実装にも問題がありそうだけれど GraphVizのDOTデータの出力としても使えるので 無責任無保証で使ってくれる人がいればうれしい 使い方 コードを見るのが早いと思うので 簡単な例を示した ま
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く