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.
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.
Java dataframe and visualization library
Master repository for the JGraphT project
XChart is a light-weight Java library for plotting data.
JGraphX is a Java Swing diagramming library for visualizing and interacting with node-edge graphs, not charts. It enables developers to build applications like workflow editors, organizational charts, UML tools, and network visualizations with support for XML stencils, import/export, and automatic layouting. ## Key Features - **Graph Visualization** — Render and display mathematical graphs with nodes and edges in Java Swing applications. - **Interactive Editing** — Provides tools for users to create, modify, and interact with graph elements directly. - **XML Stencils Support** — Import and export graph definitions using XML-based stencil formats. - **Automatic Layouting** — Algorithms to automatically position nodes and edges for cleaner visual representations. - **Extensive Examples** — Includes sample applications from HelloWorld to a complete GraphEditor for reference. ## Philosophy JGraphX is designed as a specialized library for graph visualization rather than general charting, focusing on flexibility and interactivity for diagramming applications.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.