ntcharts
Nimble Terminal Charts — runnable in your browser.
ntcharts is a Go terminal-charting library for
Bubble Tea and other TUIs.
Pick a demo on the left to see it run in a real terminal emulator, compiled to WebAssembly.
Canvas
Lines
- Quickstart Time-series chart with mouse + keyboard zoom — the onboarding tutorial.
- Wavelines Looping wave pattern via wavelinechart.
- Streaming Continuous data flowing right-to-left.
- Line Chart (circles) Circles plotted on the line chart's coordinate space.
- Line Chart (lines) Standard line chart with multiple series.
- Line Chart (scatter) Scatter plot of (X,Y) data points on a line chart.
- Time Series Time-series line chart with a date axis.
- Log Scale Exponential data on a log Y axis; press l to compare with a linear axis.
- Dual Y Axes Two series on different scales; the right Y axis follows the left when zooming.
Bars & Sparks
- Bar Chart (vertical) Vertical bar chart with styled labels.
- Sparkline Compact at-a-glance trend visual.
- Bar Chart (horizontal) Horizontal bar chart with styled labels.
Heatmap
- Heatmap (Perlin) Color-mapped 2D Perlin-noise field.
- Heatmap (functor) Heatmap rendering of an arbitrary 2D math functor.
- Heatmap (labels) Filled heatmap cells with row and column names; press l to drop the labels, +/- to resize.
Graph
- Graph (braille) Braille-rune graph rendering.
- Graph (candlesticks) OHLC-style candlesticks on the Canvas grid.
- Graph (circles) Circle drawing on the Canvas grid.
- Graph (columns) Column rendering on the Canvas grid.
- Graph (lines) Line drawing on the Canvas grid.
- Graph (rows) Row rendering on the Canvas grid.
Picture
- Chart Picture Live chart rendered through go-analyze/charts, paged to picture.Model as an image. Kitty graphics where supported, Glyph fallback otherwise.
- Picture Two-pane image demo — embedded PNG via picture.Model (left) and an HTTP-fetched URL via pictureurl.Model (right). Right pane is CORS-blocked in browsers; left pane works.
- Picture Grid Coordinate-aligned board rendered as one GridImage bitmap through picture.Model with FitFill. Shows Kitty availability, Glyph fallback, and sprite composition that stays aligned to terminal cells.
- Heat Picture (Perlin) High-resolution Perlin-noise heatmap rendered through picture.Model — Kitty graphics protocol where supported (per-pixel sampling, smooth gradients, no cell quantization), Glyph half-blocks otherwise. Press t to toggle modes, F to cycle sampling factor.
Shaders
- GPU Shaders Six animated WGSL compute shaders run on the GPU through the browser's WebGPU and shown through picture.Model — Kitty graphics where supported, Glyph fallback otherwise. Press m for a 2×2 mosaic and s for the highlighted source.
- GPU Shaders (TinyGo) The same shader gallery compiled with TinyGo instead of the Go toolchain — identical source, a wasm about a third of the size. Press m for a 2×2 mosaic and s for the highlighted source.