10
我想为图形添加边缘标签。这一切运作良好,唯一的问题是当两条边交叉时 - 我只看到其中一个标签,因为它们碰巧重叠。如何设置NetworkX边缘标签偏移量? (以避免标签重叠)
正如你可以看到hphob-α的标签显示,但极性测试版的标签不显示(我的猜测是,它是对下前面提到的)。
我找不到有关如何重新定位标签的任何文档,任何建议如何设置某种偏移来移动标签?用于生成图形
代码:
try:
import matplotlib.pyplot as plt
except:
raise
import networkx as nx
G=nx.Graph()
a="hphob"
b="polarity"
c="alpha"
d="beta"
G.add_edge(a,b,weight=0.5)
G.add_edge(b,c,weight=0.5)
G.add_edge(c,d,weight=0.5)
G.add_edge(a,d,weight=0.5)
G.add_edge(a,c,weight=0.5)
G.add_edge(b,d,weight=0.5)
pos=nx.spring_layout(G) # positions for all nodes
# nodes
nx.draw_networkx_nodes(G,pos,node_size=7000, node_color="white")
# edges
nx.draw_networkx_edges(G,pos,
width=6,alpha=0.5,edge_color='black')
# labels
nx.draw_networkx_labels(G,pos,font_size=20,font_family='sans-serif')
nx.draw_networkx_edge_labels(G,pos,
{
(a,b):"x", (b,c):"y", (c,d):"w", (a,d):"z", (a,c):"v", (b,d):"r"
}
)
plt.axis('off')
plt.savefig("weighted_graph.png") # save as png
plt.show() # display
我刚才它被包括看见[文档中的版本1.6](http://networkx.lanl.gov/reference/generated/networkx.drawing.nx_pylab.draw_networkx_edge_labels.html)。 – Maehler 2012-04-11 11:39:12
另一个好处是边缘可以有多个标签,并且可以定位在这些不同的偏移处。 – Vikram 2013-06-27 08:05:32