A header-only C++ library for creating interactive data visualizations using the Plotly.js figure spec.
Plotly++ is a header-only C++ graphing library that provides a type-safe interface to the Plotly.js figure specification. It allows C++ developers to create interactive data visualizations by generating HTML files that render in web browsers, solving the problem of integrating rich, interactive charts into C++ applications without relying on heavy graphics libraries.
C++ developers and researchers working on data analysis, scientific computing, or simulation projects who need to generate interactive visualizations directly from their C++ codebases.
Developers choose Plotly++ for its simplicity, strong type safety, and ability to leverage the full power of Plotly.js visualizations from C++ without requiring external rendering libraries or complex dependencies.
Plotly for C++. A C++ interface to the Plotly.js figure spec, for creating interactive data visualizations.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Just include headers and a JSON library; no complex build system required, making integration straightforward as highlighted in the README.
Provides compile-time type safety with a fluent syntax, enhancing IDE auto-complete and reducing runtime errors, as emphasized in the philosophy.
Supports over 40 Plotly.js chart types, including 3D plots and maps, demonstrated in the comprehensive example gallery.
Accepts data from standard C++ containers like vectors and spans, with extensions for custom types such as Eigen matrices via traits specializations.
Can generate full HTML pages or JSON payloads for dynamic plot serving in C++ web applications, enabling client-side rendering without extra tools.
Plots require a web browser for rendering, limiting use in environments without graphical interfaces, despite offline rendering options.
Primarily relies on Plotly.js documentation for detailed parameters, which may not be C++-specific and could lead to integration hurdles.
Designed around nlohmann JSON; swapping to another library requires manual adjustments, as admitted in the dependencies section.
Being auto-generated from Plotly.js schema, it might inherit breaking changes or complexities from upstream updates, with limited C++-focused error handling.