Tworzę wykres z podanej sekwencji wartości Y przechowywanych przez curveSeq
. (Wartości X są wyliczane automatycznie: 0,1,2 ...)Etykiety węzłów za pomocą siecix
tj curveSeq = [10,20,30]
, mój wykres będzie zawierał punkty:
<0,10>, <1,20>, <2,30>.
Rysuję serię wykresów na tym samym nx.Graph
, aby przedstawić wszystko na jednym zdjęciu.
Mój problem jest:
- Każdy węzeł prezentuje swoją lokalizację. tj. węzeł w lokalizacji
<0,10>
przedstawia odpowiednią etykietę i nie wiem, jak ją usunąć. - Istnieją określone węzły, do których chcę dodać etykietę, ale nie wiem jak.
na przykład w sekwencji:
[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1]
Otrzymany wykres jest:
Kod jest:
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')
Ten link jest uszkodzony. Użyj tego zamiast: https://networkx.github.io/documentation/networkx-1.10/examples/drawing/labels_and_colors.html – blacksite