Comments (3)
The following examples may help/illustrate your use-case:
RollingBufferSample
RollingBufferSortedTreeSample
In particular there are several DataSet implementations that implement (timed) circular buffers (or trees, if data arrives/is added out-of-order), e.g.:
CircularDoubleErrorDataSet
FifoDoubleErrorDataSet:
LimitedIndexedTreeDataSet
Here 'timed' means that the maximum number of samples, as well as the maximum distance between first and last data points, is limited (ie. points are being dropped if the maximum queue size of 100k points and/or x-range of 10 minutes is exceeded).
Your particular use-case of 10 minutes of burst data with 1kHz sampling rates (<->100k data points) should be possible. Please note that the maximum update rate should ideally be throttled to <=25 Hz (ie. adding 80 or more samples per 40 ms update interval, and notify/trigger redraws only at max 25 Hz). You may add more data at any rate, but the internal JavaFX thread won't update at higher rates.
Enjoy!
from chart-fx.
@RalphSteinhagen great example! checking that
from chart-fx.
@RalphSteinhagen Thanks for point me out the wonderful example, I've made my first version. Here are some findings:
-
CircularDoubleErrorDataSet
doesn't support evicting data by time, and for x axis, no positive or negative error. -
LimitedIndexedTreeDataSet
has queue size and time duration expiration feature. One thing is, while evicting an expired element, it loops over all element to calculate the range: https://github.com/GSI-CS-CO/chart-fx/blob/master/chartfx-dataset/src/main/java/de/gsi/dataset/spi/LimitedIndexedTreeDataSet.java#L135 this looks not very efficient. Another thing is, although it supports x error and y error, but you cannot distinct positive or negative error. I extended a class and made some override to support negative x error, but still need to fix some issue, because the range calculation still considered negative error.
But overall, the system is well designed, very good.
from chart-fx.
Related Issues (20)
- [10pt, 10pt]Restructure layout computations to make rendered output more consistent HOT 3
- If the dataset is round-trip, when i zoom the chart, the line will disapear. HOT 4
- Feature request (bug?) center handle position in HeatmapChart Pixels HOT 1
- Feature Request: allow explicit setting of axis' tick marks HOT 1
- Moving XYCharts to a new scene causes improper scaling between the axis and series/gridlines HOT 4
- DragResizerUtil dont resize on south HOT 1
- ShortTimeFourierTransform: Amplitude change with zero padding
- Customize color schema of XYChart HOT 2
- Axis display problem HOT 2
- Noob developer
- Change CachedDataPoints access modifier to public
- Notes for future work past 11.3 HOT 1
- Eclipse cannot handle 11.3.0 for some reason HOT 19
- Several questions about axis HOT 2
- The Zoomer plugin has some problems when using the mouse wheel HOT 2
- Fix usage of `renderer.getAxes` in `DataPointToolTip` and other plugins
- com.sun.javafx.application.PlatformImpl startup WARNING: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @...' HOT 2
- (1) real time candlestick Chart with lines and points together (2) show at least two candlesticks together HOT 1
- Am I in the correct developer mode? developer mode for chartfx-chart/: An exception occurred while executing the Java class. Exception in Application start method HOT 1
- setTickUnit seems to be invalid and does not show the expected effect 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 chart-fx.