Bar charts in ASCII
Project description
asciibars
asciibars is a Python module for plotting bar charts in ASCII.
How to install it
pip install asciibars
How to use it
Import the module:
import asciibars
Define your data with both labels and counts:
data_p = [
('Gigi', 64 ),
('Carletto', 12 ),
('Silvio', 0 ),
('Priscilla', 30 ),
('Rodolfo', 57 ),
('Sigismondo', 70 )
]
Generate your bar chart in ASCII:
asciibars.plot(data_p)
The command above will print:
Gigi | 64 ██████████████████
Carletto | 12 ███
Silvio | 0 ▏
Priscilla | 30 █████████
Rodolfo | 57 ████████████████
Sigismondo | 70 ████████████████████
Arguments of asciibars.plot
| Input | Type | Description |
|---|---|---|
| data | [(str, float)] | data array with labels and count |
| sep_lc | str | label-count separator |
| unit | str | string unit for bar |
| zero | str | string for bar when equal to zero |
| max_length | int | maximum bar length in plot |
| neg_unit | str | negated bar unit (e.g., '░') |
| neg_max | int | maximum value when negated bar is used |
| count_pf | str | count postfix (e.g., '%') |
Examples
Please find more examples below.
asciibars.plot(data_p,sep_lc=' -> ',unit='▓',max_length=40)
Gigi -> 64 ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
Carletto -> 12 ▓▓▓▓▓▓▓
Silvio -> 0 ▏
Priscilla -> 30 ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
Rodolfo -> 57 ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
Sigismondo -> 70 ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
asciibars.plot(data_p,unit='▓',neg_unit='░')
Gigi | 64 ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░
Carletto | 12 ▓▓▓░░░░░░░░░░░░░░░░░
Silvio | 0 ░░░░░░░░░░░░░░░░░░░░
Priscilla | 30 ▓▓▓▓▓▓▓▓▓░░░░░░░░░░░
Rodolfo | 57 ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░
Sigismondo | 70 ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓
asciibars.plot(data_p,unit='▓',neg_unit='░',neg_max=100,count_pf='%')
Gigi | 64% ▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░░
Carletto | 12% ▓▓░░░░░░░░░░░░░░░░░░
Silvio | 0% ░░░░░░░░░░░░░░░░░░░░
Priscilla | 30% ▓▓▓▓▓▓░░░░░░░░░░░░░░
Rodolfo | 57% ▓▓▓▓▓▓▓▓▓▓▓░░░░░░░░░
Sigismondo | 70% ▓▓▓▓▓▓▓▓▓▓▓▓▓▓░░░░░░
100%
data_pn = [
('One', 64 ),
('Two', 38 ),
('Three', 0 ),
('Four', -18 ),
('Five', -30 )
]
asciibars.plot(data_pn,sep_lc=' ',count_pf='%')
One 64% ██████████████
Two 38% ████████
Three 0% ▏
Four -18% ████
Five -30% ██████
Change log
Please find the change log here.
Acknowledgments
Thanks to:
- Alex for inspiring this work with this blog post.
- Jinhang Jiang for the tutorial on how to publish your first Python package.
CHANGELOG
The dates are reported as YYYY-MM-DD.
Version 0.0.1 2022-12-26
- Alpha release
Version 0.0.2 2022-12-26
- Improved readme
Version 0.0.3 2022-12-26
- README: added pip install command
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file asciibars-0.0.3.tar.gz.
File metadata
- Download URL: asciibars-0.0.3.tar.gz
- Upload date:
- Size: 16.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f71ae8c61b38a0b4eefededaef20763abd83e961ae5c0f6667be816ea2e497ae
|
|
| MD5 |
a52a975bc94a4593b85a8ae2bdbc8e40
|
|
| BLAKE2b-256 |
e233ec0ddd6925d9da9ec166218d25c579911f2189afaf5e7262e69fbda023ef
|
File details
Details for the file asciibars-0.0.3-py3-none-any.whl.
File metadata
- Download URL: asciibars-0.0.3-py3-none-any.whl
- Upload date:
- Size: 16.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1fc972e1d7376fc9b5c8d2e6f37e113a87cae4da59a15ee4dff367d89a91a2d6
|
|
| MD5 |
5b346af819966997168171bacc1c2d44
|
|
| BLAKE2b-256 |
d78b1b5f9b223169f3e27ca22b6bbf43fafe8d7e24c636f4c7eacbbbf7aa4210
|