14
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

NetworkXのgraph generator一覧

Last updated at Posted at 2020-10-25

NetworkXで作成できるグラフのリストです。

##前情報

NetworkXの公式ドキュメントを和訳したものです。バージョンは2.4です。全ては網羅できていません。訳語が間違っている場合はお知らせください。

動作確認はJupyter notebook上で行っています。コードを実行するにはあらかじめnetworkxmatplotlib.pyplotをインポートしておいてください。

import networkx as nx
import matplotlib.pyplot as plt

#Classic(古典的グラフ)

###balanced_tree(平衡木)

balanced_tree(r, h, create_using=None)

高さがhである完全平衡r分木を返します。

パラメータ 説明
r int 木の枝分かれ数。各ノードはr個の子ノードを持ちます。
h int 木の高さ
create_using NetworkX graph constructor, optional (default=nx.Graph) 作成したいグラフの型
コード
#balanced_tree
G=nx.balanced_tree(3,2)
plt.cla()
nx.draw_networkx(G)
plt.show()

balanced_tree.png

###barbell_graph(バーベルグラフ)

barbell_graph(m1, m2, create_using=None)

バーベルグラフ(m1個のノードで構成された2つの完全グラフがm2個のノードからなる1本の道によってつながれたグラフ)を返します。

パラメータ 説明
m1 int 左右の完全グラフ(bell)の個数。m1>1
m2 int 左右の完全グラフをつなぐ経路のノード数。m2>=0
create_using NetworkX graph constructor, optional (default=nx.Graph) 作成したいグラフの型

ノードのナンバリング方法
左の完全グラフ:0,1,...,m1-1
経路:m1,m1+1,...,m1+m2-1
右の完全グラフ:m1+m2,m1+m2+1,...,2*m1+m2-1

例1

コード
#barbell_graph
G=nx.barbell_graph(5,2)
plt.cla()
nx.draw_networkx(G)
plt.show()

barbell_graph1.png

例2(m2=0のとき)

コード
G=nx.barbell_graph(5,0)
plt.cla()
nx.draw_networkx(G)
plt.show()
![barbell_graph2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/cdcd12c5-b7f7-30cb-db71-192a24ec0526.png)

###binomial_tree(二項木)
binomial_tree(n)

次数がnである二項木を返します。ノード数は$2^n$個、エッジ数は$2^n-1$個です。

パラメータ 説明
n int 木の次数

コード
G=nx.binomial_tree(3)
plt.cla()
nx.draw_networkx(G)
plt.show()
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/e7968530-9251-cb86-ef65-b200796ce222.png)

###complete_graph(完全グラフ)

complete_graph(n, create_using=None)

あるノードが他のすべてのノードと連結しているグラフを返します。

パラメータ 説明
n int または iterable container of nodes nが整数型のとき、ノードはrange(n)から作成されます。nがノードのイテラブルコンテナであるとき、それらノードによるグラフが作成されます
create_using NetworkX graph constructor, optional (default=nx.Graph) 作成したいグラフの型

例1(nが整数型のとき)

コード
G=nx.complete_graph(6)
plt.cla()
nx.draw_networkx(G)
plt.show()

complete_graph1.png

例2(nがノードのコンテナであるとき)

コード
G=nx.complete_graph(range(12,18))
plt.cla()
nx.draw_networkx(G)
plt.show()

complete_graph2.png

###complete_multipartite_graph(完全多部グラフ)
complete_multipartite_graph(*subset_sizes)

パラメータ 説明
subset_sizes taple of integers または tuple of node iterables nが整数型のとき、多部グラフの各サブセットはn個の頂点をもちます。nがイテラブルであるときは、それらノードによるグラフが作成されます
create_using NetworkX graph constructor, optional (default=nx.Graph) 作成したいグラフの型


それぞれ2,3,3個のノードをもつ3つのサブセットからなる完全多部グラフを作成します。

コード
G=nx.complete_multipartite_graph(2,3,3)
plt.cla()
nx.draw_networkx(G)
plt.show()

