SkillAgentSearch skills...

G3p

Modern C++ interface library for Gnuplot with Jupyter support

Install / Use

/learn @arminms/G3p

README

<div align="center"> <a href="https://github.com/arminms/g3p"> <img width="256" heigth="256" src="docs/images/g3p_logo_bold.svg"> </a> <h1>G3P</h1> </div>

GitHub Release GitHub License Build and Test (Linux/macOS/Windows) GitHub issues view documentation Binder

G3P (GnuPlot Plus Plus) is a tiny but mighty header-only Modern C++ interface library for gnuplot. It is the most natural and intuitive way of adding gnuplot support to any C++ program.

A unique feature of G3P is the ability to embed plots/animations in Jupyter C++ Notebooks with Xeus-Cling kernel for rapid prototyping. If you have Docker, an easy way to learn about this feature is to run the prebuilt container:

docker run -p 8888:8888 -it --rm asobhani/g3p

Then click on the provided URL to connect to the Jupyter Server in the container and open 01_the_basics.ipynb notebook.

If you don't have Docker, an easier but much slower way is to click on Binder badge to launch it on Binder.

Key features include:

  • 🖥️ Multiplatform (Linux/macOS/Windows)
  • 💥 No dependencies (except gnuplot)
  • 🖇️ Header-only (only one header file)
  • 🪶 Lightweight (~300 lines of code)
  • ⚡ Fast (all i/o implemented with C API and C++11 threading)
  • 📊 Support embedding plots/animations in Jupyter C++ Notebooks backed by Xeus-Cling kernel
  • 🏫 Easy to learn. If you know gnuplot, you're already set.
  • 📥 Easily integrates with existing libraries and code (via CMake configs)
  • ➡️ Support fluent interface
  • 🔀 Support both C (%d,%f, ...) and C++ (<<) conventions for passing arguments to gnuplot
  • 🧪 Include Catch2 unit tests
  • 📖 Well documented

Quick example

#include <g3p/gnuplot>

g3p::gnuplot gp;
gp << "set samples" << 200 << "\n"
   << "set style data points\n"
   << "plot [-10:10] sin(x),atan(x),cos(atan(x))\n"
<p align="center"><img src="docs/images/xeus-cling.png"></p>

Please refer to the interactive documentation for more information: 👉 view documentation 👈

Related Skills

View on GitHub
GitHub Stars37
CategoryData
Updated1mo ago
Forks0

Languages

CMake

Security Score

95/100

Audited on Feb 15, 2026

No findings