# 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()
Metadata
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 | Provenance | |
|---|---|---|---|---|
| diagram-0.2.28.tar.gz | 96.5 kB | Without provenance | 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
|
Security for diagram 0.2.28
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.