complete_multi_graph.png

###circular_ladder_graph(環状ラダーグラフ)

circular_ladder_graph(n, create_using=None)
長さnの環状ラダーグラフを返します。

パラメータ 説明
n int 1周の長さ
create_using NetworkX graph constructor, optional (default=nx.Graph) 作成したいグラフの型

コード
G=nx.circular_ladder_graph(10)
plt.cla()
nx.draw_networkx(G)
plt.show()

circular_ladder_graph.png

###circulant_graph(循環グラフ)

circulant_graph(n, offsets, create_using=None)

n個のノードからなる、循環グラフを返します。あるノードが他のどのノードとつながるかはoffsetsで指定されます。

パラメータ 説明
n int ノードの個数
offsets lists of integers ノードオフセットのリスト
create_using NetworkX graph constructor, optional (default=nx.Graph) 作成したいグラフの型

コード
G=nx.circulant_graph(10,[1,2])
plt.cla()
nx.draw_networkx(G)
plt.show()

offsets=[1,2]であることから、頂点iは頂点i+1,i+2とそれぞれつながっています。頂点0は頂点1,2に、頂点1は頂点2,3に,...,頂点9は頂点0,1につながっています。

circulant_graph.png

###cycle_graph(閉路グラフ)

cycle_graph(n, create_using=None)

パラメータ 説明
n int またはiterble container of nodes nが整数型のとき、ノードはrange(n)から作成されます。nがノードのイテラブルコンテナであるとき、それらノードによるグラフが作成されます
create_using NetworkX graph constructor, optional (default=nx.Graph) 作成したいグラフの型

コード
G=nx.cycle_graph(10)
plt.cla()
nx.draw_networkx(G)
plt.show()

image.png

###dorogovtsev_goltsev_mendes_graph(Dorogovstev-Goltsev-Mendesグラフ)

dorogovtsev_goltsev_mendes_graph(n, create_using=None)

Dorogovstev-Goltsev-Mendesアルゴリズムによって作成されたグラフを返します。

元論文
https://arxiv.org/abs/cond-mat/0112143

パラメータ 説明
n int 世代数
create_using NetworkX graph constructor, optional (default=nx.Graph) 作成したいグラフの型
コード
G=nx.dorogovtsev_goltsev_mendes_graph(3)
plt.cla()
nx.draw_networkx(G)
plt.show()

image.png

###empty_graph(ノードをもつ空グラフ)

empty_graph(n=0, create_using=None, default=<class 'networkx.classes.graph.Graph'>)

エッジを持たないn個のノードからなるグラフを返します。

パラメータ 説明
n int ノード数
create_using Graph Instance, Constructor or None 作成したいグラフの型。Noneが指定されたときはdefaultコンストラクタを使います。
default Graph constructor (optional, default = nx.Graph) create_using=Noneのときに使用されるコンストラクタ。

コード
G=nx.empty_graph(10)
plt.cla()
nx.draw_networkx(G,pos)
plt.show()

image.png

####create_usingの使い方
変数 create_using は Graph コンストラクタまたは "graph" ライクなオブジェクトでなければなりません。

create_usingの主な用途は3つあります。

  1. 空グラフの性質を指定する。
  2. 既存のグラフを空グラフにする
  3. 自作のグラフ作成関数を作るとき、create_usingに好きなグラフコンストラクタを渡せるようにする。

#####1の例
空の有向グラフ(DiGraph)を作成します。

n = 10
G = nx.empty_graph(n, create_using=nx.DiGraph)

#####2の例

完全グラフG1からエッジを取り除いた空グラフG2を作成します。

n=5
G1=nx.complete_graph(n)
G1.number_of_edges() #10
G2=nx.empty_graph(n,create_using=G1)
G2.number_of_edges() #0

#####3の例
自作のグラフ作成関数mygraphについて、create_usingの指定がないときはデフォルトコンストラクタnx.MultiGraphを使い、そうでないときは指定されたコンストラクタを使うように設定します。

