# diagram
Text mode diagrams using UTF-8 characters and fancy colors (using Python).
[![Build Status][cib]][ci] [![Code Health][lsb]][ls]
[ci]: https://travis-ci.org/tehmaze/diagram [cib]: https://travis-ci.org/tehmaze/diagram.svg [ls]: https://landscape.io/github/tehmaze/diagram/issue/9/custom_colors [lsb]: https://landscape.io/github/tehmaze/diagram/issue/9/custom_colors/landscape.svg?style=flat
## 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
### System requirements for Fedora Core 24:
dnf install ncurses-devel ncurses-compat-libs
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

### Horizontal bar graph

Drawing characters used:
▏ ▎ ▍ ▌ ▋ ▊ ▉ █
### Vertical bar graph

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

#### grey

#### red

#### green

#### blue

## Library Usage
from diagram import DGWrapper gram = DGWrapper(data=[points, values]) gram.show()
Release files for diagram 0.2.28
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| diagram-0.2.28.tar.gz | 96.5 kB | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| diagram-0.2.28-py3-none-any.whl | Python 3 | none | any | Details |
| diagram-0.2.28-py2-none-any.whl | Python 2 | none | any | Details |
Total release size: 124.0 kB
Release files / diagram-0.2.28.tar.gz
| Download URL | diagram-0.2.28.tar.gz |
|---|---|
| Size | 96.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cad92799c4340bc57a757f598024779f4866fcda49f17764d0f148a57d3f9d5c
|
|
BLAKE2b-256 checksum How to use checksums |
6cbb98ad98f7e3df872729db276de7c6dd36a97a8c480651b2caf6dafaf051f4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.9.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/2.7.10
|
Release files / diagram-0.2.28-py3-none-any.whl
| Download URL | diagram-0.2.28-py3-none-any.whl |
|---|---|
| Size | 13.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
996663dff771b6e45ed983647808caf89de22f7eb860b02822b31f85460729ab
|
|
BLAKE2b-256 checksum How to use checksums |
701694b01e4773cc4c23be369eb5b0b7de8a9f7e572672f40f5a1ca5d1b9e41b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.9.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/2.7.10
|
Release files / diagram-0.2.28-py2-none-any.whl
| Download URL | diagram-0.2.28-py2-none-any.whl |
|---|---|
| Size | 14.5 kB |
| Tags | Python 2 |
|
SHA-256 checksum How to use checksums |
1d3529751c3b0c6437fa78abf91b6d5709cdc8a6a963c3e548c36dab7b607e41
|
|
BLAKE2b-256 checksum How to use checksums |
a800adda52528ca8fcb99b73f828012be192256aa81ebab4bc864816141e3dd8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.9.1 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.1 CPython/2.7.10
|