Comments (5)
Well, there is no detailed roadmap. We just do maintenance/bugfixes for the chap-links-library, and add the features that the old Timeline had one by one to the new Timeline in vis.js. The new version has a much better architecture which allows to grow it further. The old Graph (line chart) will be merged in the new Timeline, this is now just another type of data to display on a time line.
If the only thing that you miss on the new Timeline is clustering, it may be the easy/doable to create this functionality yourself and add that to the new Timeline. You can prepare your data via some grouping/clustering function for different zoom levels (ie. group data together in clusters when zoomed out). Then attach an event listener to the rangechange event of the Timeline, calculate the current zoom level, and when the zoom level changed, replace the currently displayed dataset for the one corresponding to the new zoom level.
from vis.
If it's worth anything the clustering feature is something I could really use, having to look at alternatives again because of it not existing.
from vis.
If it's worth anything the clustering feature is something I could really use, having to look at alternatives again because of it not existing.
same for us. But don't expect it within a few months. Unless you implement it right away and make a pull request to share it with us ;)
from vis.
I am looking more seriously into this. I have a question regarding the integration of such a feature. Given that the code is basically the same as the existing Stack component (since we need to detect overlapping items, and represent them appropriately), what would be the most appropriate/generic way to implement clustering? Should we try to leverage the Stack.js code to handle both stacking and clustering, or should we leave the Stacking alone and do the clustering at the data level?
Based on your initial suggestion, I have the idea of providing a "transform" property, consisting in a list of operations that will handle transformations to the data based on timeline parameters such as zoom level and width. We can bundle standard transforms such as clustering, filtering... It can be implemented at the DataSet level, but then I need to find a way to pass view-specific parameters (timeline zoom/width for instance) so that the transforms are done according to the view.
Any feelings/comments about this?
from vis.
There are a couple of discussions on the chap-links-library discussing various clustering solutions. I think there are different ways, and in the end we may up supporting a couple of them. Few ideas:
- clustering on a data level, purely taking into account timestamps and a given time window.
- not doing clustering by yourself, but offering an easy interface for a developer to define different datasets for different zoomlevels.
- Clustering by really reckoning with the actual size of items on screen, making everything fit exactly in the visible window. This will require integration with Stack.js.
So, depending on your needs, you could start implementing one of these.
from vis.
Related Issues (20)
- Overlapping Edges in Vis.js 4.20.0 and later HOT 1
- Timeline - how to dynamically change options value? HOT 3
- timeline - update tooltip on onMoving callback is not working HOT 2
- Cross-Site Scripting DOM Input Validation and Representation HOT 1
- how to change X-Axis data format in Vis.js
- Suggestion for showcase - museum-digital
- Select option list is not clickable in groups section
- Flicking a timeline element off of screen unable to drag other element
- Is it possible to have a single line be drawn with multiple colors based on the data?
- Timeline bug with safari βmoveToβ HOT 1
- Github Pages site for visjs.org down HOT 3
- Update items or remove
- Shorthand option for edge color being ignored
- Every time you update the "network" shape always changes, how can you make the shape unchanged? HOT 2
- Connector title disappears when (re-)opening a cluster HOT 2
- Looking for a plugin to draw such this graph online HOT 1
- Edge label at 0,0 HOT 1
- can we have items on either side of timeline(up and down)
- Showcase suggestion: libcolgraph
- Mark Original Start in Timeline Bar
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 vis.