Skip to main content

Text mode diagrams using UTF-8 characters and fancy colors

Project description

# diagram

Text mode diagrams using UTF-8 characters and fancy colors (using Python).

## Features

  • Axial graphs
  • Horizontal and vertical bar graphs
  • Supports both 3 bit (16 color) and 8 bit (256 color) mode colors with various pre-defined palettes (see below)
  • UTF-8 text graphics

## Installation

It’s recommended to use pip to install/update.

To install:

$ sudo pip install diagram

To update:

$ sudo pip install -U diagram

To install from github:

$ sudo pip install git+https://github.com/tehmaze/diagram.git

## Examples

Pictures say more than a thousand words.

### Axis graph

![Axis Graph](doc/axisgraph.png)

### Horizontal bar graph

![Horizontal bar graph](doc/horizontalbar.png)

Drawing characters used:

▏ ▎ ▍ ▌ ▋ ▊ ▉ █

### Vertical bar graph

![Vertical bar graph](doc/verticalbar.png)

Drawing characters used:

▁ ▂ ▃ ▄ ▅ ▆ ▇ █

## Usage

Use diagram –help for documentation:

usage: diagram [-h] [-G] [-H] [-V] [-a] [-A] [-c] [-C] [-l] [-L]
[-f function] [-p palette] [-x characters] [-y characters] [-r] [-b] [-s SLEEP] [-i file] [-o file] [-e ENCODING]
optional arguments:
-h, --help show this help message and exit
optional drawing mode:
-G, --graph axis drawing mode (default)
-H, --horizontal-bars
 horizontal drawing mode
-V, --vertical-bars
 vertical drawing mode
optional drawing arguments:
-a, --axis draw axis (default: yes)
-A, --no-axis don’t draw axis
-c, --color use colors (default: yes)
-C, --no-color don’t use colors
-l, --legend draw y-axis legend (default: yes)
-L, --no-legend
 don’t draw y-axis legend
-f function, --function function
 curve manipulation function, use “help” for a list
-p palette, --palette palette
 palette name, use “help” for a list
-x characters, --width characters
 drawing width (default: auto)
-y characters, --height characters
 drawing height (default: auto)
-r, --reverse reverse draw graph
optional input and output arguments:
-b, --batch batch mode (default: no)
-k, --keys input are key-value pairs (default: no) (1)
-s SLEEP, --sleep SLEEP
 batch poll sleep time (default: none)
-i file, --input file
 input file (default: stdin)
-o file, --output file
 output file (default: stdout)
-e ENCODING, --encoding ENCODING
 output encoding (default: auto)

(1): only works for the horizontal bar graph, the first argument is the key and the second value is the data point.

### –function …

The parameter can be just the function name or the function name with arguments, for example:

diagram -f log

or, with an argument:

diagram -f log:e

#### log

Symmetrical logarithmic scale.

#### smooth

Smooth (and optionally differentiate) data with a Savitzky-Golay filter.

### –palette …

#### default / spectrum

![Palette Spectrum](doc/palette-spectrum.png)

#### grey

![Palette Grey](doc/palette-grey.png)

#### red

![Palette Red](doc/palette-red.png)

#### green

![Palette Green](doc/palette-green.png)

#### blue

![Palette Blue](doc/palette-blue.png)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
diagram-0.2.25-py2-none-any.whl (13.4 kB) Copy SHA256 hash SHA256 Wheel 2.7 Dec 24, 2015
diagram-0.2.25.tar.gz (95.7 kB) Copy SHA256 hash SHA256 Source None Dec 24, 2015

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page