道(path)
path_graph---NetworkX
道(path)とは、頂点を順番につないだグラフです。
nx.path_graph(n)でn頂点のpathが生成されます。ラベルは0〜n-1までが自動的につき、0〜n-1を順番につないだグラフになります。
例えば、4頂点のpathは次のようなコードになります。
道(path)とは、頂点を順番につないだグラフです。
nx.path_graph(n)でn頂点のpathが生成されます。ラベルは0〜n-1までが自動的につき、0〜n-1を順番につないだグラフになります。
例えば、4頂点のpathは次のようなコードになります。
import networkx as nx from matplotlib import pyplot def main() : g=nx.path_graph(4) #4頂点のpath nx.draw_networkx(g,pos=nx.spring_layout(g),node_size=500,font_size=15,width=2.0) pyplot.show() if __name__ == '__main__': main()
これを実行すると
となります。
もし空のグラフを先に作成し、pathを追加するのであればこうなります。
import networkx as nx from matplotlib import pyplot def main() : g=nx.Graph() g.add_path([1,2,3,4]) #4頂点のpath nx.draw_networkx(g,pos=nx.spring_layout(g),node_size=500,font_size=15,width=2.0) pyplot.show() if __name__ == '__main__': main()
星(star graph)
星とは一つの頂点にその他のノードがつながっているグラフです。
nx.star_graph(n)でn頂点の星が生成できます。ラベルは中心が0になりn-1まで自動的につきます。
例えば4頂点の星は次のようなコードになります。
import networkx as nx from matplotlib import pyplot def main() : g=nx.star_graph(4) # 4頂点の星 nx.draw_networkx(g,pos=nx.spring_layout(g),node_size=500,font_size=15,width=2.0) pyplot.show() if __name__ == '__main__': main()
となります。
もし先に空のグラフを作成し、星を追加するのであればこうなります。
import networkx as nx from matplotlib import pyplot def main() : g=nx.Graph() g.add_star([1,2,3,4]) # 4頂点の星。この場合は引数は頂点のリスト(=自分で指定できる) nx.draw_networkx(g,pos=nx.spring_layout(g),node_size=500,font_size=15,width=2.0) pyplot.show() if __name__ == '__main__': main()
閉路グラフ(cycle graph)
閉路グラフとは、文字通り一つの閉路から成るグラフです。(閉路グラフ---Wikipedia)
nx.cycle_graph(n)でn頂点の閉グラフが生成できます。ラベルは0〜n-1でつきます。
例えば4頂点の閉路グラフは次のようなコードになります。
import networkx as nx from matplotlib import pyplot def main() : g =nx.cycle_graph(4) # 4頂点の閉グラフ nx.draw_networkx(g,pos=nx.spring_layout(g),node_size=500,font_size=15,width=2.0) pyplot.show() if __name__ == '__main__': main()
import networkx as nx from matplotlib import pyplot def main() : g=nx.Graph() g.add_cycle([1,2,3,4]) # 4頂点の閉グラフ。この場合は、引数は頂点のリスト(=自分で指定できる) nx.draw_networkx(g,pos=nx.spring_layout(g),node_size=500,font_size=15,width=2.0) pyplot.show() if __name__ == '__main__': main()
完全グラフ(complete graph)
nx.complete_graph(n)でn頂点の完全グラフが生成できます。ラベルは0〜n-1でつきます。
例えば4頂点の完全グラフは次のようなコードになります。
import networkx as nx from matplotlib import pyplot def main() : g =nx.complete_graph(4) # 4頂点の完全グラフ nx.draw_networkx(g,pos=nx.spring_layout(g),node_size=500,font_size=15,width=2.0) pyplot.show() if __name__ == '__main__': main()
これを実行すると、
となります。
n=5の場合は
n=6の場合は
となっていきます。
g.add_complete([リスト])という方法はできないようです。
それ以外にもあるクラスのグラフを自動的に作れるような機能がいろいろ備わっているようですが、勉強不足でそもそもなんのことをどんなグラフのことを意味しているのかわからないものがたくさん。
ランダムグラフとかいろいろあるっぽいです。
詳細は下の参考ページで確認ください。
参考にしたページや文献・書籍
Graph generators---NetworkX
Graph generators---NetworkX
0 件のコメント:
コメントを投稿