0
0

NetworkX入門(4)

Last updated at Posted at 2024-01-12

NetworkX グラフ型

DiGraphのついで、他のグラフ型も見ておく:

  • Graph
  • DiGraph
  • MultiGraph
  • MultiDiGraph

NetworkX公式に親切な説明があるのだけれど、図がない。図があった方がわかりやすいと思う。

Graph (無向グラフ)

例えば①→②というエッジがあったとして、さらに②→①というエッジを追加すると、②→①は①→②に読み替えられる。
AliceとBobが友人だったとしたら、Alice→BobとBob→Aliceの2個のエッジは不要で、Alice-Bobという1つの無向エッジで十分ということ。

file04_graph.png

DiGraph (有向グラフ)

例えば①→②というエッジがあったとして、さらに②→①というエッジを追加することができる。
AliceとBobが互いに借金し合っているとしたら、Alice→BobとBob→Aliceという2個のエッジが必要。

file04_bigraph.png

MultiGraph (1組のノードに対し複数エッジを持てる無向グラフ)

MultiDiGraphの無向版。

MultiDiGraph (1組のノードに対し複数エッジを持てる有向グラフ)

例えば①→②というエッジがあったとして、さらに①→②というエッジを追加することができる。
BobがAliceから100円借りていて、それを返さずにさらに200円借りたとしたら、同方向の2個のエッジが必要。

multi_di.png

ちなみに、NetworkX+MatplotlibでMultiDiGraphを作ろうとしたが、矢印が重なってしまったので、手描きの絵にした。エッジにラベルを表示させるようにすれば、矢印をそれぞれ出してくれるのだろうか?

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0