SkillAgentSearch skills...

Plotlypp

Plotly for C++. A C++ interface to the Plotly.js figure spec, for creating interactive data visualizations.

Install / Use

/learn @jimmyorourke/Plotlypp

README

Pʟᴏᴛʟʏ++

CI MacOS Clang CI Ubuntu GCC CI Ubuntu Clang CI Windows MSVC

Plotly++ is a header-only C++ graphing library for creating interactive plots and charts, with rendering powered by Plotly.js. Plots are generated as HTML, providing interactive visualizations that can be viewed in any modern web browser.

This makes Plotly++ extremely simple and lightweight for C++ applications; no graphics or rendering libraries or frameworks are required! Plotly++'s only additional dependency is a JSON library.

The Plotly++ API provides strong compile-time type safety, enabling active IDE auto-complete and suggestions.

The more than 40 chart types supported by Plotly.js are supported by Plotly++.

Plotly++ is largely auto-generated from the official Plotly.js schema.

<details> <summary><b>Table of Contents</b></summary> </details>

Examples

A comprehensive set of examples demonstrating various chart types can be found in the examples/ directory and the generated interactive plots can be viewed live: View Live Examples

Gallery

Each of the thumbnails below is chart from the the examples/ directory. Click the thumbnail to open the interactive HTML version.

<table width="100%" cellspacing="0" cellpadding="0" style="border-collapse: collapse;"> <tr> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.io/plotlypp/examples/output/area_polar_chart.html"><img src="./examples/output/png_exports/area_polar_chart.png" width="100%" style="border-radius: 0px; border: 1px solid #d0d7de;" /></a> </td> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.io/plotlypp/examples/output/asymmetric_error_bars.html"><img src="./examples/output/png_exports/asymmetric_error_bars.png" width="100%" style="border-radius: 0px; border: 1px solid #d0d7de;" /></a> </td> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.io/plotlypp/examples/output/basic_funnel.html"><img src="./examples/output/png_exports/basic_funnel.png" width="100%" style="border-radius: 0px; border: 1px solid #d0d7de;" /></a> </td> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.io/plotlypp/examples/output/basic_horizontal_violin_plot.html"><img src="./examples/output/png_exports/basic_horizontal_violin_plot.png" width="100%" style="border-radius: 0px; border: 1px solid #d0d7de;" /></a> </td> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.io/plotlypp/examples/output/basic_overlaid_area.html"><img src="./examples/output/png_exports/basic_overlaid_area.png" width="100%" style="border-radius: 0px; border: 1px solid #d0d7de;" /></a> </td> </tr> <tr> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.io/plotlypp/examples/output/basic_pie.html"><img src="./examples/output/png_exports/basic_pie.png" width="100%" style="border-radius: 0px; border: 1px solid #d0d7de;" /></a> </td> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.io/plotlypp/examples/output/bubble_chart_sized_by_variable.html"><img src="./examples/output/png_exports/bubble_chart_sized_by_variable.png" width="100%" style="border-radius: 0px; border: 1px solid #d0d7de;" /></a> </td> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.io/plotlypp/examples/output/bubble_with_marker_size_and_color.html"><img src="./examples/output/png_exports/bubble_with_marker_size_and_color.png" width="100%" style="border-radius: 0px; border: 1px solid #d0d7de;" /></a> </td> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.io/plotlypp/examples/output/carpet_with_scatter_trace.html"><img src="./examples/output/png_exports/carpet_with_scatter_trace.png" width="100%" style="border-radius: 0px; border: 1px solid #d0d7de;" /></a> </td> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.io/plotlypp/examples/output/categorical_dot_plot.html"><img src="./examples/output/png_exports/categorical_dot_plot.png" width="100%" style="border-radius: 0px; border: 1px solid #d0d7de;" /></a> </td> </tr> <tr> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.io/plotlypp/examples/output/colored_and_styled_histograms.html"><img src="./examples/output/png_exports/colored_and_styled_histograms.png" width="100%" style="border-radius: 0px; border: 1px solid #d0d7de;" /></a> </td> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.io/plotlypp/examples/output/colored_box_plot.html"><img src="./examples/output/png_exports/colored_box_plot.png" width="100%" style="border-radius: 0px; border: 1px solid #d0d7de;" /></a> </td> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.io/plotlypp/examples/output/colorscale_for_contour_plot.html"><img src="./examples/output/png_exports/colorscale_for_contour_plot.png" width="100%" style="border-radius: 0px; border: 1px solid #d0d7de;" /></a> </td> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.io/plotlypp/examples/output/continuous_filled_error_bars.html"><img src="./examples/output/png_exports/continuous_filled_error_bars.png" width="100%" style="border-radius: 0px; border: 1px solid #d0d7de;" /></a> </td> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.io/plotlypp/examples/output/data_labels_on_plot.html"><img src="./examples/output/png_exports/data_labels_on_plot.png" width="100%" style="border-radius: 0px; border: 1px solid #d0d7de;" /></a> </td> </tr> <tr> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.io/plotlypp/examples/output/donut.html"><img src="./examples/output/png_exports/donut.png" width="100%" style="border-radius: 0px; border: 1px solid #d0d7de;" /></a> </td> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.io/plotlypp/examples/output/gen2d_histogram_bivariate_normal.html"><img src="./examples/output/png_exports/gen2d_histogram_bivariate_normal.png" width="100%" style="border-radius: 0px; border: 1px solid #d0d7de;" /></a> </td> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.io/plotlypp/examples/output/gen2d_histogram_contour.html"><img src="./examples/output/png_exports/gen2d_histogram_contour.png" width="100%" style="border-radius: 0px; border: 1px solid #d0d7de;" /></a> </td> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.io/plotlypp/examples/output/gen3d_line_spiral.html"><img src="./examples/output/png_exports/gen3d_line_spiral.png" width="100%" style="border-radius: 0px; border: 1px solid #d0d7de;" /></a> </td> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.io/plotlypp/examples/output/gen3d_scatter_with_colorscaling_and_marker_styling.html"><img src="./examples/output/png_exports/gen3d_scatter_with_colorscaling_and_marker_styling.png" width="100%" style="border-radius: 0px; border: 1px solid #d0d7de;" /></a> </td> </tr> <tr> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.io/plotlypp/examples/output/gen3d_subplots.html"><img src="./examples/output/png_exports/gen3d_subplots.png" width="100%" style="border-radius: 0px; border: 1px solid #d0d7de;" /></a> </td> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.io/plotlypp/examples/output/gen3d_surface_contours.html"><img src="./examples/output/png_exports/gen3d_surface_contours.png" width="100%" style="border-radius: 0px; border: 1px solid #d0d7de;" /></a> </td> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.io/plotlypp/examples/output/gen3d_surface_torus.html"><img src="./examples/output/png_exports/gen3d_surface_torus.png" width="100%" style="border-radius: 0px; border: 1px solid #d0d7de;" /></a> </td> <td align="center" width="20%" valign="top" style="padding: 0px;"> <a href="https://jimmyorourke.github.i
View on GitHub
GitHub Stars136
CategoryProduct
Updated8d ago
Forks6

Languages

C++

Security Score

100/100

Audited on Apr 1, 2026

No findings