loony-bean / textplots-rs

Terminal plotting library for Rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

textplots Crates.io

Terminal plotting library for using in Rust CLI applications. Should work well in any unicode terminal with monospaced font.

It is inspired by TextPlots.jl which is inspired by Drawille.

Currently it features only drawing line charts on Braille canvas, but could be extended to support other canvas and chart types just like UnicodePlots.jl or another cool terminal plotting library.

Contributions are very much welcome!

Usage

Using as a library

use textplots::{Chart, Plot, Shape};

fn main() {
    println!("y = sin(x) / x");

    Chart::default()
        .lineplot(&Shape::Continuous(Box::new(|x| x.sin() / x)))
        .display();
}

Using as a binary

textplots '10*x + x^2 + 10*sin(x)*abs(x)' --xmin=-20 --xmax=20

Bonus! Colored plots (see examples)

Building

Library

cargo build

Binary

cargo build --bin --release textplots --features="tool"

About

Terminal plotting library for Rust


Languages

Language:Rust 99.3%Language:Shell 0.7%