Comments (2)
Hi Anne (@zanzica) and welcome to GitHub!
This is by design and for performance reasons to minimise the necessity for doing (costly) interpolation between points and/or clipping at the boundaries (Canvas clipping is costly for large DataSets with JavaFX, you may check this e.g. via turning the isAssumeSortedData()
off)
The ErrorDataSetRenderer always draws from the first to the last point that are within the visible axis range. The corresponding code can be found at: https://github.com/GSI-CS-CO/chart-fx/blob/22e5f2ab74b4f2f3024283bd4006e3c6edbbf047/chartfx-chart/src/main/java/de/gsi/chart/renderer/spi/ErrorDataSetRenderer.java#L691-L699
For most DataSets (ie. those derived from AbstractAxis) this is implemented via a fast binary search algorithm, see e.g.
https://github.com/GSI-CS-CO/chart-fx/blob/22e5f2ab74b4f2f3024283bd4006e3c6edbbf047/chartfx-dataset/src/main/java/de/gsi/dataset/spi/AbstractDataSet.java#L488
You have the following options: you may either
a) set the isAssumeSortedData()
to 'off', or
b) override the public int getIndex(final int dimIndex, final double x)
in your DataSet to include always the point before and after the view range (if they exist).
Hope this helps and Happy Coding!
from chart-fx.
I suspected that it might be connected to performance improvements. If including one outside point on each side of the drawing range, as implemented in your pull request #132 , does not cause any (relevant) performance degradation, I would be happy to see it merged. Otherwise I'll try to implement something similar in [DataSet]#getIndex as you suggested.
Thanks for the prompt reaction!
from chart-fx.
Related Issues (20)
- 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
- ErrorDataSetRenderer with LineStyle.HISTOGRAM draws extra lines HOT 3
- Please update documentation to included dependency for the samples HOT 6
- Inquiry about Documentation HOT 1
- Broken handling of Y error values by multi-value LimitedIndexedTreeDataSet.set HOT 1
- axis auto range and axis tick label issue after `setLogAxis=true` HOT 2
- Building with Java 21 HOT 5
- Building samples as standalone fails HOT 1
- Panning mouse filter cannot be changed in the `Zoomer` plugin 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.