PyGraphviz
事実上、AGraphってクラスだけ。http://networkx.lanl.gov/pygraphviz/reference/agraph.html
メモしておくが、まだメチャクチャ。後で整理する。
[追記 date="2011-09-02"] 後で整理とか言っているあいだに、鍬田くんはPyGraphvizが使えるようになり、僕は使い方がよくわからないまま。もういいや。[/追記]
- 表現データ
または、
{始点1 : {終点1-1 : None, 終点1-2 : None, ...}, 始点2 : ...}
{始点1 : [終点1-1, 終点1-2, ...], 始点2 : ...}
- クエリー
- G.nodes()
- directed
- edges(nbunch=None, keys=False)
- get_edge(u, v, key=None)
- get_name()
- get_node(n)
- has_edge(u, v=None, key=None)
- has_neighbor(u, v, key=None)
- has_node(n)
- is_directed()
- is_strict()
- is_undirected()
- number_of_edges()
- number_of_nodes()
- グラフの生成
- filename=
- string= DOT形式の記述
- data= 表現データ
- handle= Swig pointer to an agraph_t data structure
- copy() Return a copy of the graph.
- グラフの種類設定
- name 名前やID
- directed
- strict -- 多重辺を許さない
- B=A.acyclic(copy=True)
Graphviz属性がメチャクチャいっぱいある。http://www.graphviz.org/doc/info/attrs.html
- 表示(文字列化)
- string()
- to_string()
- 追加
- 頂点 add_node(u)
- 辺 add_edge(u, v) G.add_edge('a','b','first') G.add_edge(u'a',u'b',color='green')
- 道 add_path(nlist)
- 辺の集まり add_edges_from(elist) G.add_edges_from(elist, color='green')
- サイクル add_cycle(nlist)
- 変更
- graph_attr.update(landscape='true',ranksep='0.1')
- node_attr.update(color='red')
- edge_attr.update(len='2.0',color='blue')
- 削除
deleteとremoveの違いがわからん。
- clear()
- delete_edge(u, v=None, key=None)
- delete_edges_from(elist)
- delete_node(n)
- delete_nodes_from(nbunch)
- remove_edge(u, v=None, key=None)
- remove_edges_from(ebunch)
- remove_node(n)
- remove_nodes_from(nbunch)
- ファイルIO
- read(path) Read graph from dot format file on path. path can be a file name or file handle
- write(path=None)
- layout(prog='neato', args='') Assign positions to nodes in graph.
- A.layout(prog='dot')
- draw(path=None, format=None, prog=None, args='')
- その他の操作
- tred(args='', copy=False)
- reverse() Return copy of directed graph with edge directions reversed.