How to Make a Frequency Histogram Step by Step

Making a frequency histogram takes five core steps: sort your raw data, choose how many groups (called bins) to divide it into, count how many data points fall into each bin, then draw bars whose heights match those counts. The horizontal axis shows your data ranges, the vertical axis shows how often values appear in each range, and the bars touch each other with no gaps. Once you understand this process by hand, building one in Excel or Google Sheets takes under a minute.

What a Frequency Histogram Actually Shows

A frequency histogram is a chart that shows how often values occur across a range of numerical data. Each bar represents a group of values (a bin), and the bar’s height tells you the frequency, or count, of data points that fall within that range. If you measured the heights of 100 people, for instance, one bar might cover 160 to 165 cm and be tall because many people cluster there, while the bar for 190 to 195 cm would be short because fewer people are that tall.

This is different from a regular bar chart in an important way. Bar charts display categories like “apples, oranges, bananas,” where you can reorder the bars however you want and leave gaps between them. Histograms display continuous numerical data along an ordered axis, so the bars must touch. That touching is a visual signal: the data flows along a number line rather than jumping between unrelated categories. If your bars have gaps, you’ve made a bar chart, not a histogram.

Step 1: Organize Your Raw Data

Start by collecting all your values and sorting them from smallest to largest. Then find two numbers: the minimum value and the maximum value. The difference between them is your range. If your lowest test score is 52 and your highest is 98, the range is 46. You’ll use this range to figure out how wide each bin should be.

Step 2: Choose Your Bins

Bins are the intervals that group your data. Picking the right number of bins matters more than most people realize. Too few bins and you lose the shape of your data. Too many and the histogram becomes a jagged mess that’s hard to read. A common guideline is to use between 5 and 20 bins, with the exact number depending on how much data you have.

For a more precise starting point, Sturges’ rule gives you a formula: take 1 + 3.322 × log₁₀(n), where n is your sample size. For 100 data points, that works out to about 8 bins. For 1,000 data points, roughly 11. Most statistics software, including Minitab and SPSS, uses this formula as the default. It works well for sample sizes as small as 25, though with very small datasets you should expect a rougher picture.

Once you’ve chosen the number of bins, divide your range by that number and round up to get the bin width. With a range of 46 and 8 bins, you’d get 46 ÷ 8 = 5.75, rounded up to 6. Each bin spans 6 units.

Step 3: Set the Bin Boundaries

Pick a starting point that’s less than or equal to your minimum value. If your minimum is 52 and your bin width is 6, you might start at 50 for a clean number. Your first bin would be 50 to 55, your second 56 to 61, your third 62 to 67, and so on. Keep adding the bin width to each lower limit until you’ve covered the entire range past your maximum value.

Make sure there are no overlaps or gaps between bins. Every data point should belong to exactly one bin. If your first bin is 50 to 55 and your second is 56 to 61, a score of 55 goes in the first bin and a score of 56 goes in the second. Some systems use boundaries like 50 to <56, 56 to <62, which avoids ambiguity with continuous data like time or weight.

Step 4: Count the Frequencies

Go through your sorted data and tally how many values fall into each bin. This creates your frequency distribution table, which is really just two columns: the bin range and its count. For the test score example, your table might look something like this:

  • 50–55: 4 students
  • 56–61: 7 students
  • 62–67: 12 students
  • 68–73: 18 students
  • 74–79: 25 students
  • 80–85: 19 students
  • 86–91: 10 students
  • 92–97: 5 students

This table is your histogram in number form. Drawing it is the next step.

Step 5: Draw the Histogram

On graph paper or in software, label the horizontal axis with your bin ranges and the vertical axis with frequency (the counts). For each bin, draw a bar whose height equals its frequency. The bars should be the same width and should touch each other with no space between them. Add a title that describes the data, like “Distribution of Test Scores,” and label both axes clearly.

If you want to compare datasets of different sizes, you can use relative frequency instead of raw counts on the vertical axis. Relative frequency is just each bin’s count divided by the total number of data points, expressed as a percentage. The shape of the histogram stays identical, but the y-axis now reads as a proportion rather than a count.

Making a Histogram in Excel

Excel can build a histogram without you doing the math by hand, but you’ll need the Data Analysis Toolpak. To enable it, go to File > Options > Add-ins, select “Analysis Toolpak,” and click Go. Once installed, go to the Data tab, click Data Analysis, and choose Histogram.

In the dialog box, set the Input Range to your column of data. If you want to define your own bins, enter them in a separate column and point the Bin Range field there. If you leave the bin range blank, Excel will choose bins for you. Select where you want the output (a new worksheet or a specific cell range) and click OK. Excel will generate a frequency table and, if you check the “Chart Output” box, a chart alongside it. By default, the chart may have gaps between bars. Right-click any bar, choose Format Data Series, and set the Gap Width to zero to make it a proper histogram.

Making a Histogram in Google Sheets

Google Sheets has a built-in histogram chart type that handles binning automatically. Select your data column, go to Insert > Chart, and in the Chart Editor panel on the right, change the Chart Type to Histogram. That’s it for a basic version.

To customize it, double-click the chart and use the Customize tab. Under the Histogram section you can adjust the bucket size (bin width), show dividers between items, and set an outlier percentile to handle extreme values. The Chart & Axis Titles section lets you label your axes, and the Horizontal Axis and Vertical Axis sections let you set minimum and maximum values or change formatting.

Reading the Shape of Your Histogram

Once you’ve built a histogram, the shape tells you a lot about your data. A symmetric, bell-shaped histogram means values cluster evenly around the center with fewer extreme values on both sides. In a truly normal distribution, about 68% of values fall within one standard deviation of the average, and 95% within two. The mean, median, and mode all land at the center.

If the histogram has a long tail stretching to the right, it’s positively skewed. Most values cluster toward the lower end, with a few unusually high values pulling the tail out. Income data typically looks like this: most people earn moderate amounts, but a small number earn vastly more. A long tail to the left is negatively skewed, where most values are high and a few unusually low values stretch the other direction.

You might also see two distinct peaks, which is called a bimodal distribution. This often signals that your data actually contains two separate groups. If you’re plotting the heights of a mixed group of adults and children, for example, you’d see one peak around child heights and another around adult heights. Spotting this pattern is one of the most useful things a histogram can do, because it tells you to investigate further rather than treating everything as one group.

Common Mistakes to Avoid

The most frequent error is choosing too few or too many bins. Five bins for 500 data points hides meaningful patterns. Fifty bins for the same data creates noise that looks like a city skyline. Start with Sturges’ rule and adjust from there. If the histogram looks blocky and oversimplified, add bins. If it’s jagged with many near-empty bars, reduce them.

Another common mistake is using unequal bin widths without adjusting the vertical axis. If one bin covers 10 units and the next covers 20, the wider bin will naturally capture more data points and appear taller, even if the data is evenly distributed. Either keep bin widths consistent or switch the vertical axis to frequency density (frequency divided by bin width) so the area of each bar, not just its height, represents the count.

Finally, leaving gaps between bars signals categorical data to anyone reading your chart. Bars in a histogram always touch. If your software inserts gaps by default, close them manually.