shichuanpo / cytoscape.js-d3-force Goto Github PK
View Code? Open in Web Editor NEWd3-force for cytoscape
License: MIT License
d3-force for cytoscape
License: MIT License
Hello, I want to ask if you know how to use this extension with react-cytoscape?
Things that I have tried:
I have included this in my source code but the graph is not showing d3-force behavior.
cytoscape.use(d3Force);
你好!
我最终希望实现的效果是在原有图上添加节点,并在不改变其他节点位置的情况下仅对新增节点进行布局,目前我的做法是将原有元素锁定后再添加新节点进行布局。但是使用d3-force布局时,节点出现在大致正确的位置后会向某一个方向飘移,这个问题我基于你的demo也可以复现出来,直接点击Add nodes to random node就可以看到效果。在这样添加之后直接对所有元素进行布局,即Run layout on full graph,布局则会恢复正常。如果我把布局切换成cola,同样添加节点,则是符合我期望的效果。
期待你的回复,非常感谢!
依赖
发生了什么事
当使用该库生成 d3-force 布局时,在将布局修改成 cy.js 内置布局('cose', 'grid', 'circle')时会出现怪异情况
复现
// 1. 使用 chrome 打开 demo.html
// 2. 打开控制台输入如下,改变布局
/**
var options = {
name: 'cose' || 'grid' || 'circle'
}
cy.layout( options ).run()
*/
// 3.随意拖动一个节点,可发现未变成新的布局
如果想切换布局模式,当前force如果未stop,重新layout其他布局会出现闪现后依旧绘制当前的布局。
依赖
发生了什么事
当布局未完成 重复调用函数时,会报错 Cannot read property 'notify' of null
复现
将您仓库的 demo.html
文件 149 行 ~ 190 行拿函数包住,调用两次
document.addEventListener('DOMContentLoaded', function () {
function run() {
var cy = window.cy = cytoscape({
...
})
}
run()
run()
});
I have made a graph by using cytoscape.js-d3-force.
first time it working fine and plotting graph properly.
i want to right click on any node and get new node.
after getting this new node i have to add. i did by using cy.add({})
Now i have used
cy.layout(
name: 'd3-force',
animate: true,
fixedAfterDragging: true,
linkId: function id(d) {
return d.id;
},
linkDistance: 200,
manyBodyStrength: -300,
collideRadius: 80,
ready: function(){},
stop: function(){},
tick: function (){},
randomize: false,
infinite: true,
}).run()
I have used this for refreshing the layout. the blank screen shows. it is not refreshing actually.
can anyone help
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.