[][src]Crate textplots

Terminal plotting library for using in 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 plots on Braille canvas, but could be extended to support other canvas and chart types just like UnicodePlots.jl or any other cool terminal plotting library.

Contributions are very much welcome!

Usage

[dependencies]
textplots = "0.3"
extern crate textplots;

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

fn main() {
    println!("y = sin(x) / x");
    Chart::default().lineplot( Shape::Continuous( |x| x.sin() / x )).display();
}

It will display something like this:

Default viewport size is 120 x 60 points, with X values ranging from -10 to 10. You can override the defaults calling new.

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

println!("y = cos(x), y = sin(x) / 2");
Chart::new(180, 60, -5.0, 5.0)
    .lineplot( Shape::Continuous( |x| x.cos() ))
    .lineplot( Shape::Continuous( |x| x.sin() / 2.0 ))
    .display();

You could also plot series of points. See Shape and examples for more details.

Modules

scale

Transformations between domain and range.

utils

Helpers for passing the data into plots.

Structs

Chart

Controls the drawing.

Enums

Shape

Specifies different kinds of plotted data.

Traits

Plot

Provides an interface for drawing plots.