简体   繁体   中英

Node labels using networkx

I'm creating a graph out of given sequence of Y values held by curveSeq . (the X values are enumerated automatically: 0,1,2...)

ie for curveSeq = [10,20,30] , my graph will contain the points:

<0,10>, <1,20>, <2,30>.

I'm drawing a series of graphs on the same nx.Graph in order to present everything in one picture.

My problem is:

  • Each node presents its location. ie the node in location <0,10> presents its respective label and I don't know how to remove it.
  • There are specific nodes that I want to add a label to, but I don't know how.

for example, for the sequence:

[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1]

The received graph is:

图形

The code is:

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')

You can add the with_labels=False keyword to suppress drawing of the labels with networkx.draw() , eg

networkx.draw(G, pos=pos, node_color=colors[curve],
    node_size=80, with_labels=False)

Then draw specific labels with

networkx.draw_networkx_labels(G,pos, labels)

where labels is a dictionary mapping node ids to labels.

Take a look at this example: https://networkx.org/documentation/stable/auto_examples/drawing/plot_labels_and_colors.html

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM