Étiquettes de noeuds utilisant networkx
Je suis de la création d'un graphique de la séquence donnée de valeurs de Y détenues par curveSeq
. (les valeurs de X sont énumérés automatiquement: 0,1,2...)
je.e pour curveSeq = [10,20,30]
mon graphique contiendra les points:
<0,10>, <1,20>, <2,30>.
Je suis en dessinant une série de tableaux sur le même nx.Graph
afin de présenter le tout dans une seule image.
Mon problème est le suivant:
- Chaque nœud présente son emplacement. j'.e le nœud dans l'emplacement
<0,10>
présente son étiquette respective et je ne sais pas comment l'enlever. - Il y a des nœuds spécifiques que je veux ajouter une étiquette, mais je ne sais pas comment.
par exemple, pour la séquence:
[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1]
Le reçu graphique est:
Le code est:
for point in curveSeq:
cur_point = point
#assert len(cur_point) == 2
if prev_point is not None:
# Calculate the distance between the nodes with the Pythagorean
# theorem
b = cur_point[1] - prev_point[1]
c = cur_point[0] - prev_point[0]
a = math.sqrt(b ** 2 + c ** 2)
G.add_edge(cur_point, prev_point, weight=a)
G.add_node(cur_point)
pos[cur_point] = cur_point
prev_point = cur_point
#key:
G.add_node((curve+1,-1))
pos[(curve+1,-1)] = (curve+1,-1)
nx.draw(G, pos=pos, node_color = colors[curve],node_size=80)
nx.draw_networkx_edges(G,pos=pos,alpha=0.5,width=8,edge_color=colors[curve])
plt.savefig(currIteration+'.png')
source d'informationauteur Maoritzio
Vous devez vous connecter pour publier un commentaire.
Vous pouvez ajouter la
with_labels=False
mot-clé à supprimer le dessin de l'étiquette avecnetworkx.draw()
par exemplePuis dessiner des étiquettes spécifiques avec
où les étiquettes est un dictionnaire de cartographie id de nœud pour les étiquettes.
Prendre un coup d'oeil à cet exemple http://networkx.github.com/documentation/latest/examples/drawing/labels_and_colors.html