図の表記規則 矢印で辺の方向を示す有向グラフ グラフは、頂点が円盤、ボックス、またはテキストラベルで表され、辺がユークリッド平面上の 線分 、ポリライン 、または曲線で表されるノードリンク図として描かれることが多い。[ 3 ] ノードリンク図は、13世紀の博学者ラモン・リュル の名で出版された14世紀から16世紀の偽リュルの著作に遡ることができる。偽リュルは、形而上学的概念の集合間のすべてのペアワイズの組み合わせを分析するために、完全グラフ に対してこの種の図を描いた。
有向グラフ の場合、矢印は 向きを 示すための一般的な図式規則です。[ 2 ] しかし、ユーザー調査では、先細りなどの他の規則の方がこの情報をより効果的に提供することが示されています。[ 6 ] 上向き平面描画で は、すべての辺が低い頂点から高い頂点に向かっているという規則を使用するため、矢印は不要です。
ノードリンク図の代替的な表記法には、隣接表現として、円パッキング (頂点は平面上の互いに分離した領域で表され、辺は領域間の隣接関係で表される)、交差表現( 頂点は互いに分離していない幾何学的オブジェクトで表され、辺はそれらの交差で表される)、可視性表現 (頂点は平面上の領域で表され、辺は互いに遮るもののない視線を持つ領域で表される)、合流図(辺は数学的な線路 内の滑らかな曲線として表される)、ファブリック(ノードは水平線、辺は垂直線として表される)[ 8 ] 、およびグラフの隣接行列 の可視化などがあります。
品質対策 グラフ描画の美観と使いやすさを客観的に評価する手段を見つけるために、さまざまな品質指標が定義されてきました。[ 9 ] 同じグラフのさまざまなレイアウト方法の選択を導くことに加えて、一部のレイアウト方法はこれらの指標を直接最適化しようとします。
重なり合う辺のない平面グラフ 描画の交差数 とは、互いに交差する辺のペアの数のことです。グラフが平面グラフ の場合、辺の交差なしに描画するのが便利な場合が多く、この場合、グラフの描画はグラフの埋め込み を表します。しかし、非平面グラフはアプリケーションで頻繁に発生するため、グラフ描画アルゴリズムは一般的に辺の交差を許容する必要があります。[ 10 ] 図面の面積とは、任意の2つの頂点間の最短距離に対する、その図面の最小境界ボックスのサイズのことです。面積 が 小さい図面は、面積が大きい図面よりも一般的に好ましいとされています。なぜなら、面積が小さいほど、図面の特徴をより大きく表示でき、結果としてより読みやすくなるからです。境界ボックスの縦横比も重要な要素となる場合があります。 対称表示とは、与えられたグラフ内の対称群を 見つけ、可能な限り多くの対称性を表示する図を見つける問題です。レイアウト方法の中には、自動的に対称的な図を生成するものもあれば、入力グラフ内の対称性を見つけて、それを利用して図を作成する描画方法もあります。[ 11 ] エッジの形状は、視覚的に追跡しやすいように、できるだけ単純であることが重要です。ポリライン図では、エッジの複雑さは曲げの数 で測ることができ、多くの手法は、総曲げ数またはエッジあたりの曲げ数を少なくすることを目指しています。同様に、スプライン曲線では、エッジの複雑さは、エッジ上の制御点の数で測ることができます。 一般的に用いられる品質指標には、エッジの長さに関するものが多くあります。一般的には、エッジの総長と各エッジの最大長を最小化することが望ましいとされています。さらに、エッジの長さは大きくばらつくよりも均一である方が望ましい場合もあります。 角度解像度 は、グラフ描画における最も鋭い角度の尺度です。グラフの頂点の次数が高い場合、必然 的に角度解像度は小さくなりますが、角度解像度は次数の関数によって下限が定められます。グラフの傾斜数 とは、直線セグメントのエッジ(交差を許容)で描画する際に必要な、異なるエッジ傾斜の最小数です。3次グラフの 傾斜数は最大で4ですが、5次のグラフの傾斜数は無制限になる場合があります。4次のグラフの傾斜数が制限されているかどうかは未解決です。
レイアウト方法 力ベースのネットワーク可視化。[ 13 ] スペクトルグラフのレイアウト可視化。 グラフのレイアウト戦略にはさまざまな種類があります。
力ベースのレイアウト システムでは、グラフ描画ソフトウェアは、バネ や分子力学 のシステムに関連する物理的なメタファーに基づく力のシステムに従って頂点を連続的に移動させることにより、初期の頂点配置を変更します。通常、これらのシステムは、隣接する頂点間の引力とすべての頂点のペア間の反発力を組み合わせ、エッジの長さが小さく、頂点が十分に離れているレイアウトを探します。これらのシステムは、エネルギー関数 の勾配降下 法に基づく最小化を実行するか、移動する頂点の速度または加速度に力を直接変換する場合があります。[ 14 ] スペクトルレイアウト 法では、グラフの隣接行列 から導出されるラプラシアン などの行列 の固有ベクトルを 座標として使用します。 [ 15 ] 直交レイアウト法は、グラフのエッジをレイアウトの座標軸に平行に水平または垂直に走らせることができる方法です。これらの方法は元々VLSI およびPCB レイアウト問題用に設計されましたが、グラフ描画にも適用されています。通常、入力グラフの交点を頂点に置き換えることで平面化し、平面化されたグラフのトポロジー埋め込みを見つけ、曲がりを最小限に抑えるようにエッジの向きを選択し、これらの向きに一貫して頂点を配置し、最後にレイアウト圧縮段階で描画の面積を縮小するという、多段階のアプローチを伴います。[ 16 ] ツリーレイアウトアルゴリズムは、ツリーに適した、根付き ツリー のような構造を示します。多くの場合、「バルーンレイアウト」と呼ばれる手法では、ツリー内の各ノードの子ノードが、ノードを囲む円上に描画され、これらの円の半径はツリーの下位レベルで小さくなるため、円同士が重なることはありません。[ 17 ] 階層型グラフ描画法(しばしば杉山式描画と呼ばれる)は 、有向非巡回グラフ 、またはソフトウェアシステムのモジュール間や関数間の依存関係グラフなど、ほぼ非巡回的なグラフに最適です。これらの方法では、グラフのノードは、コフマン・グラハムアルゴリズム などの方法を使用して水平方向に階層化され、ほとんどのエッジが1つの階層から次の階層へ下向きになるように配置されます。このステップの後、各階層内のノードは交差が最小になるように配置されます。[ 18 ] アーク図 1960年代に遡るレイアウトスタイルであるアークダイアグラム [ 19 ] は、頂点を線上に配置し、エッジは線の上または下に半円として描画したり、複数の半円を連結した滑らかな曲線として描画したりできます。円形レイアウト 法では、グラフの頂点を円上に配置し、交差を減らし、隣接する頂点を互いに近づけるように円周上の頂点の順序を慎重に選択します。エッジは、円の弦として、または円の内側または外側の弧として描画できます。場合によっては、複数の円を使用することもできます。[ 20 ] 優位性描画では、ある頂点が別の頂点から 到達可能な 場合に限り、その頂点が別の頂点の上、右、またはその両方に位置するように頂点を配置します。このようにして、レイアウトスタイルはグラフの到達可能性関係を視覚的に明らかにします。[ 21 ]
アプリケーション固有のグラフ描画 他の応用分野で生じるグラフおよびグラフ図には、
さらに、電子設計自動化 (EDA)における配置 と配線の手順は、 分散コンピューティング における貪欲埋め込み の問題と同様に、グラフ描画と多くの点で類似しており、グラフ描画に関する文献には、EDAに関する文献から借用された結果がいくつか含まれています。しかし、これらの問題にはいくつかの重要な点で違いもあります。たとえば、EDAでは、美観よりも面積の最小化と信号長が重要であり、EDAにおける配線問題では、ネットごとに2つ以上の端子が存在する可能性がありますが、グラフ描画における同様の問題では、一般的に各エッジに対して頂点のペアのみが関係します。
グラフ描画アルゴリズム グラフ描画のためのアルゴリズムは数多く存在する。その中には以下のようなものがある。
ツリー描画のためのReingold-Tilfordアルゴリズム。 カントのアルゴリズムは、弧間の最小角度の大きさが少なくとも1 d π {\displaystyle {\frac {1}{d}}\pi } ここで、d は最大ノード次数であり、また、他の平面グラフにもうまく機能する一般化は Gutwenger と Mutzel によって行われた。 平面グラフの直交表現における曲がりの数を最小化するタマシアのアルゴリズム。 杉山と三江による磁気バネモデル。
ソフトウェア グラフ描画インターフェース(Gephi 0.9.1) グラフ描画のためのソフトウェア、システム、およびシステム提供者には、以下が含まれます。
参考文献
一般的な参考文献 Di Battista, Giuseppe; Eades, Peter ; Tamassia, Roberto ; Tollis, Ioannis G. (1998), Graph Drawing: Algorithms for the Visualization of Graphs , Prentice Hall , ISBN 978-0-13-301615-4 。Herman, Ivan; Melançon, Guy; Marshall, M. Scott (2000)、「情報可視化におけるグラフ可視化とナビゲーション:概説」、IEEE Transactions on Visualization and Computer Graphics 、6 (1): 24–43 、Bibcode : 2000ITVCG...6...24H、doi : 10.1109/2945.841119 。ユンガー、マイケル。Mutzel、Petra (2004)、グラフ描画ソフトウェア 、Springer-Verlag、ISBN 978-3-540-00881-1 。
専門的なサブトピック アンダーソン、ジェームズ・アンドリュー、ヘッド、トーマス・J. (2006)、『現代的応用を伴うオートマタ理論』 、ケンブリッジ大学出版局、38-41 頁、ISBN 978-0-521-84887-9 。バッハマイヤー、クリスチャン;ブランデス、ウルリク ;シュライバー、ファルク(2014)、「生物学的ネットワーク」、タマシア、ロベルト (編)、『グラフ描画と可視化のハンドブック』 、CRC Press、 621~ 651ページ 。Bastert, Oliver; Matuszewski, Christian (2001)、「有向グラフの階層的描画」、Kaufmann, Michael; Wagner, Dorothea (編)、『グラフの描画:方法とモデル』 、Lecture Notes in Computer Science、第 2025巻、Springer-Verlag、pp. 87–120 、doi : 10.1007/3-540-44969-8_5、ISBN 978-3-540-42062-0 。Beckman, Brian (1994)、「スペクトルグラフレイアウトの理論」 、技術報告書 MSR-TR-94-04、Microsoft Research、2016年4月1日にオリジナルからアーカイブ、 2011年9月17日 取得 。ブランデス、ウルリク ;フリーマン、リントン C.;ワグナー、ドロテア ( 2014)、「ソーシャル ネットワーク」、タマシア、ロベルト (編)、『グラフ描画と可視化のハンドブック』 、CRC Press、pp. 805–839 。ディ・バッティスタ、ジュゼッペ。 Rimondini、Massimo (2014)、「Computer Networks」、Tamassia、Roberto (編)、Handbook of Graph Drawing and Visualization 、CRC Press、 763 ~ 803ページ 。Doğrusöz, Uğur; Madden, Brendan; Madden, Patrick (1997)、「グラフレイアウトツールキットにおける円形レイアウト」、North, Stephen (編)、Symposium on Graph Drawing, GD '96 Berkeley, California, USA, September 18–20, 1996, Proceedings 、Lecture Notes in Computer Science、vol. 1190、Springer-Verlag、pp. 92–100 、doi : 10.1007/3-540-62495-3_40 、ISBN 978-3-540-62495-0 。Eiglsperger, Markus; Fekete, Sándor; Klau, Gunnar (2001)、「直交グラフ描画」、Kaufmann, Michael; Wagner, Dorothea (編)、『グラフ描画』 、Lecture Notes in Computer Science、第2025巻 、Springer Berlin / Heidelberg、pp. 121–171 、doi : 10.1007/3-540-44969-8_6、ISBN 978-3-540-42062-0 。Freese, Ralph (2004)、「自動格子描画」、Eklund, Peter (編)『概念格子:形式概念分析に関する第2回国際会議、ICFCA 2004、オーストラリア、シドニー、2004年2月23-26日、議事録 (PDF)』 、Lecture Notes in Computer Science、第 2961巻、Springer-Verlag、pp. 589–590 、CiteSeerX 10.1.1.69.6245 、doi : 10.1007/978-3-540-24651-0_12、ISBN 978-3-540-21043-6 2016年3月14日にオリジナルからアーカイブ(PDF) 、2011年9月17日 に取得 。Garg, Ashim; Tamassia, Roberto (1995)、「上方平面性テスト」、Order 、12 (2): 109–133 、CiteSeerX 10.1.1.10.2237 、doi : 10.1007/BF01108622、MR 1354797、S2CID 14183717 。Grandjean, Martin (2014)、「La connaissance est un réseau」、Les Cahiers du Numérique 、10 (3): 37–54 、doi : 10.3166/lcn.10.3.37-54、2015-06-27にオリジナルからアーカイブ、2014-10-15 に取得 。Gutwenger, Carsten; Mutzel, Petra (1998). "良好な角度分解能を持つ平面ポリライン描画" . Sue Whitesides (編). Graph Drawing, 6th International Symposium . Springer. pp. 167–182 . doi : 10.1007/3-540-37623-2_13 . Holten, Danny; Isenberg, Petra ; van Wijk, Jarke J .; Fekete, Jean-Daniel (2011)、「ノードリンクグラフにおけるテーパー、アニメーション、テクスチャ付き有向エッジ表現の可読性に関する拡張評価」、IEEE Pacific Visualization Symposium (PacificVis 2011) (PDF) 、pp. 195–202 、doi : 10.1109/PACIFICVIS.2011.5742390、ISBN 978-1-61284-935-5 S2CID 16526781、 2016年4月11日にオリジナルからアーカイブ(PDF) 、 2011年9月29日 取得 。Holten, Danny; van Wijk, Jarke J. (2009)、「グラフにおける有向エッジの可視化に関するユーザー調査」、第27回ヒューマンファクター・イン・コンピューティングシステム国際会議(CHI '09)議事録 (PDF) 、pp. 2299–2308 、CiteSeerX 10.1.1.212.5461 、doi : 10.1145/1518701.1519054、ISBN 9781605582467 S2CID 9725345、2011年11月6日にオリジナル(PDF) からアーカイブ済み 。Kant, Goos (1992). 「lmc順序付けを用いた平面グラフの描画」.第33回コンピュータサイエンス基礎に関する年次シンポジウム . IEEE. pp. 101–110 . Knuth, Donald E. (2013)、「組み合わせ論の2000年」、Wilson, Robin 、Watkins, John J. (編)『組み合わせ論:古代と現代』 、Oxford University Press、pp. 7–37 。Koren, Yehuda (2005)、「固有ベクトルによるグラフ描画:理論と実践」、Computers & Mathematics with Applications 、49 ( 11–12 ): 1867–1888 、doi : 10.1016/j.camwa.2004.08.015 、MR 2154691 。Longabaugh, William (2012)、「BioFabricで毛玉をとかす:大規模ネットワークの可視化のための新しいアプローチ」、BMC Bioinformatics 、13 275、doi :10.1186/1471-2105-13-275 、PMC 3574047 、PMID 23102059 。Madden, Brendan; Madden, Patrick; Powers, Steve; Himsolt, Michael (1996)、「ポータブルなグラフレイアウトと編集」、Brandenburg, Franz J. (編)、Graph Drawing: Symposium on Graph Drawing、GD '95、パッサウ、ドイツ、1995年9月20~22日、Proceedings 、Lecture Notes in Computer Science、vol. 1027、Springer-Verlag、pp. 385–395 、doi : 10.1007/BFb0021822 、ISBN 978-3-540-60723-6 。Misue, K.; Eades, P.; Lai, W.; Sugiyama, K. (1995), "レイアウト調整とメンタルマップ", Journal of Visual Languages & Computing , 6 (2): 183–210 , doi : 10.1006/jvlc.1995.1010 。Nachmanson, Lev; Robertson, George; Lee, Bongshin (2008)、「GLEEによるグラフ描画」、Hong, Seok-Hee ; Nishizeki, Takao ; Quan, Wu (編)、Graph Drawing、第15回国際シンポジウム、GD 2007、オーストラリア、シドニー、2007年9月24~26日、改訂論文 、Lecture Notes in Computer Science、vol. 4875、Springer-Verlag、pp. 389–394 、doi : 10.1007/978-3-540-77537-9_38 、ISBN 978-3-540-77536-2 。Pach, János ; Sharir, Micha ( 2009)、「5.5 角度分解と傾斜」、組合せ幾何学とそのアルゴリズム的応用:アルカラ講義 、数学概論およびモノグラフ、第152巻 、アメリカ数学会、 126–127 頁 。Purchase, HC ; Cohen, RF; James, MI (1997)、「グラフ描画アルゴリズムの基礎に関する実験的研究」、Journal of Experimental Algorithmics 、2 、論文4、doi : 10.1145/264216.264222、S2CID 22076200 。Reingold, Edward M.; Tilford, John S. (1981). "Tidier drawings of trees". IEEE Transactions on Software Engineering . 2 (2): 223– 228. Bibcode : 1981ITSEn...7..223R . doi : 10.1109/TSE.1981.234519 . Saaty, Thomas L. (1964)、「完全グラフにおける最小交点数」、Proc. Natl. Acad. Sci. USA 、52 (3): 688–690 、Bibcode : 1964PNAS...52..688S 、doi : 10.1073/pnas.52.3.688 、PMC 300329 、PMID 16591215 。スコット、ジョン(2000)「ソシオグラムとグラフ理論」、ソーシャルネットワーク分析:ハンドブック (第2 版)、セージ、64~ 69ページ、ISBN 978-0-7619-6339-4 。杉山耕造、 田川正次郎、戸田光彦(1981)「階層的システム構造の視覚的理解のための方法」、IEEE Transactions on Systems, Man, and Cybernetics 、SMC-11(2):109–125 、Bibcode :1981ITSMC..11..109S、doi :10.1109/TSMC.1981.4308636、MR 0611436、S2CID 8367756 。杉山耕造、三江和夫(1995)。「磁気バネモデルによるグラフ描画」。Journal of Visual Languages & Computing。6 (3 ):217–231。doi :10.1006 /jvlc.1995.1013。 Tamassia, Roberto (1987). 「最小数の曲がりでグラフをグリッドに埋め込むことについて」 . SIAM Journal on Computing . 16 (3): 421–444 . doi : 10.1137/0216030 . Tantau, Till (2013)、「TikZにおけるグラフ描画」、Journal of Graph Algorithms and Applications 、17 (4): 495–513 、doi : 10.7155/jgaa.00301 。ザッポーニ、レオナルド(2003年8月)「Dessin d'Enfantとは何か」(PDF) 、『アメリカ数学会報』 、50 :788–789 、2021年10月3日にオリジナルからアーカイブ(PDF) 、 2021年4月28日 取得 。
さらに読む Di Battista, Giuseppe; Eades, Peter ; Tamassia, Roberto ; Tollis, Ioannis G. (1994), "グラフ描画アルゴリズム:注釈付き参考文献", Computational Geometry: Theory and Applications , 4 (5): 235–282 , doi : 10.1016/0925-7721(94)00014-x 。Kaufmann, Michael; Wagner , Dorothea 編 (2001)、Drawing Graphs: Methods and Models 、Lecture Notes in Computer Science 、vol. 2025、Springer-Verlag、doi : 10.1007/3-540-44969-8、ISBN 978-3-540-42062-0 S2CID 1808286 。Tamassia, Roberto 編 (2014)、『グラフ描画と可視化ハンドブック』 、CRC Press、2013年8月15日にオリジナルからアーカイブ、 2013年8月28日 取得 。
外部リンク .NET 用 GraphX ライブラリ ( 2018 年 1 月 26 日にWayback Machine に アーカイブされました) : グラフの計算と視覚化のためのオープンソースの WPF ライブラリ。多くのレイアウトおよびエッジルーティングアルゴリズムをサポートしています。 グラフ描画の電子プレプリントアーカイブ:すべてのグラフ描画シンポジウム の論文に関する情報が含まれています。