def mygraph(n, create_using=None):
    G = nx.empty_graph(n, create_using, default=nx.MultiGraph)
    G.add_edges_from([(0, 1), (0, 1)])
    return G
G = mygraph(3)
G.is_multigraph() #True

G = mygraph(3, nx.Graph)
G.is_multigraph() #False

###full_rary_tree(全r分木)

full_rary_tree(r, n, create_using=None)

n個のノードから構成された全r分木を作成します。すべてのノードが葉であるかr個の子ノードを持っています。

パラメータ 説明
r int 木の枝分かれ数
n int ノード数
create_using NetworkX graph constructor, optional (default=nx.Graph) 作成したいグラフの型

コード
```python G=nx.full_rary_tree(3,16) pos=nx.spring_layout(G,iterations=1000) plt.cla() nx.draw_networkx(G,pos) plt.show() ```

image.png

###ladder_graph(ラダーグラフ)

ladder_graph(n, create_using=None)

ラダーグラフを返します。

パラメータ 説明
n int ラダーの長さ
create_using NetworkX graph constructor, optional (default=nx.Graph) 作成したいグラフの型
コード
G=nx.ladder_graph(7)
plt.cla()
nx.draw_networkx(G)
plt.show()

image.png

###lollipop_graph(ロリポップグラフ)

lollipop_graph(m, n, create_using=None)

ロリポップグラフ(m個のノードからなる完全グラフとそれにつながるn個のノードからなる経路)を返します。

パラメータ 説明
m int or iterable container of nodes (default = 0) 完全グラフを構成するノード数
n int or iterable container of nodes (default = 0)) 経路を構成するノード数
create_using NetworkX graph constructor, optional (default=nx.Graph) 作成したいグラフの型

コード
G=nx.lollipop_graph(6,3)
plt.cla()
nx.draw_networkx(G)
plt.show()

image.png

###null_graph(空グラフ)

null_graph(create_using=None)

ノードもエッジも持たないグラフを返します。
create_usingの使い方についてはempty_graphを参照してください。

パラメータ 説明
create_using NetworkX graph constructor, optional (default=nx.Graph) 作成したいグラフの型

コード
G=nx.null_graph()
plt.cla()
nx.draw_networkx(G)
plt.show()

image.png

###path_graph(道グラフ)

path_graph(n, create_using=None)

n個のノードからなる、同じノードを2度通らないグラフを返します。

パラメータ 説明
n int or iterable ノードの個数
create_using NetworkX graph constructor, optional (default=nx.Graph) 作成したいグラフの型
コード
G=nx.path_graph(5)
plt.cla()
nx.draw_networkx(G)
plt.show()

image.png

###star_graph(星グラフ)

star_graph(n, create_using=None)

1つの中心ノードに対しn個の外周ノードが連結されたグラフを返します。

パラメータ 説明
n int or iterable 外周ノードの個数
create_using NetworkX graph constructor, optional (default=nx.Graph) 作成したいグラフの型
コード
G=nx.star_graph(5)
plt.cla()
nx.draw_networkx(G)
plt.show()

image.png

###trivial_graph(トリビアルグラフ)

trivial_graph(create_using=None)

1個のノードのみからなる最も単純なグラフを返します。

パラメータ 説明
create_using NetworkX graph constructor, optional (default=nx.Graph) 作成したいグラフの型
コード
```python G=nx.trivial_graph() plt.cla() nx.draw_networkx(G) plt.show() ```

image.png

###turan_graph(トゥラーングラフ)

turan_graph(n, r)

n個のノードをr個の非連結部分に分けた完全多部グラフを返します。
エッジの数はn**2*(r-1)/(2*r)の端数を切り捨てた数になります。

パラメータ 説明
n int ノードの個数。
r int 非連結部分の個数。1<=r<=nである必要があります。
create_using NetworkX graph constructor, optional (default=nx.Graph) 作成したいグラフの型
コード
G=nx.turan_graph(6,3)
plt.cla()
nx.draw_networkx(G)
plt.show()

