Gauge Chart
The Gauge Chart displays a numeric value in relation to defined range boundaries using a semicircular arc with a positional indicator, similar to a speedometer. This chart type helps you visualize single metrics against targets, thresholds, or performance zones with customizable colors and flexible range configurations.

The Gauge Chart supports dynamic and manual range definitions, customizable value formatting, value name display, flexible arc sizes, and responsive sizing for various dashboard layouts.
Key Features
- Flexible Range Configuration:
- Dynamic Ranges: Define ranges from query data (up to 10 boundaries)
- Manual Ranges: Configure static ranges with custom thresholds
- Color Coding: Assign distinct colors to each range for visual clarity
- Value Display Options:
- Value Label: Show formatted numeric value in the center
- Value Name: Display metric name or custom label
- Flexible Formatting: Number, money, percentage, or bytes formats
- Arc Size Options: Choose between 240° or 140° gauge arcs
- Customizable Labels: Configurable range boundary labels with size presets (S, M, L, XL)
- Advanced Formatting: Precision control, abbreviation, currency symbols, and more
- Responsive Design: Adapts to different container sizes with dynamic font scaling
Data Requirements
The gauge chart requires query results with exactly one row of data:
- Minimum: 1 column with a numerical value (the "gauge value")
- Optional: Up to 10 additional numerical columns for dynamic range boundaries
Basic Gauge (Single Value)
When using manual ranges, your query needs only one column with the current value:
SELECT
current_sales -- The gauge value
FROM metrics
WHERE metric_date = CURRENT_DATE
Example Result:
| current_sales |
|---|
| 85.7 |
With manual ranges, you configure all range boundaries directly in the chart settings. This is ideal for static thresholds that don't change (e.g., 0-30 = Poor, 30-70 = Good, 70-100 = Excellent).
Gauge with Dynamic Ranges
When using dynamic ranges from query, include up to 10 additional numerical columns to define range boundaries. These extra columns are read left-to-right to determine where each range starts:
SELECT
current_sales, -- Column 1: The gauge value (required)
0 as min_range, -- Column 2: Lower bound of first range
50 as warn_low, -- Column 3: Lower bound of second range
75 as target, -- Column 4: Lower bound of third range
100 as max -- Column 5: Upper bound of last range
FROM metrics
WHERE metric_date = CURRENT_DATE
How Dynamic Ranges Work:
- Column 1 (first column): The gauge value that the needle points to
- Column 2 (second column): Lower bound of the first range
- Column 3 (third column): Lower bound of the second range (and upper bound of the first range)
- Column 4 (fourth column): Lower bound of the third range (and upper bound of the second range)
- Column N (additional columns): Define subsequent range boundaries
- The ranges are always continuous - each boundary value serves as both the end of one range and the start of the next
Example Result:
| value | bound1 | bound2 | bound3 | bound4 |
|---|---|---|---|---|
| 1 | 0 | 10 | 20 | 30 |
This creates three ranges:
- Range 1: 0 to 10 (columns 2 to 3)
- Range 2: 10 to 20 (columns 3 to 4)
- Range 3: 20 to 30 (columns 4 to 5)
The gauge value of 1 falls within the first range (0-10), and produces a gauge chart that looks as follows (with the default configuration):

Use Cases for Dynamic Ranges:
- Performance metrics with targets that vary by time period or segment
- KPIs where thresholds are calculated from historical percentiles
- Metrics with ranges defined in a separate configuration table
- Multi-tenant applications where each customer has different threshold values
Interactive Features
A gauge chart is non-interactive and serves as a visual indicator for displaying current status or performance against defined thresholds.
Configuration
The following configuration options are available on a gauge chart:

Basic Settings
Arc Size:
- 240°: Wide semicircular arc spanning 240 degrees (default)
- 140°: Narrower arc spanning 140 degrees for compact layouts
Value Display:
- Show Value: Toggle display of the current gauge value in the center of the gauge
- Show Name: Toggle display of the metric name above the value (or centered when Show Value is disabled)
- Show Axis Labels: Toggle display of the range boundary labels on the gauge arc
Axis Label Size: Choose from preset size options for the range boundary labels when Show Axis Labels is enabled:
- S (Small)
- M (Medium)
- L (Large)
- XL (Extra Large)
Range Configuration
The ranges of a gauge chart can either be dynamic (defined by the query result row) or static (manually configured).
Dynamic Ranges
To use dynamic ranges, select From query in the gauge chart configuration.

Data Structure:
- The first column is the gauge value
- The second column marks the lower bound of the first range
- The third column marks the lower bound of the second range
- Additional columns (up to 10 total boundaries) define subsequent range boundaries
- The ranges are always continuous
Color Customization:
- Click on the colored square next to each range to change its color
- Each range can use a different color for clear visual distinction
Use Cases:
- Performance metrics with dynamic targets from a targets table
- KPIs with thresholds that change based on business rules
- Metrics where ranges are calculated based on historical data
Manual Ranges
To use manually configured ranges, select Manual in the gauge chart configuration.

