Akshay Damle
Akshay Damle

Reputation: 1250

How to add nodes at specified positions in Cytoscape.js?

I want to add nodes at specified positions. I started off by trying to add two nodes at the same position (x=0, y=0) like so:

$(document).ready(function() {

var cy = cytoscape({
  container: document.getElementById('cy'),
});

cy.add([
  { group: "nodes", data: { id: "n0" }, position: { x: 0, y: 0 } },
  { group: "nodes", data: { id: "n1" }, position: { x: 0, y: 0 } },
]);

});

And I expected it to show me two nodes at the same position, one over the other. But the result was quite unexpected. Here is what I got:

enter image description here

In fact, the position of the nodes remains the same no matter what values of x and y I specify. I also tried renderedPosition instead of position but to no avail.

I am searching the Cytoscape documentation for how to achieve what I want but I haven't been able to come up with a solution yet.

Upvotes: 6

Views: 2674

Answers (1)

Akshay Damle
Akshay Damle

Reputation: 1250

Got it. I was forgetting to specify that the preset layout must be used. Added the following:

layout: {
  name: 'preset'
},

to the cy object and it works.

Upvotes: 10

Related Questions