2017-02-19 108 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)