Comments (5)
The short answer is no. Spring embedders including cose-bilkent do apply repulsion forces on nodes to avoid overlaps and put some minimal distance between nodes. I can't see the whole picture in your example but the reason that some nodes (AND, OR, ProteinCoding, and HCP) are not nicely distanced from each other might be cause your graph is very dense and the algorithm cannot satisfy all the constraints.
from cytoscape.js-cose-bilkent.
@superbobry If your data is a DAG/tree -- which logical AND / OR statements usually are -- you can also try the Dagre layout. Dagre is designed just for DAGs.
When using CoSE, you may have to alter the options for the force values to get a nice result. What values work well can be very different for different graphs, so you usually have to experiment a bit.
from cytoscape.js-cose-bilkent.
@ugurdogrusoz, @maxkfranz thank you very much for the explanation. I will give Dagre a try.
from cytoscape.js-cose-bilkent.
Do you know of a layout where I specify measured distances between nodes (edge lengths)
and the layout tries to place nodes so as to minimize distortions to the specified edge lengths?
One application is where nodes are genes and distances are measured (DNA sequence or perhaps recombination probability).
I want a map that tries to reconcile the measured distances with minimal distortion.
from cytoscape.js-cose-bilkent.
Do you know of a layout where I specify measured distances between nodes (edge lengths)
and the layout tries to place nodes so as to minimize distortions to the specified edge lengths?
One application is where nodes are genes and distances are measured (DNA sequence or perhaps recombination probability).
I want a map that tries to reconcile the measured distances with minimal distortion.
Layouts like FCOSE and Cola allow for this. Simply set the values affecting edge length appropriately (e.g. idealEdgeLength
and edgeElasticity
in FCOSE). The Cola demo sets edge length proportional to the inverse of weight (i.e. closer nodes tend to be more related). GeneMANIA does the same thing with COSE.
N.b. if you overconstrain the system (e.g. with a large, dense network), then the lengths won't correspond well to your metric.
from cytoscape.js-cose-bilkent.
Related Issues (20)
- Graph nodes not laid out properly HOT 4
- Can a point have two parent nodes?
- Uncaught TypeError: ani.play is not a function HOT 3
- how to set node size from data? HOT 3
- "ReferenceError: self is not defined" error occurring in unstable branch HOT 2
- Uncaught TypeError: Cannot read property 'getParent' of undefined HOT 9
- Cytoscape 3.3 objects in Vue.js state cause endless recursion HOT 12
- Possible to create a planar graph? HOT 5
- Is there a way to keep the nodes on a single Y axis? HOT 1
- Multiple groups of nodes are distributed HOT 3
- Setting nodeDimensionsIncludeLabels to true works not well for zero degree nodes HOT 4
- v4.1.0 has breaking changes to v4.0 HOT 4
- Uniform node dimensions HOT 1
- Pack disconnected graph components using new utility
- Incremental tiling
- Seed for deterministic layout HOT 4
- Retain node positions when chart is being re-generated with the same dataset HOT 3
- Tree reduction during incremental layout
- Update License HOT 2
- fit not working with huge amount of data HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cytoscape.js-cose-bilkent.