Skip to content
Stand with Ukraine flag

Vertical bar

  • Widget
  • v1.0.0
  • Sep 1, 2026
  • MIT license
  • v4.2+ | Built-in
Vertical bar

Preconfigured gauge to display any value reading as a bar. Allows to configure value range, gradient colors, and other settings.

Widget Type
  • Latest
Category
  • Gauges & Indicators
Use Cases
  • Industrial Automation
  • Tank Level Monitoring

Who it’s for

Dashboard builders showing a level in a narrow column on a light dashboard — tank contents, hopper fill, battery state across a row of assets, where the reading rises and the tile should rise with it.

What it does

The Vertical bar draws a reading as a segmented column filling from the bottom, on a light track. At the default 0–100 range a value of 62 fills just under two thirds of the 2×3.5 tile, with the value and both end points printed.

  • A vertical column matches level and fill, which readers picture as rising rather than as an angle.
  • A narrow tile is built to be repeated, so a row of columns compares directly.
  • The bar color can follow the value through a set of levels, so a column near its limit stands out in a row.
  • Minimum and maximum are printed at the column’s ends, keeping the scale honest.
  • Tick marks can be added at the values that matter.
  • Units are converted, not just appended — the gauge respects the unit set on the key and converts to the unit chosen on the widget.
  • The Vertical bar shows one current reading: it plots no history, and it is a shape preset of the same gauge engine as the Gauge.

How to set up

Data keys

The Vertical bar takes one datasource, one entity and one data key.

KeyRoleTypeDescription
Any numeric keyThe value the column fills toTimeseriesNumeric only. An attribute works equally well. The key’s own units and decimals override the widget-level ones.

Range

SettingDefaultEffect
Min value0The bottom of the column
Max value100The top of the column; must be greater than the minimum
Min and max labelOnPrints both end points
LabelOffThe caption above the value, off in this preset
Thickness of the stripes1.5Segment width; 0 makes the fill solid

How to customize

  • To name the measurement — turn on Label and set its text, which this preset leaves off.
  • To make the fill change color as the level rises — set the Bar color levels.
  • To draw a solid column instead of a segmented one — set Thickness of the stripes to 0.
  • To mark a limit on the scale — turn on Ticks and add that value, then set its width and color.
  • To make the column heavier or lighter — adjust Relative bar width, and turn on Rounded line cap for softer ends.
  • To change the empty track — set Gauge bar background to suit a light or dark dashboard.
  • To change the gauge’s shape — set Type to Arc, Donut, Horizontal bar or Vertical bar.
  • To animate the fill — turn on Animation and set its duration and easing rule.

Tips

  • Give a row of these one shared range and name each column in its widget title. Columns are compared by height, and that comparison only holds while the scales match and nothing inside the tile competes for the reader’s attention.
  • Add a tick at the level that triggers a refill or a callout. On a fill gauge the useful question is rarely the exact percentage — it is whether the column has dropped past the point where somebody has to act.

Share Your Widget with the Community

Built a custom widget? Export it as a JSON from ThingsBoard and publish it to the IoT Hub through a simple 4-step wizard (Upload, Listing, Readme, Review & Submit). Share it with thousands of ThingsBoard developers worldwide and get featured in the catalog.