JSNetworkX icon indicating copy to clipboard operation
JSNetworkX copied to clipboard

relabelNodes doesn't update the graph

Open yananet opened this issue 7 years ago • 1 comments

Hi,

I could draw graph as I expected, and I now want to update the node without deleting the node.

firstly, I want to use relabelNodes , the label of the node changed but not reflected in the graph.

G.nodes()
Array [ old1", "old2" ]
var mapping = {"old1": "new1"};
var H = jsnx.relabelNodes(G, mapping, false)
G.nodes()
Array [ new1", "old2" ]

The label seems to be updated, but the actual label doesn't change, it only changes with following

jsnx.draw(G)

but I don't want to redraw everything, just want to update the single label. It would be very appreciated if someone can correct me.

yananet avatar Dec 13 '18 10:12 yananet

Just hope this could be helpful. I had to work with d3 for this.

text = d3.selectAll("text").filter(function() {return d3.select(this).text() == "the_label_text"})
text.style("fill", "gray")

something like this.

yananet avatar Dec 14 '18 03:12 yananet