Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Quick Start

Your first chart in under a minute

SeraPlot is a unified plotting library that ships the same API to nine languages. Pick your stack, install one package, and render an interactive chart with three lines of code.

⚡ Native Rust core 📊 60+ chart types 🌐 9 languages 🪶 Zero JS dependencies
pip install seraplot
npm install seraplot
npm install seraplot
npm install --save-dev @types/seraplot
cargo add seraplot
install.packages("seraplot")
import seraplot as sp

chart = sp.bar( title="Sales by Region", labels=["North", "South", "East", "West"], values=[120, 85, 200, 140], gridlines=True, show_text=True, ) chart.show()

const sp = require("seraplot");

const chart = sp.bar({ title: "Sales by Region", labels: ["North", "South", "East", "West"], values: [120, 85, 200, 140], gridlines: true, show_text: true, }); chart.show();

import * as sp from "seraplot";

const chart = sp.bar({ title: "Sales by Region", labels: ["North", "South", "East", "West"], values: [120, 85, 200, 140], gridlines: true, show_text: true, }); chart.show();

// Cargo.toml: [dependencies] seraplot = "2"
use seraplot::Chart;

fn main() { let chart = Chart::bar() .title("Sales by Region") .labels(["North", "South", "East", "West"]) .values([120.0, 85.0, 200.0, 140.0]) .gridlines(true) .show_text(true) .build(); chart.show(); }

library(seraplot)

chart <- sp_bar( title = "Sales by Region", labels = c("North", "South", "East", "West"), values = c(120, 85, 200, 140), gridlines = TRUE, show_text = TRUE ) chart$show()

💡 Jupyter / notebook: the chart renders inline automatically — no .show() needed.
chart.save("sales.html")    # standalone HTML
chart.save("sales.png")     # raster
chart.save("sales.svg")     # vector
chart.save("sales.html");
chart.save("sales.png");
chart.save("sales.svg");
chart.save("sales.html");
chart.save("sales.png");
chart.save("sales.svg");
#![allow(unused)]
fn main() {
chart.save("sales.html")?;
chart.save("sales.png")?;
chart.save("sales.svg")?;
}
chart$save("sales.html")
chart$save("sales.png")
chart$save("sales.svg")

Where to next?

📊 Chart catalog

Browse bar, line, scatter, heatmaps and 60+ more chart types — each with copy-paste examples in nine languages.

🤖 Machine learning

Train, fit and visualise scikit-learn-style models directly on chart data: regression, clustering, trees, SVM and more.

🎨 Themes & palettes

Customise colors with palettes, themes and per-chart backgrounds.

Votre premier graphique en moins d'une minute

SeraPlot est une bibliothèque graphique unifiée qui expose la même API dans neuf langages. Choisissez votre stack, installez un seul paquet, et générez un graphique interactif en trois lignes.

⚡ Cœur Rust natif 📊 60+ types de graphiques 🌐 9 langages 🪶 Zéro dépendance JS
pip install seraplot
npm install seraplot
npm install seraplot
npm install --save-dev @types/seraplot
cargo add seraplot
install.packages("seraplot")
import seraplot as sp

chart = sp.bar( title="Ventes par région", labels=["Nord", "Sud", "Est", "Ouest"], values=[120, 85, 200, 140], gridlines=True, show_text=True, ) chart.show()

const sp = require("seraplot");

const chart = sp.bar({ title: "Ventes par région", labels: ["Nord", "Sud", "Est", "Ouest"], values: [120, 85, 200, 140], gridlines: true, show_text: true, }); chart.show();

import * as sp from "seraplot";

const chart = sp.bar({ title: "Ventes par région", labels: ["Nord", "Sud", "Est", "Ouest"], values: [120, 85, 200, 140], gridlines: true, show_text: true, }); chart.show();

// Cargo.toml: [dependencies] seraplot = "2"
use seraplot::Chart;

fn main() { let chart = Chart::bar() .title("Ventes par région") .labels(["Nord", "Sud", "Est", "Ouest"]) .values([120.0, 85.0, 200.0, 140.0]) .gridlines(true) .show_text(true) .build(); chart.show(); }

library(seraplot)

chart <- sp_bar( title = "Ventes par région", labels = c("Nord", "Sud", "Est", "Ouest"), values = c(120, 85, 200, 140), gridlines = TRUE, show_text = TRUE ) chart$show()

💡 Jupyter / notebook : le graphique s'affiche automatiquement — pas besoin d'appeler .show().
chart.save("ventes.html")   # HTML autonome
chart.save("ventes.png")    # raster
chart.save("ventes.svg")    # vectoriel
chart.save("ventes.html");
chart.save("ventes.png");
chart.save("ventes.svg");
chart.save("ventes.html");
chart.save("ventes.png");
chart.save("ventes.svg");
#![allow(unused)]
fn main() {
chart.save("ventes.html")?;
chart.save("ventes.png")?;
chart.save("ventes.svg")?;
}
chart$save("ventes.html")
chart$save("ventes.png")
chart$save("ventes.svg")

Et après ?

📊 Catalogue de graphiques

Découvrez barres, lignes, nuages de points, heatmaps et 60+ autres types — chacun avec des exemples copier-coller dans neuf langages.

🤖 Machine learning

Entraînez et visualisez des modèles façon scikit-learn directement sur vos données : régression, clustering, arbres, SVM…

🎨 Thèmes & palettes

Personnalisez les couleurs avec palettes, thèmes et arrière-plans par graphique.

⚡ Streaming & big data

Affichez des millions de points grâce au sous-échantillonnage, au streaming live et aux mises à jour diff.