image.png

ノードは(0,1),(2,3),(4,5)の3部分に分かれています。同じ部分に属しているノードは連結していません。

例で挙げたグラフは「3組のカップルがカクテルパーティーへ出かけた。会場では、全員が自身とその配偶者を除くすべての参加者とそれぞれ握手をする。そのときの関係性を参加者をノード、握手をエッジとして表現するとどのようなグラフになるか?」という問いに対する解答となっています。そのため「カクテルパーティーグラフ」と呼ばれます。

###wheel_graph(ホイールグラフ)

wheel_graph(n, create_using=None)

1つのハブノードに対し、n-1個の外周ノードが連結されたグラフを返します。

パラメータ 説明
n int or iterable ノードの個数。
create_using NetworkX graph constructor, optional (default=nx.Graph) 作成したいグラフの型

Example

コード
G=nx.wheel_graph(10)
plt.cla()
nx.draw_networkx(G)
plt.show()

image.png

#Expander graph(拡張グラフ)

強連結成分をもつ疎グラフです。

###margulis_gabber_galil_graph(Margulis-Gabber-Galilグラフ)

margulis_gabber_galil_graph(n, create_using=None)

Margulis-Gabber-Galilグラフを返します。無向多重グラフであり、ノードの次数は8です。このグラフの隣接行列の2番目に大きな固有値は$5\sqrt{2}$です。
グラフが有向または多重グラフでないときはエラーが返されます。

パラメータ 説明
n int or iterable ノードの個数を定義します。ノードの個数は$n^2$です。
create_using NetworkX graph constructor, optional (default MultiGraph) 作成したいグラフの型
コード
G=nx.margulis_gabber_galil_graph(3)
pos=nx.circular_layout(G)
plt.cla()
nx.draw_networkx(G)
plt.show()

image.png

###chordal_cycle_graph(弦を持つ閉路グラフ)

chordal_cycle_graph(p, create_using=None)

弦(chord, 閉路の一部ではないが閉路グラフ上の2つのノード間を連結するエッジ)をもつ閉路グラフを返します。ノードxはx*y=1(mod p)を満たすノードyに対し弦を持ちます。
グラフが有向または多重グラフでないときはエラーが返されます。

パラメータ 説明
p prime number ノードの個数を定義します。素数である必要があります。
create_using NetworkX graph constructor, optional (default MultiGraph) 作成したいグラフの型
コード
G=nx.chordal_cycle_graph(7)
pos=nx.circular_layout(G)
plt.cla()
nx.draw_networkx(G,pos)
plt.show()

image.png

#Lattice(格子)

###grid_2d_graph(2次元格子グラフ)

grid_2d_graph(m, n, periodic=False, create_using=None)

2次元の格子グラフを返します。

パラメータ 説明
m,n int or iterable container of nodes 整数型のとき、ノードはrange(n)から作成されます。ノードのコンテナであるときは、それらの要素がノード座標となります。
periodic bool(default:False) Trueならば格子の端にあるノードは反対側のノードとつながり、トーラスになります。
create_using NetworkX graph constructor, optional (default=nx.Graph) 作成したいグラフの型

例1

コード
#grid_2d_graph
G=nx.grid_2d_graph(4,6)
plt.cla()
nx.draw_networkx(G)
plt.show()
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/606c592f-cea4-76e2-4dea-5134311b5c90.png)

例2

コード
```python G=nx.grid_2d_graph(4,6,periodic=True) plt.cla() nx.draw_networkx(G) plt.show() ```

image.png

###grid_graph(格子グラフ)

grid_graph(dim, periodic=False)

n次元の格子グラフを返します。nはdimの長さです。

パラメータ 説明
dim list or tuple of numbers or iterables of nodes dimには各次元について、その次元のサイズを表す数値を表すリストやタプルが入ります。または、その次元のノードのイテラブルが入ります。grid_graph の次元イコール dim の長さです.
periodic bool(default:False) Trueならば格子の端にあるノードは反対側のノードとつながり、トーラスになります。

