Skip to main content

Scientific plottingmade powerful

Kuva is a Rust library for creating publication-quality scientific visualizations. With 25 plot types, multiple output formats, and extensive customization options.

example.rs

Quick start

Get up and running with Kuva in minutes

1

Install Kuva

Add Kuva to your Cargo.toml:
[dependencies]
kuva = "0.1"

# Optional: Enable PNG output
kuva = { version = "0.1", features = ["png"] }

# Optional: Enable PDF output
kuva = { version = "0.1", features = ["pdf"] }

# Optional: Enable all features
kuva = { version = "0.1", features = ["full"] }
Or install the CLI tool:
cargo install kuva --features cli
2

Create your first plot

Use the library API to create a scatter plot:
use kuva::prelude::*;

let plot = ScatterPlot::new()
    .with_data(vec![(1.0_f64, 2.0), (3.0, 5.0), (5.0, 4.0)])
    .with_color("steelblue")
    .with_legend("samples");

let plots: Vec<Plot> = vec![plot.into()];
let layout = Layout::auto_from_plots(&plots)
    .with_title("My Plot")
    .with_x_label("X")
    .with_y_label("Y");

let svg = render_to_svg(plots, layout);
std::fs::write("plot.svg", svg).unwrap();
Or use the CLI:
kuva scatter data.tsv --x x --y y -o plot.svg
3

Explore plot types

Kuva supports 25 different plot types including scatter, line, bar, histogram, violin, volcano, manhattan, phylogenetic trees, sankey diagrams, and more.Check out the plot types overview to see all available options.

Key features

Everything you need for scientific visualization

25 plot types

From basic scatter and line plots to specialized scientific visualizations like volcano plots, manhattan plots, and phylogenetic trees.

Multiple output formats

Export to SVG, PNG, PDF, or render directly in the terminal with Unicode graphics and 24-bit color.

Extensive customization

Built-in themes, color palettes, custom layouts, annotations, and full control over every visual element.

CLI tool

Command-line interface for quick plotting from TSV/CSV files, perfect for HPC and remote workflows.

Multi-plot layouts

Create complex figure layouts with shared axes, merged cells, and coordinated legends.

Bioinformatics ready

Specialized plots for genomics and bioinformatics including volcano, manhattan, synteny, and brick plots.

Ready to start plotting?

Install Kuva and create your first scientific visualization in minutes.