cli_graph 0.3.0

Small crate to generate simple CLI graphs
Documentation
  • Coverage
  • 32.14%
    9 out of 28 items documented0 out of 4 items with examples
  • Size
  • Source code size: 21.28 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 2.66 MB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • jamieapps101

cli_graph

By Jamie Apps

A crate to allow generation of simple CLI graphs

Current Features:

  • Bar and Scatter Graph modes
  • Coloured customisable graph ticks
  • Customisable y-axis scales
  • Multi-Line graphs for large x-axis ranges
  • Variable height and width graphs

Example:

let colours : Vec<Colour> = vec![Colour::Red, Colour::Green, Colour::Blue, Colour::Orange, Colour::Cyan];
let names   : Vec<String> = vec!["apples","oranges","bananas","grapes","mangos"].iter().map(|&s| s.to_owned() ).collect();
let values  : Vec<f64>    = vec![5.0,3.0,8.0,2.0,7.2];
let gd = GraphData::from((names, values, colours));
let gc = GraphConfig::new().max_height(11);
graph(gd, gc, GraphType::Bar).unwrap();

gives:

8   |               #                     
    |               #                     
6.5 |               #              #      
    |               #              #      
5   |#              #              #      
    |#              #              #      
3.5 |#              #              #      
    |#      #       #              #      
2   |#      #       #       #      #      
    ------------------------------------------
     apples oranges bananas grapes mangos

(Colours not reflected in markdown example)

Note : This crate is still quite young and it's API will likely change. If this is an issue, please constrain the version in the Cargo.toml.