A high-performance JavaFX charting library for real-time scientific data visualization, handling up to 5 million data points at 25 Hz.
ChartFx is a high-performance scientific charting library for JavaFX, optimized for real-time visualization of large datasets up to 5 million data points at 25 Hz update rates. It is a complete rewrite of JavaFX's default chart implementation, designed to overcome performance bottlenecks while providing extensive features for scientific and financial applications. The library includes a flexible plugin system, a comprehensive math sub-library, and supports various plot types like error bars, histograms, and contour plots.
Scientists, engineers, and developers working on real-time data visualization applications in fields like digital signal processing, physics, finance, and lab instrumentation. It is particularly suited for JavaFX-based control room UIs and applications requiring high-performance rendering of large datasets.
Developers choose ChartFx for its exceptional performance with large datasets, extensive scientific charting features, and flexible plugin system. It offers up to two orders of magnitude better performance than JavaFX's default charts while maintaining compatibility and extensibility, making it ideal for demanding real-time visualization scenarios.
A scientific charting library focused on performance optimised real-time data visualisation at 25 Hz update rates for data sets with a few 10 thousand up to 5 million data points.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Achieves 25 Hz update rates for datasets up to 5 million points using a Canvas backend, with performance up to two orders of magnitude better than JavaFX's default charts in tests.
Supports error bars, contour plots, heatmaps, histograms, and polar plots, along with financial charts like candlesticks, tailored for digital signal processing and lab instrumentation.
Includes built-in plugins for zoom, pan, data editing, and parameter measurements (e.g., rise-time, RMS), and allows custom plugin development for added interactivity.
Comes with a math sub-library for FFTs, filtering, fitting, and linear algebra, reducing dependency on external libraries for common scientific computations.
Requires specific JVM flags and module adjustments to run, as detailed in the README, which can be cumbersome for developers unfamiliar with JavaFX's module system post-JDK 9.
The README admits that despite improvements, JavaFX graphics performance remains behind libraries like Qt Charts in direct comparisons, especially for very high-frequency updates.
Focused on scientific and financial niches, with a smaller community and reliance on sample code rather than comprehensive tutorials, which may slow onboarding.