Textplot DuckDB Extension
The Textplot extension, brings text-based data visualization directly to your SQL queries in DuckDB. Create stunning ASCII/Unicode charts, bar graphs, and density plots without leaving your database environment.
Use Cases
The Textplot extension is perfect for:
- Quick data exploration: Visualize distributions and trends directly in your terminal
- Dashboard creation: Add visual elements to text-based reports and dashboards
- Monitoring and alerting: Create visual indicators for system metrics and KPIs
- Data quality checks: Spot outliers and patterns in your data instantly
- Command-line analytics: Build beautiful charts for CLI tools and scripts
- Documentation: Include visual data summaries in README files and documentation
- Embedded analytics: Add lightweight visualizations to applications without heavy charting libraries
Installation
textplot
is a DuckDB Community Extension.
You can now use this by using this SQL:
from community;
install textplot load textplot
Functions
tp_bar(value, ...options)
Creates horizontal bar charts with customizable styling and colors.
Basic Usage:
-- Simple progress bar (50% filled)
SELECT tp_bar(0.5);
โโโโโโโโโโโโโโโโโโโโโโโโ0.5) โ
โ tp_bar(varchar โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโค
โ ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅโฌโฌโฌโฌโฌ โ
โโโโโโโโโโโโโโโโโโโโโโโโ
-- Custom width and range
SELECT tp_bar(75, min := 0, max := 100, width := 20);
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ75, min := 0, max := 100, width := 20) โ
โ tp_bar(varchar โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅ๐ฅโฌโฌโฌโฌโฌ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Advanced Options:
-- Custom colors and shapes
SELECT tp_bar(0.8, shape := 'circle', on_color := 'green', off_color := 'white') as bar;
โโโโโโโโโโโโโโโโโโโโโโโโ
โ bar โvarchar โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโค
โ ๐ข๐ข๐ข๐ข๐ข๐ข๐ข๐ขโชโช โ
โโโโโโโโโโโโโโโโโโโโโโโโ
-- Threshold-based coloring
SELECT tp_bar(85,
min := 0, max := 100,
:= [
thresholds 'threshold': 90, 'color': 'red'},
{'threshold': 70, 'color': 'yellow'},
{'threshold': 0, 'color': 'green'}
{
]as bar;
)
โโโโโโโโโโโโโโโโโโโโโโโโ
โ bar โvarchar โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโค
โ ๐จ๐จ๐จ๐จ๐จ๐จ๐จ๐จ๐จโฌ โ
โโโโโโโโโโโโโโโโโโโโโโโโ
-- Custom characters
SELECT tp_bar(0.7, on := 'โ', off := 'โ', width := 15) as bar;
โโโโโโโโโโโโโโโโโโโ
โ bar โvarchar โ
โ
โโโโโโโโโโโโโโโโโโโค
โ โโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโ
SELECT round(n,4),
tp_bar(n,:= 14,
width := 'circle',
shape :='black',
off_color := false,
filled := [
thresholds 0.8, 'red'),
(0.7, 'orange'),
(0.6, 'yellow'),
(0.0, 'green')
(as bar
]) FROM (select random() as n from generate_series(10));
โโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโround(n, 4) โ bar โ
โ double โ varchar โ
โ
โโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค0.9889 โ โซโซโซโซโซโซโซโซโซโซโซโซโซ๐ด โ
โ 0.6242 โ โซโซโซโซโซโซโซโซ๐กโซโซโซโซโซ โ
โ 0.6013 โ โซโซโซโซโซโซโซ๐กโซโซโซโซโซโซ โ
โ 0.669 โ โซโซโซโซโซโซโซโซ๐กโซโซโซโซโซ โ
โ 0.8363 โ โซโซโซโซโซโซโซโซโซโซโซ๐ดโซโซ โ
โ 0.9193 โ โซโซโซโซโซโซโซโซโซโซโซโซ๐ดโซ โ
โ 0.8629 โ โซโซโซโซโซโซโซโซโซโซโซ๐ดโซโซ โ
โ 0.8296 โ โซโซโซโซโซโซโซโซโซโซโซ๐ดโซโซ โ
โ 0.0824 โ ๐ขโซโซโซโซโซโซโซโซโซโซโซโซโซ โ
โ 0.0281 โ โซโซโซโซโซโซโซโซโซโซโซโซโซโซ โ
โ 0.2682 โ โซโซโซ๐ขโซโซโซโซโซโซโซโซโซโซ โ
โ
โโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค11 rows 2 columns โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
SELECT round(n,4),
tp_bar(n,:= 14,
width := 'circle',
shape :='black',
off_color := true,
filled := [
thresholds 0.8, 'red'),
(0.7, 'orange'),
(0.6, 'yellow'),
(0.0, 'green')
(as bar
]) FROM (select random() as n from generate_series(10));
โโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโround(n, 4) โ bar โ
โ double โ varchar โ
โ
โโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค0.3818 โ ๐ข๐ข๐ข๐ข๐ขโซโซโซโซโซโซโซโซโซ โ
โ 0.1919 โ ๐ข๐ข๐ขโซโซโซโซโซโซโซโซโซโซโซ โ
โ 0.5885 โ ๐ข๐ข๐ข๐ข๐ข๐ข๐ข๐ขโซโซโซโซโซโซ โ
โ 0.9558 โ ๐ด๐ด๐ด๐ด๐ด๐ด๐ด๐ด๐ด๐ด๐ด๐ด๐ดโซ โ
โ 0.4463 โ ๐ข๐ข๐ข๐ข๐ข๐ขโซโซโซโซโซโซโซโซ โ
โ 0.6024 โ ๐ก๐ก๐ก๐ก๐ก๐ก๐ก๐กโซโซโซโซโซโซ โ
โ 0.0114 โ โซโซโซโซโซโซโซโซโซโซโซโซโซโซ โ
โ 0.4993 โ ๐ข๐ข๐ข๐ข๐ข๐ข๐ขโซโซโซโซโซโซโซ โ
โ 0.6884 โ ๐ก๐ก๐ก๐ก๐ก๐ก๐ก๐ก๐ก๐กโซโซโซโซ โ
โ 0.7929 โ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ ๐ โซโซโซ โ
โ 0.3507 โ ๐ข๐ข๐ข๐ข๐ขโซโซโซโซโซโซโซโซโซ โ
โ
โโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค11 rows 2 columns โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Parameters:
value
: Numeric value to visualizemin
: Minimum value (default: 0)max
: Maximum value (default: 1.0)width
: Bar width in characters (default: 10)shape
: โsquareโ, โcircleโ, or โheartโ (default: โsquareโ)on_color
/off_color
: Color names (red, green, blue, yellow, etc.)on
/off
: Custom characters for filled/empty portionsfilled
: Boolean, fill all blocks or just the endpoint (default: true)thresholds
: List of threshold objects for conditional coloring
tp_density(values, ...options)
Creates density plots and histograms from arrays of numeric data.
Basic Usage:
-- Simple density plot
SELECT tp_density([1, 2, 3, 4, 5, 4, 3, 2, 1]) as density;
โโโโโโโโโโโโโโโโโโโโโโโโ
โ density โvarchar โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโค
โ โ โ โ โ โ โ
โโโโโโโโโโโโโโโโโโโโโโโโ
-- Custom width and style
SELECT tp_density([1, 2, 3, 2, 1], width := 30, style := 'height') as density;
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ density โvarchar โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ โ โ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Style Options:
-- ASCII style for compatibility
SELECT tp_density([1, 5, 3, 8, 2], style := 'ascii') as density;
โโโโโโโโโโโโโโโโโโโโโโโโ
โ density โvarchar โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโค
โ @ @ @ @ @ โ
โโโโโโโโโโโโโโโโโโโโโโโโ
-- Dot style for subtle visualization
SELECT tp_density([1, 5, 3, 8, 2], style := 'dots') as density;
โโโโโโโโโโโโโโโโโโโโโโโโ
โ density โvarchar โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโค
โ โ โ โ โ โ โ
โโโโโโโโโโโโโโโโโโโโโโโโ
-- Colorful emoji styles
SELECT tp_density([1, 5, 3, 8, 2], style := 'rainbow_circle') as density;
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ density โvarchar โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โชโซโชโซโซโชโซโซโซโซโซโชโซโซโซโซโซโซโซโช โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Parameters:
values
: Array of numeric valueswidth
: Plot width in characters (default: 20)style
: Character set style (โshadedโ, โasciiโ, โdotsโ, โheightโ, โcirclesโ, โsafetyโ, โrainbow_circleโ, โrainbow_squareโ, โmoonโ, โsparseโ, โwhiteโ)graph_chars
: Custom array of characters for density levelsmarker
: Character to highlight specific values
Available Styles:
shaded
:โโโโ
(default)ascii
:.:+#@
dots
:.โขโ
height
:โโโโโ โโโ
circles
:โซโช๐ก๐ ๐ด
rainbow_circle
:โซ๐ค๐ฃ๐ต๐ข๐ก๐ ๐ดโช
tp_sparkline(values, ...options)
Creates compact sparkline charts perfect for showing trends in time series data and small multiples.
Basic Usage:
-- Simple absolute value sparkline
SELECT tp_sparkline([1, 3, 2, 5, 4, 6, 2, 1]) as sparkline;
โโโโโโโโโโโโโโโโโโโโโโโโ
โ sparkline โvarchar โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโค==---##***@@--- โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโ
-- Delta mode showing change direction
SELECT tp_sparkline([100, 105, 102, 108, 95], mode := 'delta') as sparkline;
โโโโโโโโโโโโโโโโโโโโโโโโ
โ sparkline โvarchar โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโค
โ โโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโ
-- Trend mode with magnitude
SELECT tp_sparkline([10, 12, 11, 15, 8], mode := 'trend', theme := 'slopes') as sparkline;
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ sparkline โvarchar โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโค/////\\\\\/////\\\\\\\\\\ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Visualization Modes:
1. Absolute Mode (default) - Shows actual values as heights:
-- Stock prices over time
SELECT tp_sparkline([45.2, 47.1, 46.8, 49.3, 52.1, 48.7], width := 20, theme := 'utf8_blocks') as sparkline;
โโโโโโโโโโโโโโโโโโโโโโโโ
โ sparkline โvarchar โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโค
โ โโโโโโโ
โ
โ
โ
โโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโ
-- System CPU usage
SELECT tp_sparkline([25, 45, 78, 92, 67, 34], theme := 'ascii_basic', width := 15) as sparkline;
โโโโโโโโโโโโโโโโโโโ
โ sparkline โvarchar โ
โ
โโโโโโโโโโโโโโโโโโโค--###@@***.. โ
โ โโโโโโโโโโโโโโโโโโโ
2. Delta Mode - Shows direction of change (up/same/down):
-- Sales trend directions
SELECT tp_sparkline([1000, 1200, 1150, 1300, 980], mode := 'delta', theme := 'arrows') as sparkline;
โโโโโโโโโโโโโโโโโโโโโโโโ
โ sparkline โvarchar โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโค
โ โโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโ
-- Temperature changes
SELECT tp_sparkline([72, 75, 75, 78, 71], mode := 'delta', theme := 'faces') as sparkline;
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ sparkline โvarchar โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ ๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐๐ โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
3. Trend Mode - Shows change direction with magnitude:
-- Market volatility
SELECT tp_sparkline([100, 110, 105, 125, 90], mode := 'trend', theme := 'intensity') as sparkline;
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ sparkline โvarchar โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโค+++++-----+++++---------- โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
-- Server response times
SELECT tp_sparkline([150, 145, 147, 180, 120], mode := 'trend', theme := 'arrows') as sparkline;
โโโโโโโโโโโโโโโโโโโโโโโโ
โ sparkline โvarchar โ
โ
โโโโโโโโโโโโโโโโโโโโโโโโค
โ โโโโโโโโโโโโโโโโฉโฉโฉโฉโฉ โ โโโโโโโโโโโโโโโโโโโโโโโโ
Available Themes by Mode:
Absolute Mode Themes:
utf8_blocks
:โโโโโ โโโ
(default)ascii_basic
:.-=+*#%@
hearts
:๐ค๐คโค๏ธ๐๐๐๐๐ค
faces
:๐๐๐๐๐๐๐คฉ๐คฏ
Delta Mode Themes:
arrows
:โโโ
(default)triangles
:โผโโฒ
ascii_arrows
:v-^
math
:-=+
faces
:๐๐๐
thumbs
:๐๐๐
trends
:๐โก๏ธ๐
simple
:\\_/
Trend Mode Themes:
arrows
:โฉโโโโง
(default)ascii
:Vv-^A
slopes
:\\\\ \\ _ / //
intensity
:-- - = + ++
faces
:๐ญ๐๐๐๐คฉ
chart
:๐๐โก๏ธ๐๐
Parameters:
values
: Array of numeric valuesmode
: โabsoluteโ, โdeltaโ, or โtrendโ (default: โabsoluteโ)theme
: Theme name (varies by mode, see lists above)width
: Sparkline width in characters (default: 20)
tp_qr(value, ...options)
Creates QR codes with customizable error correction levels and display styles.
Basic Usage:
mode ascii
.-- Simple QR code
SELECT tp_qr('Hello, World!');
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
โฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌโฌ
Advanced Options:
-- Custom colors and shapes
SELECT tp_qr('https://query.farm', ecc := 'high', "on" := '๐ก', off := 'โซ');
๐ก๐ก๐ก๐ก๐ก๐ก๐กโซ๐กโซ๐กโซ๐กโซ๐กโซโซโซ๐กโซ๐กโซ๐ก๐ก๐ก๐ก๐ก๐ก๐ก
๐กโซโซโซโซโซ๐กโซ๐กโซโซโซ๐กโซ๐กโซ๐กโซโซ๐กโซโซ๐กโซโซโซโซโซ๐ก
๐กโซ๐ก๐ก๐กโซ๐กโซ๐ก๐ก๐ก๐ก๐ก๐กโซ๐ก๐กโซโซ๐ก๐กโซ๐กโซ๐ก๐ก๐กโซ๐ก
๐กโซ๐ก๐ก๐กโซ๐กโซโซโซโซ๐ก๐ก๐กโซโซ๐ก๐กโซ๐กโซโซ๐กโซ๐ก๐ก๐กโซ๐ก
๐กโซ๐ก๐ก๐กโซ๐กโซโซโซ๐ก๐ก๐ก๐ก๐ก๐กโซโซโซ๐ก๐กโซ๐กโซ๐ก๐ก๐กโซ๐ก
๐กโซโซโซโซโซ๐กโซ๐กโซโซ๐กโซโซ๐กโซ๐กโซ๐กโซ๐กโซ๐กโซโซโซโซโซ๐ก
๐ก๐ก๐ก๐ก๐ก๐ก๐กโซ๐กโซ๐กโซ๐กโซ๐กโซ๐กโซ๐กโซ๐กโซ๐ก๐ก๐ก๐ก๐ก๐ก๐ก
โซโซโซโซโซโซโซโซ๐ก๐กโซ๐กโซ๐ก๐ก๐ก๐กโซโซโซ๐กโซโซโซโซโซโซโซโซ
โซโซ๐ก๐ก๐กโซ๐กโซ๐ก๐ก๐ก๐กโซโซ๐ก๐ก๐กโซ๐กโซ๐ก๐ก๐ก๐กโซโซ๐ก๐ก๐ก
๐ก๐ก๐ก๐กโซ๐กโซ๐กโซ๐ก๐ก๐กโซ๐กโซ๐กโซโซโซโซโซ๐กโซโซ๐ก๐ก๐กโซ๐ก
๐ก๐ก๐กโซโซ๐ก๐ก๐ก๐กโซโซ๐กโซโซ๐กโซ๐ก๐ก๐กโซ๐ก๐ก๐ก๐ก๐กโซ๐กโซโซ
๐กโซโซโซโซโซโซโซ๐ก๐กโซ๐กโซ๐กโซโซโซโซโซโซโซ๐ก๐ก๐กโซ๐กโซ๐กโซ
โซ๐ก๐ก๐ก๐ก๐ก๐กโซโซโซโซ๐ก๐ก๐ก๐ก๐กโซโซ๐กโซ๐ก๐กโซ๐กโซโซ๐ก๐ก๐ก
๐กโซ๐กโซ๐ก๐กโซโซโซโซโซโซ๐ก๐ก๐กโซ๐ก๐กโซ๐ก๐ก๐ก๐กโซ๐ก๐กโซ๐ก๐ก
โซโซโซ๐กโซโซ๐กโซ๐ก๐กโซ๐ก๐กโซโซโซ๐กโซโซโซ๐กโซ๐ก๐กโซโซโซ๐กโซ
โซโซ๐กโซโซ๐กโซโซ๐กโซ๐ก๐กโซโซ๐ก๐ก๐กโซ๐กโซโซ๐ก๐กโซ๐ก๐กโซโซโซ
โซ๐กโซโซ๐ก๐ก๐ก๐กโซโซโซโซ๐กโซโซโซโซ๐ก๐กโซโซโซ๐กโซโซ๐ก๐ก๐ก๐ก
๐ก๐ก๐กโซโซ๐กโซ๐ก๐กโซ๐กโซโซโซ๐ก๐กโซ๐กโซโซ๐ก๐กโซ๐ก๐ก๐กโซ๐ก๐ก
๐กโซโซ๐กโซ๐ก๐ก๐กโซโซ๐ก๐กโซโซโซ๐ก๐กโซ๐ก๐กโซโซ๐กโซโซโซ๐กโซโซ
๐กโซ๐กโซโซโซโซโซ๐ก๐ก๐ก๐ก๐ก๐ก๐กโซโซโซโซ๐ก๐กโซ๐กโซ๐ก๐กโซ๐ก๐ก
๐กโซ๐ก๐กโซ๐ก๐กโซโซโซ๐กโซ๐ก๐กโซโซโซโซโซ๐ก๐ก๐ก๐ก๐ก๐กโซ๐ก๐กโซ
โซโซโซโซโซโซโซโซ๐ก๐กโซโซ๐กโซโซโซ๐ก๐ก๐ก๐ก๐กโซโซโซ๐ก๐กโซโซ๐ก
๐ก๐ก๐ก๐ก๐ก๐ก๐กโซโซโซโซโซโซโซ๐กโซโซโซ๐ก๐ก๐กโซ๐กโซ๐กโซโซโซโซ
๐กโซโซโซโซโซ๐กโซโซ๐กโซโซ๐กโซ๐ก๐ก๐ก๐กโซ๐ก๐กโซโซโซ๐ก๐กโซ๐ก๐ก
๐กโซ๐ก๐ก๐กโซ๐กโซ๐ก๐ก๐ก๐กโซ๐กโซ๐กโซ๐กโซโซ๐ก๐ก๐ก๐ก๐ก๐ก๐ก๐กโซ
๐กโซ๐ก๐ก๐กโซ๐กโซ๐ก๐กโซ๐กโซ๐ก๐กโซ๐ก๐ก๐ก๐ก๐ก๐กโซ๐กโซโซโซโซโซ
๐กโซ๐ก๐ก๐กโซ๐กโซ๐ก๐กโซโซโซโซ๐ก๐กโซโซโซ๐ก๐ก๐ก๐ก๐ก๐ก๐กโซ๐กโซ
๐กโซโซโซโซโซ๐กโซโซโซโซโซ๐ก๐กโซ๐ก๐กโซ๐ก๐กโซ๐กโซโซ๐ก๐กโซ๐กโซ
๐ก๐ก๐ก๐ก๐ก๐ก๐กโซโซ๐ก๐กโซ๐ก๐กโซโซ๐ก๐กโซโซโซโซโซโซ๐ก๐ก๐กโซโซ
Parameters:
value
: String value to encode in the QR code.ecc
: Error correction level (โlowโ, โmediumโ, โquartileโ, โhighโ, default: โlowโ)on
: Character for filled modules (default: โโฌโ)off
: Character for empty modules (default: โโฌโ)
Tips and Best Practices
- Choose appropriate widths: Longer bars (width 20-30) work well for dashboards, shorter bars (width 10-15) for compact reports
- Use thresholds for status indicators: Perfect for showing health, performance, or risk levels
- Combine with regular metrics: Text plots complement, donโt replace, numeric values
- Consider your audience: ASCII styles work everywhere, emoji styles are more visually appealing but require Unicode support
- Leverage density plots for distributions: Great for showing data patterns, outliers, and distributions
Contributing
The Textplot extension is open source and developed by Query.Farm. Contributions are welcome!
License
Love โค๏ธ this DuckDB extension? Youโll Love This.
Get the best from Query.Farm โ smart tips, powerful tools, and project updates sent directly to your inbox, but only when weโve got something great to share.