例1

コード
dim=[2,3,4]
G=nx.grid_graph(dim)
plt.cla()
nx.draw_networkx(G)
plt.show()

image.png

G = nx.grid_graph(dim=[range(7, 9), range(3, 6)])
plt.cla()
nx.draw_networkx(G)
plt.show()

image.png

###hexagonal_lattice_graph(六角形格子グラフ)

hexagonal_lattice_graph(m, n, periodic=False, with_positions=True, create_using=None)

六角形格子グラフを返します。

パラメータ 説明
m int 六角形の行数
n int 六角形の列数
periodic bool(default:False) Trueならば格子の端にあるノードは反対側のノードとつながります。この機能を使いたい場合、nは奇数かつn>1かつm>1である必要があります。
with_positions bool(default:True) posに各ノードの座標を保管するかどうか
create_using NetworkX graph constructor, optional (default=nx.Graph) 作成したいグラフの型
G=nx.hexagonal_lattice_graph(4,2)
plt.cla()
nx.draw_networkx(G)
plt.show()

image.png

###hypercube_graph(超立方体グラフ)

hypercube_graph(n)

n次元の超立方体グラフを返します。

パラメータ 説明
n int 超立方体の次元の数。ノードの数は2のn乗個です。
G=nx.hypercube_graph(4)
plt.cla()
nx.draw_networkx(G)
plt.show()

image.png

###triangular_lattice_graph(三角格子グラフ)

triangular_lattice_graph(m, n, periodic=False, with_positions=True, create_using=None)

m行n列の三角格子グラフを返します。

パラメータ 説明
m int 行数
n int 列数
periodic bool(default:False) Trueならば格子の端にあるノードは反対側のノードとつながります。m>=3かつn>=5である必要があります。mまたはnが奇数のときはずれてつながります。
with_positions bool(default:True) グラフノード属性posに各ノードの座標を保管するかどうか
create_using NetworkX graph constructor, optional (default=nx.Graph) 作成したいグラフの型
G=nx.triangular_lattice_graph(4,5)
plt.cla()
nx.draw_networkx(G)
plt.show()

image.png

#Small

###make_small_graph(スモールグラフをつくる)

make_small_graph(graph_description, create_using=None)

graph_descriptionの情報をもとに小さなグラフを作ります。
graph_description[Itype,name,n,xlist]という形式のリストです。ここで、Itypeは"adjacencylist"または"edgelist"のどちらかです。nameはグラフの名前、nはノードの個数です。

Itype="adjacencylist"のときは、xlistには隣接リストを指定します。
Itype="edgelist"のときは、xlistにはエッジリストを指定します。

パラメータ 説明
graph_description [Itype,name,n,xlist] Itypeは"adjacencylist"または"edgelist"のどちらかです。nameはグラフの名前、nはノードの個数です。
create_using NetworkX graph constructor, optional (default=nx.Graph) 作成したいグラフの型

例1

G=nx.make_small_graph(["adjacencylist","C_4",4,[[2,4],[1,3],[2,4],[1,3]]])
plt.cla()
nx.draw_networkx(G)
plt.show()

image.png

例2

G=nx.make_small_graph(["edgelist","C_4",4,[[1,2],[3,4],[2,3],[4,1]]])
plt.cla()
nx.draw_networkx(G)
plt.show()

image.png

###LCF_graph(LCFグラフ)

LCF_graph(n, shift_list, repeats, create_using=None)

LCF(Lederberg-Coxeter-Fruchte)表記法を用いてグラフを作成します。LCF表記法は立方ハミルトニアングラフの作成に用いられます。

詳しい説明は以下を参照してください。
http://mathworld.wolfram.com/LCFNotation.html

例1($K_{3,3}$)

G = nx.LCF_graph(6, [3, -3], 3)
pos=nx.circular_layout(G)
plt.cla()
nx.draw_networkx(G,pos)
plt.show()
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/18cd1c98-3bf8-3ebc-6130-a4b62274d7ab.png)