Data Requirements:
- The SQL query should produce a single value, which is the current gauge value at time of query execution
- All range boundaries are configured directly in the chart settings
Configuration:
- Add ranges by clicking the Add Range button
- Set the From and To values for each range
- Click on the colored square to assign colors to each range
- Remove ranges using the delete icon
Best Practices:
- It is generally desirable, but not mandatory, for the ranges to be continuous (i.e., the upper bound of one range should equal the lower bound of the next range)
- Define ranges that align with your business logic (e.g., 0-30 = Poor, 30-70 = Good, 70-100 = Excellent)
Value Formatting
The Gauge Chart provides comprehensive formatting options for the displayed value:

Format Types:
- Number: Standard numerical formatting with precision control
- Money: Currency formatting with symbol and position
- Percentage: Percentage display (automatically multiplies by 100)
- Bytes: File size formatting (KB, MB, GB, etc.)
Number Formatting Options:
- Precision: Number of decimal places (0-10)
- Rounding: Enable/disable rounding
- Abbreviation: Use K, M, B suffixes for large numbers
- Thousands Separator: Add commas for readability (when not abbreviated)
Money Formatting Options:
- Currency Symbol: Custom currency symbol (€, $, £, ¥, etc.)
- Currency Position: Before or after the value
- Precision: Decimal places for currency values
- Abbreviation: Support for large amounts (e.g., $1.5M)
Percentage Formatting:
- Automatically multiplies decimal values by 100
- Adds the % symbol
- Supports precision control
Bytes Formatting:
- Automatic unit selection (B, KB, MB, GB, TB)
- Binary (KiB) or decimal (KB) calculation modes
- Precision control for displayed values
Value Name Display
When Value name is enabled, the gauge displays a label for your metric. By default, it uses the humanized column name from your query (e.g., conversion_rate becomes "Conversion Rate"), but you can easily customize this in the configuration.

Customization:
- Open the Customize tab in the chart configuration
- Edit the Custom Name field to change the displayed label
- Leave it empty to use the default humanized column name
Display Behavior:
- With Value Label: Name appears above the value with semi-bold styling
- Without Value Label: Name appears centered in large, bold styling (similar to value display)
- Dynamic Sizing: Font size automatically adjusts based on text length to prevent overflow
Use Cases:
- Display metric names like "Conversion Rate", "Monthly Revenue", "Customer Satisfaction"
- Provide context when multiple gauges are displayed together
- Show units or targets (e.g., "Sales Target", "Response Time (ms)")
Axis Label Formatting
Range boundary labels on the gauge arc are automatically formatted using the same format settings as the value label:
- Consistent Formatting: Axis labels use the same format, currency symbol, and precision as the center value
- Smart Suppression: When value label is shown in the center, the exact matching value is hidden from the dial to avoid duplication
- Money Format Optimization: Trailing zeros are suppressed for cleaner axis labels (e.g., "$100" instead of "$100.00")
- Responsive Sizing: Labels adjust size based on available space and gauge dimensions
- Color Distinction: Current value on dial uses darker/more prominent color when center label is hidden
Best Practices
Data Preparation
- Single Row Results: Ensure your query returns exactly one row for the gauge to display
- Appropriate Precision: Use database rounding in queries when displaying large numbers with abbreviation
- Named Columns: Use meaningful column aliases (e.g.,
AS conversion_rate) for automatic value name display - Range Ordering: When using dynamic ranges, ensure boundary columns are ordered left to right from lowest to highest
Range Configuration
- Continuous Ranges: Make ranges continuous for intuitive visual interpretation (end of one range = start of next)
- Meaningful Boundaries: Set thresholds that align with business logic and performance targets
- Color Psychology: Use intuitive colors (red for poor, yellow for warning, green for good)
- Balanced Zones: Avoid ranges that are too small or too large relative to the total gauge span
Visual Design
- Value Display: Enable value label for precise reading; disable for cleaner, more abstract visual indicators
- Arc Selection: Use 240° for prominent dashboard elements, 140° for compact widgets or multi-gauge layouts
- Label Sizing: Choose label size (S/M/L/XL) based on gauge size and dashboard density
- Value Name Usage: Enable value name when multiple gauges are displayed to provide context
Formatting Strategy
- Consistent Units: Use the same format across related gauges (all percentages or all currency)
- Appropriate Precision: Balance detail with readability (typically 0-2 decimal places)
- Abbreviation: Enable for large numbers to maintain clean visual appearance
- Currency Display: Include currency symbols for financial metrics to avoid confusion
Dashboard Integration
- Container Sizing: Provide adequate space for gauge to render clearly (minimum 200x200px recommended)
- Grouping: Place related gauges together (e.g., all sales metrics, all operational metrics)
- Complementary Charts: Pair with trend lines or tables showing historical data for context
- Mobile Considerations: Test gauge visibility on smaller screens, consider 140° arc for mobile-optimized dashboards