मैं ग्राफ के लिए किनारे लेबल जोड़ने की कोशिश कर रहा हूं। यह सब अच्छी तरह से काम करता है, केवल समस्या तब होती है जब दोनों किनारों का अंतर होता है - मैं केवल लेबलों में से एक को देखता हूं क्योंकि वे ओवरलैप होते हैं।नेटवर्कएक्स एज लेबल्स ऑफ़सेट कैसे सेट करें? (लेबल ओवरलैप से बचने के लिए)
आप देख सकते हैं hphob-अल्फा लेबल दिखाया लेकिन polarity-बीटा लेबल नहीं दिखाया गया है है (मेरा अनुमान है यह अधिकार के तहत पहले उल्लेख है कि है)।
लेबलों को फिर से स्थानांतरित करने के बारे में कोई दस्तावेज नहीं मिला, कोई सलाह है कि लेबल को स्थानांतरित करने के लिए किसी प्रकार का ऑफ़सेट कैसे सेट किया जाए?
कोड ग्राफ उत्पन्न करने के लिए प्रयोग किया है:
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
अन्य लाभ यह है कि किनारे में कई लेबल हो सकते हैं, और इन अलग-अलग ऑफसेट पर स्थित हो सकते हैं। – Vikram