2017-02-19 72 views
0

有沒有辦法以相反的順序生成圖形,即我想生成垂直翻轉的圖形。NetworkX:翻轉圖形

或者如果我可以在它被繪製之前用一些matplotlib子例程翻轉它!

F.e: 我想357和358是在上面,和1-6是在底部

enter image description here

+1

請提供樣本輸入和輸出。我不清楚你要做什麼。 (我認爲你使用的是'生成'這個詞與我的意思不同)。 – Joel

+0

您可以輕鬆地更改任一軸的順序:請參閱[PyPlot中的反向Y軸](http://stackoverflow.com/a/8280500)(@ Joel的答案將定位置於您的控制之下,這可能有利於其他方法) – Bonlenfum

回答

2

只是交換你的位置的座標。

import networkx as nx 
import matplotlib.pyplot as plt 

G = fast_gnp_random_graph(20,0.1) 
pos = nx.sprint_layout(G) 
nx.draw_networkx(G, pos=pos) 
flipped_pos = {node: (x,-y) for (node, (x,y)) in pos.items()) 
plt.clf() 
nx.draw_networkx(G, pos = flipped_pos)