Tôi đang cố gắng thêm nhãn cạnh cho biểu đồ. Tất cả đều hoạt động tốt, chỉ có vấn đề là khi hai cạnh cắt nhau - tôi chỉ thấy một trong các nhãn khi chúng xảy ra trùng lặp.Cách đặt bù trừ nhãn cạnh mạng? (để tránh trùng lặp nhãn)
Như bạn có thể thấy nhãn hphob-alpha được hiển thị nhưng nhãn cực-beta không được hiển thị (tôi đoán là nó nằm ngay dưới đề cập trước đó).
Tôi không thể tìm thấy bất kỳ tài liệu nào về cách định vị lại nhãn, bất kỳ lời khuyên nào về cách đặt một số loại bù đắp để di chuyển nhãn?
Mã sử dụng để tạo ra các đồ thị:
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
tôi vừa chứng kiến rằng nó bao gồm trong [tài liệu cho phiên bản 1.6] (http://networkx.lanl.gov/reference/generated/networkx.drawing.nx_pylab.draw_networkx_edge_labels.html). – Maehler
Lợi ích khác là cạnh có thể có nhiều nhãn và có thể được đặt ở các vị trí khác nhau này. – Vikram