###bull_graph(ブルグラフ)

`bull_graph(create_using=None)`

ブル雄牛グラフを返しますこのグラフは1つの三角形とそれにつながる2個の連結でないノードから構成されています

```python
G=nx.bull_graph()
plt.cla()
nx.draw_networkx(G)
plt.show()
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/bb7a1bc1-4300-59b9-df22-bd2cdf255449.png)


###chvatal_graph(フバータルグラフ)

`chvatal_graph(create_using=None)`

フバータルグラフを返します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/f9a32c70-5f25-80c5-6acf-4068836b368f.png)

###cubical_graph(立方体グラフ)

`cubical_graph(create_using=None)`

3-正則の正六面体グラフを返します

```python
G=nx.cubical_graph()
plt.cla()
nx.draw_networkx(G)
plt.show()
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/6942f3e7-a590-2b02-ac7e-68705601b8eb.png)

###desargues_graph(デザルググラフ)

`desargues_graph(create_using=None)`

デザルググラフを返します

```python
G=nx.desargues_graph()
plt.cla()
pos=nx.circular_layout(G)
nx.draw_networkx(G,pos)
plt.show()
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/a7a0c82b-c5ea-57e7-f1a7-32137309aca7.png)

###diamond_graph(ダイヤモンドグラフ)

`diamond_graph(create_using=None)`

ダイヤモンドグラフを返します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/9a0c11cd-ef92-4b26-f39d-93c8ae014b6c.png)

###dodecahedral_graph(正十二面体グラフ)

`dodecahedral_graph(create_using=None)`

正十二面体グラフを返します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/33601672-5d6b-5504-acad-45d431ea2ed8.png)

###frucht_graph(フレフトグラフ)

`frucht_graph(create_using=None)`

フレフトグラフを返しますこのグラフは対称性を持たない最小のキュービタルグラフの一つです自己同型群は単位元のみで構成されます

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/023db55a-98a3-f35b-25c8-5541f14640f6.png)

###heawood_graph(ヒーウッドグラフ)

`heawood_graph(create_using=None)`

ヒーウッドグラフを返します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/c1d0f072-a80d-3b6c-4cd3-896e5b135d64.png)

###hoffman_singleton_graph(ホフマンーシングルトングラフ)

`hoffman_singleton_graph()`

ホフマンーシングルトングラフを返します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/6b4197b0-8136-e426-b75b-897d191223b5.png)

もっときれいにグラフを書くと五芒星が見えます
https://mathworld.wolfram.com/Hoffman-SingletonGraph.html

###house_graph(ハウスグラフ)

`house_graph(create_using=None)`

家型のグラフを返します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/a5e9c9e7-1fd9-aa75-42dc-3edeebe13637.png)

###house_x_graph(ハウスXグラフ)

`house_x_graph(create_using=None)`

家型のグラフの四角部分にXが加わったグラフを返します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/7645b7a0-7731-f6f7-8975-86064fecadd9.png)


###icosahedral_graph(正二十面体グラフ)

`icosahedral_graph(create_using=None)`

正二十面体グラフを返します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/3e7fdf20-d8c0-c16f-4f7f-22fd07afda2f.png)

###krackhardt_kite_graph(クラックハートのカイトグラフ)

`krackhardt_kite_graph(create_using=None)`

Krackhardtのカイトグラフを返しますこのグラフはDavid Krackhardtによって導入された10人の俳優のソーシャルネットワークです伝統的なラベルはAndre=1, Beverley=2, Carol=3, Diane=4, Ed=5, Fernando=6, Garth=7, Heather=8, Ike=9, Jane=10です

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/f4d67b17-c40c-b56f-8ac1-ca974287def4.png)

###moebius_kantor_graph(メビウスーカントールグラフ)

`moebius_kantor_graph(create_using=None)`

メビウスーカントールグラフを返します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/e968a571-25ce-ad7d-81f5-c026367270b4.png)

###octahedral_graph(八面体グラフ)

`octahedral_graph(create_using=None)`

八面体グラフを返します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/a2c18eb6-d3bb-4d68-ad9f-590e7bb89078.png)

###pappus_graph(パップスグラフ)

`pappus_graph()`

パップスグラフを返します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/16ad709f-c759-e0e9-f685-484a74bbc499.png)

###petersen_graph(ピーターセングラフ)

`petersen_graph(create_using=None)`

ピーターセングラフを返します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/28c56de6-2e71-e15d-02e6-52c7ff3a4e8c.png)

###sedgewick_maze_graph(セッジウィック迷路グラフ)

`sedgewick_maze_graph(create_using=None)`

以下の文献を参考にした迷路グラフを返しますノードは0~7でラベル付けされます
Sedgewick,3rd Edition, Part 5, Graph Algorithms, Chapter 18,

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/badf0b8f-82b6-6070-0d95-0e951eafc70f.png)

###tetrahedral_graph(四面体グラフ)

`tetrahedral_graph(create_using=None)`

3-正則の正四面体グラフを返します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/9d63af8b-1e32-ba98-3c76-e904798d81e5.png)

###truncated_cube_graph(切頂立方体グラフ)

`truncated_cube_graph(create_using=None)`

切頂立方体角をとったサイコロ様グラフを返します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/9579af57-51e2-98f5-7b7d-93ccb75873d5.png)

###truncated_tetrahedron_graph(切頂四面体グラフ)

`truncated_tetrahedron_graph(create_using=None)`

切頂四面体グラフを返します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/5b4fbb2a-01fe-40d9-8be2-21dce1eada4d.png)

###tutte_graph(タットグラフ)

`tutte_graph(create_using=None)`

タットグラフを返します

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/55f9572a-1a7c-3be5-60aa-52200bf9e747.png)


#Social Networks(ソーシャルネットワーク)

有名なソーシャルネットワークグラフです

###karate_club_graph(Zacharyの空手クラブ)

`karate_club_graph()`

アメリカの社会心理学者Zacharyが調査した空手クラブのメンバー間のネットワークですノード0とノード32,33を中心とする2つの派閥に分かれていることがわかります

Zachary, Wayne W. An Information Flow Model for Conflict and Fission in Small Groups. Journal of Anthropological Research, 33, 452473, (1977).

```python
G=nx.karate_club_graph()
plt.figure(figsize=(8,6))
nx.draw_networkx(G)
plt.show()
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/c7d7c496-8f01-2617-0501-11ffae43a45d.png)



