Home/Chart Types/Distribution/Radial histogram
DistributionIntermediate

Radial Histogram

A histogram wrapped around a circle — perfect for cyclical data like hours of the day, months, or compass directions.

// 01 — The chart

What it looks like

Example — Earthquake frequency by hour of day2025
0h2h4h6h8h10h12h14h16h18h20h22h

A radial histogram showing earthquake frequency across 24 hours. The highlighted segment (16:00–18:00) shows peak seismic activity.

// 02 — Definition

What is a radial histogram?

A radial histogram (also called a circular histogram or polar histogram) arranges histogram bars around a central point in a circular layout. Instead of extending upward from a baseline, bars radiate outward from the center, with each bar’s angular position corresponding to a bin and its length encoding the frequency or count.

The circular layout is not arbitrary decoration — it’s meaningful when the data itself is cyclical. Hours wrap from 23:00 back to 00:00; months cycle from December to January; compass bearings loop from 359° to 0°. A radial histogram makes this continuity visually explicit, while a linear histogram would create an artificial break at the edges.

This chart type is a staple in meteorology (wind roses), chronobiology (activity patterns), and any domain where angular or periodic data matters.

Caution: The circular layout makes area comparisons harder than a standard histogram. Outer bars occupy more area per unit length than inner bars, which can visually exaggerate frequencies at larger radii. Always include a radial scale.

// 03 — Anatomy

Parts of a radial histogram

ABC
A — Concentric gridlines: Reference circles showing frequency values — the radial equivalent of horizontal gridlines
B — Bar (wedge): Each wedge represents a bin; its radial length encodes the frequency or count
C — Center point: The origin of the radial layout — frequency zero; all bars extend outward from here

// 04 — Usage

When to use it — and when not to

✓Use a radial histogram when…
  • Your data is inherently cyclical — hours, months, days of the week, compass directions
  • You want to emphasize the wrap-around continuity (midnight connects back to morning)
  • Your audience is familiar with circular displays (meteorologists, biologists)
  • You want a compact, visually striking display for a small number of bins (6–24)
  • Comparing angular distributions — e.g., wind direction at two locations
×Avoid a radial histogram when…
  • Your data is not cyclical — a linear histogram is easier to read and compare
  • Precise value comparison matters — radial bars are harder to compare than linear bars
  • You have many bins (>30) — the chart becomes cluttered and unreadable
  • Your audience is unfamiliar with polar charts — they may misread the areas
  • The distribution is very skewed — one huge bar dominates and hides subtle differences

// 05 — Reading guide

How to read a radial histogram

Reading a radial histogram is similar to a standard histogram, with a few circular twists.

1

Orient yourself

Identify what the angular axis represents (hours, months, directions) and where 0/north is. The chart usually starts at the top (12 o’clock) for time data.

2

Read the radial scale

The concentric gridlines or labeled rings tell you what each radius means — longer bars = higher frequency.

3

Find the longest bar

This is your mode — the most common category. Note its angular position to identify the peak period or direction.

4

Look for patterns

Is there a single dominant direction, or are peaks evenly spread? Adjacent tall bars suggest a concentrated period; evenly-spaced bars mean uniform distribution.

5

Check the wrap-around

The circular layout lets you see if high values at the end of the cycle connect to high values at the start — something a linear histogram misses.

// 06 — Data format

What your data should look like

You need a cyclical category (or angle/time value) and a count or frequency per bin.

hour_bincount
0–2h42
2–4h38
4–6h35
6–8h55
8–10h78
10–12h65

Code sketch — Python

import matplotlib.pyplot as plt
import numpy as np

angles = np.linspace(0, 2*np.pi, len(counts), endpoint=False)
fig, ax = plt.subplots(subplot_kw={"projection": "polar"})
ax.bar(angles, counts, width=2*np.pi/len(counts))

// 07 — Construction

How to build one, step by step

01.

Bin your data into equal angular segments (e.g., 12 bins of 30° each for 24-hour data grouped by 2 hours).

