plotille
Plot in the terminal using braille dots.
What it is and what it does
Plotille is a terminal-based plotting library that renders data visualizations using braille Unicode characters and ANSI colors. It offers two usage patterns: a high-level API with functions like plot(), scatter(), and histogram() for quick single-plot generation, and a Figure class for composing multiple plots with shared axes, legends, and custom styling. The library supports line plots with linear interpolation, scatter plots, histograms, heatmaps, image display, and basic timeseries plotting with datetime values.
With zero runtime dependencies and pure Python implementation, plotille integrates easily into CLI tools, monitoring dashboards, and data analysis scripts. It supports multiple color modes and works across Python 3.10, 3.11, 3.12, 3.13, and 3.14 on CPython and PyPy. The braille rendering provides finer granularity than ASCII art while remaining readable in any standard terminal.
Use it for:
- Quick visualization of numerical data in CLI scripts without leaving the terminal or opening a GUI window.
- Real-time monitoring dashboards that display metrics, trends, or system performance in a terminal interface.
- Educational demonstrations of mathematical functions, statistical distributions, or signal processing results.
- Exploratory data analysis in remote SSH sessions or containerized environments where graphical display is unavailable.
- Embedding plots in terminal-based reports or log output for inline data inspection.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Plotille renders plots, scatter plots, histograms, and heatmaps directly in the terminal using braille characters and colors, with no external dependencies.
Yes. Plotille is actively maintained, has zero dependencies, supports Python 3.10 through 3.14, carries no known vulnerabilities, and solves a genuine problem—rendering plots in terminals where graphical tools are overkill or unavailable. Install it if you need terminal visualization; skip it only if you require publication-quality graphics or 3D rendering.
Install
plotille on PyPI
pip
pip install plotilleuv
uv add plotillepoetry
poetry add plotilleInstalling plotille
Before you install
Low friction: pure Python wheel with zero runtime dependencies. Actively maintained as of 2026-02-17 with 528 repository stars.
License in practice
MIT license permits unrestricted use, modification, and distribution in commercial and private projects.
Quickstart
pip install plotille
import plotille
X = [0, 1, 2, 3]
Y = [0, 1, 2, 3]
print(plotille.plot(X, Y, height=20, width=60))
Requires Python 3.10 or later; terminal must support Unicode braille characters for optimal rendering.
Verify before relying
- Whether timeseries plotting with datetime.datetime and numpy.datetime64 is production-ready or still experimental
- Performance characteristics when rendering large datasets or high-resolution terminal plots
- Extent of color mode support ('names', 'byte', 'rgb') across different terminal emulators
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<4,>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 178 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 227,666/month — #9,172 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: plotille-6.0.5-py3-none-any.whl
Keywords: plot, scatter, histogram, terminal, braille, unicode, timeseries
Tags
More Visualization packages
matplotlib creates static, animated, and…
permissive · top 1,000 on PyPI
contourpyContourPy calculates contours of 2D…
permissive · top 1,000 on PyPI
plotlyPlotly is an interactive, browser-based…
permissive · top 1,000 on PyPI
graphvizGenerates DOT language source code for graph…
permissive · top 1,000 on PyPI
streamlitStreamlit transforms Python scripts into…
permissive · top 1,000 on PyPI
leatherLeather is a lightweight Python charting…
permissive · top 1,000 on PyPI
termplotlibtermplotlib renders line plots, histograms, and…
copyleft · top 15,000 on PyPI
plotextRenders plots directly in the terminal using…
permissive · top 5,000 on PyPI
plotnineplotnine implements a grammar of graphics for…
permissive · top 5,000 on PyPI
terminaltexteffectsRenders animated visual effects for text…
permissive · top 15,000 on PyPI
palettablePalettable provides a library of color palettes…
permissive · top 5,000 on PyPI
coloredColored provides ANSI/VT100 escape sequences…
permissive · top 5,000 on PyPI
pastelPastel adds colored text output to terminal…
permissive · top 5,000 on PyPI
histoprintHistoprint renders NumPy histograms and…
permissive · top 15,000 on PyPI
crayonsCrayons provides colored text output for…
permissive · top 15,000 on PyPI
mizaniMizani provides scales and transformations for…
permissive · top 5,000 on PyPI