-
Notifications
You must be signed in to change notification settings - Fork 52
Description
Background
Using graphs in the visual analysis of relational data has proven to be very important. Such visualization is only effective when graphs that are created on the fly can be automatically laid out in a nice, understandable fashion. Not only that, changes to such graphs over time should also be nicely integrated into an existing layout without destroying the user's mental map.
Cytoscape.js is a highly popular and widely used graph library for visualizing relational data in various domains including biology. It comes with many layout extensions. In addition, a utility library to support these layout extensions was developed to further improve the layout support of a visual software component. This library for instance can help for compactly bringing components of a disconnected graph.
Goal
The goal of this project is to improve the existing functionality in choosing good initial locations for any new graph elements on evolving/changing graphs.
Difficulty Level: Hard
This project requires CS background to understand description of some new algorithms and choosing the right data structures to implement them.
Size and Length of Project
- medium: 175 hours
- 12 weeks
Note that the project length for small projects should be 10-12 weeks.
Skills
Essential skills: JavaScript, understanding of graph algorithms
Nice to have skills: Cytoscape.js
Public Repository
https://github.com/iVis-at-Bilkent/cytoscape.js-layout-utilities
Potential Mentors
Ozgun Babur
Ugur Dogrusoz