Omniscope Custom Views › barchartrace

Bar Chart Race

Turn a ranking over time into a story people watch to the end: who led, who overtook, and when.

Bar visokio-agents

Open the demo in Omniscope Download demo.ioz Sample data: orders.csv Source on GitHub

Items tagged visokio-agents are community examples built by Visokio's agents, to extend Omniscope's core blocks and views with popular, specialist and more unusual use cases, and to show what anyone, people or agents, can build on Omniscope. They are tested by automated tests and were run on a real Omniscope server. They were not reviewed by Omniscope's core team, so they are not on a par with the core blocks and views, which have years of manual, functional and unit tests behind them. About

Turn a ranking over time into a story people watch to the end: who led, who overtook, and when.

Live: cumulative online orders by town for an illustrative retailer, July 2023 to June 2026, coloured by region. Use play, pause and the slider; click a bar to select that town.

The problem it solves

Some of the most interesting facts in a business are changes of position: the region that overtook London, the product that came from nowhere, the channel that quietly took the lead. A static chart of the final year shows the result but not the race; a line chart of twenty items is spaghetti.

The Bar Chart Race plays the ranking period by period. Bars grow, swap places and drop out of the top ten, with the period shown large in the corner and the total beneath it. It is a familiar chart format on social media because people watch to see who wins. In Omniscope it is also interactive: pause, scrub to any month, hover for the figures, and click a bar to select that item for the rest of the report. In the illustrative data above, a few smaller towns climb past the big cities after local campaigns.

Where it earns its place

The examples below are illustrative.

Use Bars Value
Marketing content and launches Products, towns, countries Cumulative customers, orders, downloads
Sales kick-offs and town halls Regions, teams, reps Bookings or revenue this year, as a running total
Market and competitor reviews Brands, competitors Share or sales by quarter
Digital and media Channels, campaigns, titles Visits, views or sign-ups by month
Public sector and charities Areas, services Cases, donations or volunteers over time

How to use it in Omniscope

  1. Connect data with a time field, an item and a measure to a Report block.
  2. Add a view and choose Bar Chart Race.
  3. Set Time (for a date, choose unique values or months), Bars and Value; optionally Colour by a category such as Region.
  4. Switch on Running total to race cumulative values; set the number of bars and the speed.
  5. Present it: press play, pause on the moment that matters, scrub back, and click a bar to show that item's detail elsewhere in the report.

Why do this in Omniscope

Data and options

A time field, an item field and a measure; optionally a colour category.

Option What it does
Time, Bars, Value Frames, items and bar length
Colour by Category colours (eight, then pale blue)
Running total Race cumulative values
Bars shown, Seconds per period Size and speed
Play automatically, Loop Playback

Tested with 500 items over 120 periods.

Tested

The final frame of the race
The final frame of the race
Running on the Omniscope server
Running on the Omniscope server

Reference

Fields it reads

NameTypeWhat it does
TimeGROUPINGThe frames of the race, e.g. Month or Year (a date grouped by month works well)
BarsGROUPINGWhat races, e.g. Product, Town, Team or Brand
ValueMEASUREBar length, e.g. sum of Sales
Colour byGROUPINGOptional category for bar colours, e.g. Region (up to eight colours)

Options

NameTypeWhat it does
Running totalTOGGLERace the running total up to each period instead of each period's own value
Bars shownNUMBERNumber of bars in the race (default 10)
Seconds per periodNUMBERSpeed of the animation (default 0.8)
Play automaticallyTOGGLEStart playing when the report opens
LoopTOGGLEStart again after the last period

Third-party libraries