###davis_southern_women_graph(Davisらの南部女性グラフ)

`davis_southern_women_graph()`

1930年代にDavisらによって調査されたアメリカ南部の女性18人のネットワークです女性を表す18個のノードと参加したイベントを表す14個のノードから構成される2部グラフです

A. Davis, Gardner, B. B., Gardner, M. R., 1941. Deep South. University of Chicago Press, Chicago, IL.

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/0d3f20f9-99ae-83f7-29e5-b252501a7c11.png)

###florentine_families_graph(フィレンツェの家族)

`florentine_families_graph()`

ルネサンス期フィレンツェにおけるメディチ家などの有力家の婚姻関係です

Ronald L. Breiger and Philippa E. Pattison Cumulated social roles: The duality of persons and their algebras,1 Social Networks, Volume 8, Issue 3, September 1986, Pages 215-256

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/8874ea0c-718e-c19f-6d26-7608fa032e5b.png)

###les_miserables_graph()

`les_miserables_graph()`

小説ミゼラブルの登場人物のグラフです

D. E. Knuth, 1993. The Stanford GraphBase: a platform for combinatorial computing, pp. 74-87. New York: AcM Press.

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/253018/dc6d15b6-d2e4-856b-e6df-7ec67a8f77b0.png)


#参照

* https://networkx.org/documentation/networkx-2.4/reference/generators.html
14
16
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
14
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?