asciigraph 0.7.0

Ascii Graph
Documentation

Ascii Graph

Draw beautiful graphs in ascii art!

Showcase

let mut g1 = Graph::default();

g1.set_1d_data(&vec![0, 1, 1, 0, 2, 0, 1, 2, 0, 0, 0, 1, 0, 1000])
.set_y_min(-1)
.set_y_max(3)
.set_plot_height(20)
.set_block_width(3)
.set_y_label_interval(1)
.set_title("HEllo World!123123123")
.set_paddings([1;4])
.set_big_title(true)
.set_x_axis_label("x_axis_label\nxz")
.set_y_axis_label("y_axis_label\nyy");

println!("{g1}");

let mut g2 = Graph::default();
g2.set_1d_data(&vec![0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16])
.set_plot_height(4)
.set_y_min("0.0")
.set_y_max(16.0)
.set_block_width(3)
.set_y_label_interval(1);

println!("{g2}");

let mut g3 = Graph::default();
g3.set_1d_data::<u32>(&vec![1])
.set_block_width(12);

println!("{g3}");

let mut g4 = Graph::default();
g4.set_1d_data(
    &vec![
        vec![32; 1024],
        vec![16, 1024],
        vec![32; 1024],
    ].concat()
);

println!("{g4}");

let mut g5 = Graph::default();
g5.set_1d_data(&vec![1001, 1002, 1003, 1004, 1003, 1002, 1001, 1, 2, 3, 1000, 1006]);

println!("{g5}");
 ▌ ▐ ▛▀▀ ▜▌ ▜▌        ▌ ▐        ▜▌   ▐ ▐▌ ▟▌ ▞▀▚ ▞▀▚ ▟▌ ▞▀▚ ▞▀▚ ▟▌ ▞▀▚ ▞▀▚
 ▛▀▜ ▛▀▀ ▐▌ ▐▌ ▞▀▚    ▌▄▐ ▞▀▚ ▄▄ ▐▌ ▞▀▜ ▐▌ ▐▌   ▞  ▝▌ ▐▌   ▞  ▝▌ ▐▌   ▞  ▝▌
 ▌ ▐ ▙▄▄ ▐▙ ▐▙ ▚▄▞    ▛ ▜ ▚▄▞ ▌  ▐▙ ▚▄▟ ▗▖ ▟▙ ▗▙▄ ▚▄▞ ▟▙ ▗▙▄ ▚▄▞ ▟▙ ▗▙▄ ▚▄▞


       x_axis_label
       xz
           1062│
           1044│
           1026│
           1008│                                       ▄▄▄
       991.0892│                                       ███
       973.2678│                                       ███
       955.4464│                                       ███
       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
          2.125│            ▄▄▄      ▄▄▄               ███
       1.951923│            ███      ███               ███
       1.778846│            ███      ███               ███
       1.605769│            ███      ███               ███
       1.432692│            ███      ███               ███
       1.259615│            ███      ███               ███
       1.086538│   ▄▄▄▄▄▄   ███   ▄▄▄███         ▄▄▄   ███
       0.913461│   ██████   ███   ██████         ███   ███
       0.740384│   ██████   ███   ██████         ███   ███
       0.567307│   ██████   ███   ██████         ███   ███
        0.39423│   ██████   ███   ██████         ███   ███
       0.221153│   ██████   ███   ██████         ███   ███
       0.048076│▆▆▆██████▆▆▆███▆▆▆██████▆▆▆▆▆▆▆▆▆███▆▆▆███y_axis_label
               ╰──────────────────────────────────────────yy
                0     2     4     6     8     10    12
                   1     3     5     7     9     11    13

16│                                       ▂▂▂▄▄▄▆▆▆███
12│                           ▂▂▂▄▄▄▆▆▆███████████████
 8│               ▂▂▂▄▄▄▆▆▆███████████████████████████
 4│   ▂▂▂▄▄▄▆▆▆███████████████████████████████████████
  ╰───────────────────────────────────────────────────
   0     2     4     6     8     10    12    14    16
      1     3     5     7     9     11    13    15
 8│
  │
 7│
  │
 6│
  │
 5│
  │
 4│
  │
 3│
  │
 2│
  │
 1│████████████
  │████████████
 0│████████████
  │████████████
-1│████████████
  │████████████
-2│████████████
  │████████████
-3│████████████
  │████████████
-4│████████████
  │████████████
-5│████████████
  │████████████
  ╰────────────
   0

 1086│
     │
 1061│
     │
 1036│
     │                                        █
 1011│                                        █
     │                                        █
986.8│                                        █
     │                                        █
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   33│                                        █
     │███████████████████████████████████████ ████████████████████████████████████████
   31│███████████████████████████████████████ ████████████████████████████████████████
     │███████████████████████████████████████ ████████████████████████████████████████
   29│███████████████████████████████████████ ████████████████████████████████████████
     │███████████████████████████████████████ ████████████████████████████████████████
   27│███████████████████████████████████████ ████████████████████████████████████████
     │███████████████████████████████████████ ████████████████████████████████████████
   25│███████████████████████████████████████ ████████████████████████████████████████
     │███████████████████████████████████████ ████████████████████████████████████████
   23│███████████████████████████████████████ ████████████████████████████████████████
     │███████████████████████████████████████ ████████████████████████████████████████
   21│███████████████████████████████████████ ████████████████████████████████████████
     │███████████████████████████████████████ ████████████████████████████████████████
   19│███████████████████████████████████████ ████████████████████████████████████████
     │███████████████████████████████████████ ████████████████████████████████████████
   17│███████████████████████████████████████ ████████████████████████████████████████
     │████████████████████████████████████████████████████████████████████████████████
     ╰────────────────────────────────────────────────────────────────────────────────
      0  51  153  307  410  563  666  820  922  1076  1230  1383  1537  1691  1845
       0  102  205  358  461  615  717  871  1024  1127  1281  1435  1588  1742  1896
    1006│
        │                                                                          ██████
    1005│                                                                          ██████
        │                                                                          ██████
    1004│                                                                          ██████
        │                                                                          ██████
    1004│                    ▄▄▄▄▄▄▄                                               ██████
        │                    ███████                                               ██████
    1003│                    ███████                                               ██████
        │              ▄▄▄▄▄▄███████▄▄▄▄▄▄▄                                        ██████
    1002│              ████████████████████                                        ██████
        │              ████████████████████                                        ██████
    1002│       ▆▆▆▆▆▆▆████████████████████▆▆▆▆▆▆                                  ██████
        │       █████████████████████████████████                                  ██████
    1001│       █████████████████████████████████                                  ██████
        │███████████████████████████████████████████████                           ██████
    1000│███████████████████████████████████████████████                           ██████
        │███████████████████████████████████████████████                    ▂▂▂▂▂▂▂██████
999.9802│███████████████████████████████████████████████                    █████████████
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   3.125│███████████████████████████████████████████████             ▄▄▄▄▄▄▄█████████████
        │███████████████████████████████████████████████             ████████████████████
   2.625│███████████████████████████████████████████████             ████████████████████
        │███████████████████████████████████████████████             ████████████████████
   2.125│███████████████████████████████████████████████       ▄▄▄▄▄▄████████████████████
        │███████████████████████████████████████████████       ██████████████████████████
   1.625│███████████████████████████████████████████████       ██████████████████████████
        │███████████████████████████████████████████████       ██████████████████████████
   1.125│███████████████████████████████████████████████▄▄▄▄▄▄▄██████████████████████████
        ╰────────────────────────────────────────────────────────────────────────────────
         0             2            4            6             8            10
                1            3             5            7            9             11