Crate textplots[][src]

Expand description

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!


textplots = "0.6"
use textplots::{Chart, Plot, Shape};

println!("y = sin(x) / x");

    .lineplot(&Shape::Continuous(Box::new(|x| x.sin() / x)))

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(Box::new(|x| x.cos())))
    .lineplot(&Shape::Continuous(Box::new(|x| x.sin() / 2.0)))

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


Transformations between domain and range.

Helpers for passing the data into plots.


Controls the drawing.


Specifies different kinds of plotted data.


Provides an interface for drawing colored plots.

Provides an interface for drawing plots.