PR
Calendar
Keyword Search
Category
Free Space
matrix = [[0, 1, 0, 0, 1, 0],
[1, 0, 1, 0, 1, 0],
[0, 1, 0, 1, 0, 0],
[0, 0, 1, 0, 1, 1],
[1, 1, 0, 1, 0, 0],
[0, 0, 0, 1, 0, 0]]
2番のノードと隣接しているのは、1番、3番、5番。
3番のノードと隣接しているのは、2番、4番。
4番のノードと隣接しているのは、3番、5番、6番。
5番のノードと隣接しているのは、1番、2番、4番。
6番のノードと隣接しているのは、4番。
import pydot
# 隣接行列のデータ
matrix = [[0, 1, 0, 0, 1, 0],
[1, 0, 1, 0, 1, 0],
[0, 1, 0, 1, 0, 0],
[0, 0, 1, 0, 1, 1],
[1, 1, 0, 1, 0, 0],
[0, 0, 0, 1, 0, 0]]
# 隣接行列からグラフを生成する
g=pydot.graph_from_adjacency_matrix(matrix)
# グラフを出力、2通り出力してみる
g.write_png('a_matrix01.png')
g.write_png('a_matrix02.png', prog='neato')


# 表示用のラベルを用意する。
node_label = {'1':'First', '2':'Second', '3':'Third',
'4':'Forth', '5':'Fifth', '6':'Sixth'}
# ノードを取り出す
nodes = g.get_node_list()
# ノードごとにラベルを設定する
for n in nodes:
n.set_label(node_label[n.name])
# ファイルに出力する
g.write_png('a_matrix03.png', prog='neato')

node_label = {'1':'一番目', '2':'二番目', '3':'三番目',
'4':'四番目', '5':'五番目', '6':'六番目'}
# ノードを取り出す
nodes = g.get_node_list()
# ノードごとにラベルを設定する
for n in nodes:
n.set_label(node_label[n.name])
# 属性を設定するノードを作って先頭に追加する
n = pydot.Node('node')
n.fontname = "arialuni.ttf"
g.sorted_graph_elements.insert(0, n)
# ファイルに出力する
g.write_png('a_matrix04.png', prog='neato')

janome を使った Python プログラムを pyi… 2024.04.08
Tkinter でも、見た目のよい GUI を作れる 2024.02.25
Chromecast を Python で制御する 2016.01.10