Histogram & cumulative frequency from grouped data

Turn a frequency table or raw data into a histogram and cumulative frequency (ogive). The tool detects unequal class widths, switches to frequency density when needed, highlights modal/median classes, and shares the full state via URL, CSV, or SVG exports.

Other languages: ja | en | es

Quick start

All parsing and plotting stay in your browser. No uploads.

Inputs & settings

3-step guide: enter → auto-update → share/export
Lower bound L Upper bound U Frequency f
Classes are treated as [L, U).
Tip: Bar height uses frequency density when widths differ so area still equals frequency.

Results

Total N: 0 Histogram y-axis: Auto

Graphs

Histogram

Bar height

Cumulative frequency (ogive)

Upper bound vs cumulative frequency

Summary

Bar area tracks frequency, and ogive points sit on each upper boundary.

Steps & reasoning

Share & export

FAQ

Should histogram height use frequency or frequency density?

If all widths match, frequency works because bar area tracks count. When widths differ, use frequency density so each bar area equals its frequency.

Where do ogive points go?

At each upper boundary with the cumulative frequency there, matching classes defined as [L, U).

What do relative and cumulative relative frequency mean?

Relative frequency is f/N; cumulative relative is the running total. The final value is always 1 (100%).

Why highlight modal or median classes?

They show where the distribution peaks and where half the observations accumulate. With unequal widths, the modal class uses the highest frequency density.

Is any data uploaded?

No. Everything runs locally, and the share URL only stores parameters in the query string.

Related