02.

Count the frequency in each bin.

03.

Draw concentric reference circles and label them with frequency values.

04.

For each bin, draw a wedge extending from the inner radius outward proportionally to the frequency.

05.

Label the angular positions (hours, months, compass bearings) around the perimeter.

06.

Add a legend or scale bar so readers can map bar length to exact counts.

// 08 — Common mistakes

Mistakes to avoid

Using area instead of radius for encoding

Bars with double the radius cover four times the area. Always encode values as radial length (not area) and label the scale clearly.

Using radial layout for non-cyclical data

If your data doesn’t wrap around (e.g., income brackets), a standard histogram is more readable and avoids distortion.

Missing the radial scale

Without concentric gridlines or labeled rings, readers cannot decode bar lengths. Always include a radial scale.

Too many bins

Beyond ~24 bins, individual wedges become too narrow to distinguish. Aggregate into fewer bins for clarity.

// 09 — In the wild

Real-world examples

01

Meteorology

Wind roses are radial histograms showing wind frequency by direction — a cornerstone of weather analysis and airport runway planning.

02

Urban planning

Cities map traffic accidents by hour of day in radial histograms to identify dangerous time windows.

03

Ecology

Animal activity patterns (when a species feeds, sleeps, or migrates) are often displayed as radial histograms across 24-hour cycles.

// 10 — At a glance

Quick reference

Category

Distribution

Data type

Cyclical / angular

Best for

6–24 bins

Also called

Polar / circular histogram

Difficulty

Intermediate

Key domain

Meteorology

// 11 — Accessibility

Accessibility notes

✓

Always provide a companion data table — radial charts are inherently hard to read for people with low vision

✓

Use high-contrast fills and clear outlines on each wedge

✓

Add aria-labels describing peak and trough segments with their frequencies

✓

Include a text summary of the distribution pattern (e.g., 'Activity peaks between 2 PM and 6 PM')

✓

Avoid relying solely on color to distinguish bins — use labels or patterns

// 12 — Variations

Variations

Wind rose

A specialized radial histogram showing wind speed and direction — each wedge is subdivided by speed classes using stacked segments.

Nightingale rose

Bars have equal angular width but use area (not radius) for encoding — designed by Florence Nightingale in 1858.

Circular density

Replaces discrete bars with a smooth curve around the circle — the polar equivalent of a density plot.

Stacked radial

Each wedge is subdivided into colored segments showing composition — e.g., wind direction by season.

// 13 — FAQs

Frequently asked questions

What is a radial histogram?+

A radial histogram (also called a circular histogram or polar histogram) arranges histogram bars around a central point in a circular layout. Instead of extending upward from a baseline, bars radiate outward from the center, with each bar's angular position corresponding to a bin and its length encoding the frequency or count.

When should you use a radial histogram?+

Use a radial histogram when your data is inherently cyclical — hours, months, days of the week, compass directions. It also works well when you want to emphasize the wrap-around continuity (midnight connects back to morning), and when your audience is familiar with circular displays (meteorologists, biologists).

When should you avoid a radial histogram?+

Avoid a radial histogram when your data is not cyclical — a linear histogram is easier to read and compare. It is also a poor fit when precise value comparison matters — radial bars are harder to compare than linear bars, or when you have many bins (>30) — the chart becomes cluttered and unreadable.

What data do you need to make a radial histogram?+

You need a cyclical category (or angle/time value) and a count or frequency per bin.

What size of dataset works best for a radial histogram?+

Radial Histogram works best for 6–24 bins. Outside that range the chart either looks empty or becomes too cluttered to read clearly.

Are radial histograms accessible to screen readers?+

Yes — a radial histogram can be made accessible to screen readers by pairing it with a clear text summary of the key insight, ensuring color choices meet WCAG contrast guidelines, adding descriptive alt text or aria-label to the SVG, and offering the underlying data as an HTML table fallback for assistive technologies.