Bar Graph: Definition, Types and How to Read and Make One
By Dr. Zubair Khalid, DVM, MS, PhD ·

A bar graph is a chart that uses rectangular bars to compare a numeric value across categories. The length or height of each bar is proportional to the value for that category.
Bar graphs matter because they turn a table of group values into a visual comparison that a reader can grasp quickly. A good bar graph answers a focused question: which treatment produced more seedlings, which ward had higher hand hygiene adherence, or which genotype had the highest enzyme activity. Visualization guidance stresses that a display should maximize the information communicated and minimize the cognitive effort needed to interpret it, which is why the choice between a bar graph and a line graph should follow the question being asked [1].
What Is a Bar Graph?
A bar graph displays a categorical variable on one axis and a quantitative value on the other. A categorical variable names groups or labels rather than measuring a continuous quantity. Examples include disinfectant type, genotype, habitat, survey response, hospital unit, or species. The quantitative value can be a count, a percentage, a rate, a mean, a median, or another summary number. Each category gets one bar in a simple bar graph, and the bar ends at the value for that category.
The bars in a bar graph are separated by gaps. The gaps signal that the categories are distinct groups, not contiguous intervals on a continuous scale. Bar width and spacing should be consistent within a graph. The bars can run vertically or horizontally, and the choice depends on label length, the number of categories, and the comparison the reader needs to make.
A bar graph is not defined by color, three-dimensional effects, or decoration. It is defined by the mapping between categories and bar length. A plain graph with clear labels often communicates more than a polished graph with a confusing scale. In a report redesign informed by visualization principles, the team emphasized selecting the correct display type, such as a bar graph rather than a line graph, for the data at hand [1].
Anatomy of a Bar Graph
A well-built bar graph has several parts. Each part helps the reader move from the title to the comparison without guessing.
- Title and subtitle. The title should state the comparison. A weak title says "Figure 1." A stronger title says "Mean seedling height by light treatment after 21 days." The subtitle can add the sample size, location, or time period.
- Categorical axis. This axis lists the groups. For a vertical bar graph, categories usually sit on the horizontal axis. For a horizontal bar graph, categories sit on the vertical axis. Labels should be short enough to read and specific enough to interpret. "Treatment A" is weaker than "Low-dose antibiotic."
- Value axis. This axis shows the numeric scale. It needs a title and units, such as "Mean height (cm)" or "Percent of samples positive." Tick marks should be evenly spaced. The scale should start at zero when bar length encodes the value. A bar graph that starts at a nonzero value can make a small difference look large.
- Bars. Bar length or height encodes the value. Bars should have equal width, unless a second variable is deliberately encoded by width, which is uncommon and easy to misread. The bar should start at the zero line of the value axis.
- Ordering. Categories can follow a natural order, such as life stages or dose levels. Unordered categories can be sorted by value to help the reader rank them. Sorting is a design choice, not a change in the data. If the categories have a meaningful order, keep that order.
- Legend and color. A legend maps colors or patterns to groups when a graph has subgroups. Color should support the comparison, not carry meaning alone. A reader with color vision deficiency should still be able to tell groups apart through labels, direct annotation, or patterns.
- Error bars and notes. An error bar is a line segment that shows variability or uncertainty around an estimate. If a bar represents a mean, an error bar can show standard deviation, standard error, or a confidence interval. The graph should state which measure is shown and how many observations contributed to each bar.
- Data notes. A short note can define abbreviations, state the denominator, or explain exclusions. These details prevent a reader from comparing percentages with different sample sizes or confusing a rate with a count.
The anatomy matters because a bar graph is a measurement instrument for the eye. A missing unit or a broken scale can turn a useful figure into a misleading one.
Types of Bar Graphs
Several types of bar graphs serve different comparison tasks. The simplest choice is often the best.
Vertical Bar Graph
A vertical bar graph places categories on the horizontal axis and values on the vertical axis. It works well when category labels are short and when the reader needs to compare heights. A graph of mean bacterial colony counts across four disinfectants is a typical vertical bar graph. The bars rise from a common zero line, and the tallest bar shows the highest count.
Vertical bars are common in lab reports and presentations because they resemble a natural "higher versus lower" comparison. They become awkward when labels are long, because rotated labels slow reading and crowd the axis.
Horizontal Bar Graph
A horizontal bar graph places categories on the vertical axis and values on the horizontal axis. The bars extend from left to right. This layout is better for long category names, many categories, or ranked lists. A graph of "percent of patients vaccinated by clinic" with clinic names running down the page is easier to read as a horizontal bar graph than as a vertical one.
Horizontal bars also make rank order obvious. If the categories are sorted from highest to lowest, the reader can scan the list like a leaderboard. This is useful for quality improvement reports and public health dashboards.
Grouped Bar Graph
A grouped bar graph, also called a clustered bar graph, places two or more bars side by side within each category. Each bar in the group represents a subgroup, and a legend identifies the subgroups. A grouped bar graph is useful when the question is "How does the difference between groups vary across categories?"
For example, a study might compare mean enzyme activity for three genotypes across two temperatures. The categories are the genotypes, the subgroups are the temperatures, and the bars within each genotype sit side by side. The reader can compare genotypes within a temperature and temperatures within a genotype. Grouped bars work best with a small number of subgroups. Too many bars in each cluster make the graph hard to read.
Stacked Bar Graph
A stacked bar graph uses one bar per category and divides that bar into segments. Each segment represents a subgroup, and the total bar height represents the sum of the segments. A stacked bar graph is useful when the question is "What is the total, and how is it composed?"
For example, a stacked bar graph could show the number of samples in three habitats, with segments for "positive," "negative," and "inconclusive." The total height shows the number of samples in each habitat. The segments show composition.
A 100% stacked bar graph converts each bar to 100 percent and shows the relative proportions of the subgroups. This is useful when totals differ across categories and the reader needs to compare composition rather than absolute counts. A 100% stacked bar graph can show that one habitat has a higher proportion of positive samples even if another habitat has more samples overall.
Stacked bars have a reading cost. Only the bottom segment shares a common baseline. Segments above the bottom are floating, so comparing a middle segment across bars is harder than comparing a simple bar. If the main question is about one subgroup, a grouped bar graph or a separate simple bar graph may be clearer.
Bar Graph vs Histogram
A bar graph and a histogram look similar, and students often confuse them. The difference is the type of data and the meaning of the axis.
| Feature | Bar graph | Histogram |
|---|---|---|
| Data type | Categorical groups | Continuous numeric values grouped into bins |
| Axis | Categories on one axis, values on the other | Numeric bins on the horizontal axis, frequency or density on the vertical axis |
| Bar spacing | Gaps between bars | Bars touch because bins are contiguous |
| Order | Categories can be reordered if they are unordered | Bin order is fixed by numeric value |
| Main question | Which category has a larger value? | How are values distributed? |
| Typical use | Compare treatments, genotypes, sites, or survey responses | Show spread, shape, skew, and modes of measurements |
A histogram groups continuous measurements into bins. A bin is a consecutive interval of values, such as 10 to 20, 20 to 30, and 30 to 40. The bars touch because the intervals are contiguous. The vertical axis usually shows frequency or density. A histogram answers "Where are the measurements concentrated?" A bar graph answers "Which category is larger?"
A bar graph is not a histogram with gaps added. If the categories are continuous intervals, the graph may be a histogram. If the categories are distinct groups, the graph is a bar graph. A bar graph can sort categories by value. A histogram cannot reorder bins without changing the meaning of the distribution.
How to Read a Bar Graph
Reading a bar graph is an active process. The goal is to answer a specific question and to notice when the graph does not support a confident answer.
- Read the title first. The title tells you what comparison the graph claims to show. If the title is vague, look for a subtitle or caption that defines the groups and the outcome.
- Identify both axes. Find the categorical axis and the value axis. Read the axis titles and units. A graph labeled "Adherence (%)" is not the same as one labeled "Adherence (number of patients)."
- Check the scale and baseline. Look at the value axis. Does it start at zero? Are the tick intervals equal? Is there a break in the axis? A bar graph with a truncated axis can exaggerate differences. Visualization guidance emphasizes that a display should reduce cognitive effort, and an unexpected scale adds effort because the reader must mentally correct the comparison [1].
- Compare bar lengths, not areas or volumes. Bar height or length encodes the value. Three-dimensional effects, shadows, and perspective can distort that encoding. Read the value at the end of the bar, not the visual weight of the shape.
- Check the order and grouping. Are the categories sorted by value, or do they follow a natural order? If the graph has subgroups, read the legend and confirm that the same color or pattern means the same subgroup across all categories.
- Look for sample size and error bars. A bar that represents a mean without a sample size or error bar can hide uncertainty. A small difference between two bars may be within normal variation. A large difference with wide error bars may still be uncertain.
- Ask what is missing. Is the denominator stated? Is the time period defined? Are categories combined or excluded? A graph can be technically correct and still omit information needed for a fair comparison.
In practice, readers should be able to answer a simple question from a bar graph in a few seconds. If the graph requires tracing a legend across many clusters or mentally reordering categories, the design is creating work for the reader.
Bar Graph Examples in Life Science
Bar graph examples appear across laboratory research, ecology, public health, and clinical quality improvement. The common thread is a comparison between categories.
A microbiology lab might compare mean colony counts after four disinfectant treatments. Each bar represents one treatment. The value axis shows colony-forming units per plate. The graph should state the number of plates per treatment and whether the bars are means with standard deviation error bars. A reader can then see which treatment reduced counts and whether the difference is larger than the plate-to-plate variation.
A genetics experiment might compare mean enzyme activity across three genotypes. If the experiment also tests two temperatures, a grouped bar graph can show genotype and temperature together. The groups are the genotypes, the subgroups are the temperatures, and the bars within each cluster sit side by side. This design makes interactions visible, such as one genotype performing well at a low temperature but poorly at a high temperature.
An ecology survey might compare the proportion of plots with an invasive species across habitats. A 100% stacked bar graph can show the positive and negative proportions within each habitat. If the total number of plots differs across habitats, the 100% scale makes composition comparable. A simple bar graph of counts would preserve the total sample size but make composition harder to compare.
A clinical quality improvement report might compare adherence to a fall prevention program across hospital units. A horizontal bar graph sorted from lowest to highest adherence can help teams see where support is needed. A fall prevention report project used visualization principles and nurse feedback to simplify the display of adherence data, and the revised report scored higher on a usability scale than the original [1].
Public health teams often use bar graphs to compare vaccination coverage, test positivity, or program participation across counties or age groups. A scoping review of public health visual communication identified 25 different visualization techniques and noted that data sharing and visualization challenges can leave audiences without usable information [2]. The choice of a bar graph is therefore not only an aesthetic decision. It affects whether a reader can find and act on the comparison.
How to Make a Bar Graph
Making a bar graph is a sequence of decisions. The goal is a figure that answers one question clearly and honestly.
- Write the question in one sentence. For example: "Which light treatment produced the tallest seedlings after 21 days?" A clear question determines the categories, the value, and the type of bar graph.
- Define the categories and the value. Categories might be full sun, partial shade, and deep shade. The value might be mean seedling height in centimeters. Record the unit, the sample size, and the summary measure. If the value is a proportion, record the denominator. If the value is a mean, record the measure of variation.
- Summarize the data correctly. For each category, calculate the count, percentage, mean, or median that answers the question. Do not graph raw replicates as separate bars unless each bar represents a meaningful category. For a mean, calculate standard deviation or standard error and state which one is shown. A standard deviation is a measure of spread around the mean.
- Choose the bar graph type. Use a simple vertical bar graph for a few short labels. Use a horizontal bar graph for long labels or many categories. Use a grouped bar graph when subgroups must be compared within each category. Use a stacked bar graph when the total and its composition are both important. Use a 100% stacked bar graph when proportions matter more than totals.
- Set the value scale. Start the value axis at zero for a bar graph. Use equal tick intervals. Choose a maximum value that leaves room for the tallest bar and its error bar. Do not truncate the axis to make differences look larger. If the data range is very narrow and zero is impossible, consider a dot plot or a table instead of a bar graph.
- Draw the bars with consistent width and spacing. Keep bar width equal within the graph. Leave a visible gap between bars. If the graph has subgroups, keep the order of subgroups consistent across categories.
- Add labels, units, and a legend. The value axis needs a title and units. The categorical axis needs clear labels. The legend needs to identify subgroups. The title should state the comparison. Add a note for the sample size, error bar definition, and any abbreviations.
- Review the graph against the question. Can a reader answer the question without reading the methods? Is the order logical? Are the colors accessible? Would a table be clearer for a small number of values? A graph that is harder to read than its table has failed its communication job.
As a worked example, imagine a 21-day seedling experiment with 12 seedlings per treatment. The mean heights were 12.4 cm for full sun, 15.1 cm for partial shade, and 8.7 cm for deep shade. The standard deviations were 1.1 cm, 0.9 cm, and 1.3 cm. A simple vertical bar graph would have three bars, a value axis from 0 to about 18 cm, and error bars showing one standard deviation. The partial shade bar should be tallest. The graph should state n = 12 per treatment and define the error bars as standard deviation.
Test the graph before you publish it
A graph can be tested with a small reader panel. Ask people to answer one or two questions from the figure and note where they hesitate. In a fall prevention report project, the original report had a mean usability score of 3.86 (standard deviation 0.19) on a 5-point scale. After the report was revised with simplified displays and meaningful data, the mean score rose to 4.29 (standard deviation 0.11) [1]. The lesson is practical: a graph is not finished when it looks clean. It is finished when a reader can use it.
Common Mistakes and Limitations
Bar graphs are simple, but small design errors can change the conclusion a reader draws.
- Truncating the value axis. Starting a bar graph at a nonzero value makes bar length stop encoding the full value. A difference of one unit can look like a doubling. Keep zero as the baseline for bar length.
- Using three-dimensional bars. Perspective and shading distort length and area. A flat two-dimensional graph is easier to read and harder to misrepresent.
- Comparing across graphs with different scales. Two bar graphs with different value-axis maxima can make the same difference look large in one figure and small in another. Compare bars within one graph or use a shared scale.
- Hiding the sample size. A percentage without a denominator is weak evidence. A mean without n and an error bar hides uncertainty. State the denominator and the variation.
- Graphing means as if they were raw observations. A bar for a mean summarizes a distribution. It can hide outliers, skew, and bimodality. For small samples, consider showing individual points over the bars.
- Overloading a grouped bar graph. Many subgroups in each cluster create a visual maze. If the reader cannot match bars to legend entries quickly, reduce the number of subgroups or split the graph.
- Stacking too many segments. A stacked bar graph with many thin segments is hard to decode. Only the bottom segment has a common baseline. If one segment is the focus, use a separate bar graph for that segment.
- Reordering categories to manipulate the message. Sorting by value is useful for unordered categories. Reordering ordinal categories, such as dose levels, can break the logic of the comparison. Keep a meaningful order when one exists.
- Using color as the only code. A reader with color vision deficiency may not distinguish groups. Pair color with direct labels, patterns, or position. The public health visual communication literature highlights the need for visuals that reach diverse audiences, which makes redundant coding a practical requirement [2].
- Using a bar graph for a continuous trend. A bar graph compares categories. A line graph is usually better for showing change over continuous time. The choice of display should follow the structure of the data and the question [1].
- Implying causation. A bar graph can show that two categories differ. It cannot show why they differ. A difference between treatment groups may reflect the treatment, confounding variables, or chance.
- Ignoring distribution shape. Two categories can have the same mean and very different spreads. A bar graph of means alone does not show that difference. A histogram, box plot, or dot plot may be needed for the distribution question.
Bar graphs also have a scale limitation. They work best with a modest number of categories. When categories multiply, labels collide and bars become thin. A horizontal bar graph, a sorted table, or a small multiple layout may work better.
Quick Review
- A bar graph compares a numeric value across categories. The bars are separated because the categories are distinct.
- The value axis should start at zero for bar length, use equal intervals, and show units.
- Vertical bars suit short labels. Horizontal bars suit long labels and ranked lists.
- A grouped bar graph compares subgroups within each category. A stacked bar graph shows totals and composition.
- A histogram displays the distribution of continuous data. Its bins are contiguous, so its bars touch.
- A bar that represents a mean should include the sample size and a measure of variation.
- Simplification and clear labels improve use. A graph should answer the reader's question without extra cognitive work.
Frequently Asked Questions
What is a bar graph?
A bar graph is a chart that compares values across categories using rectangular bars. The length or height of each bar represents the value for that category.
What are the main types of bar graphs?
The main types are vertical bar graphs, horizontal bar graphs, grouped bar graphs, stacked bar graphs, and 100% stacked bar graphs. The choice depends on label length, subgroup structure, and whether the question is about totals, composition, or direct comparison.
What is the difference between a bar graph and a histogram?
A bar graph compares categorical groups, while a histogram shows the distribution of continuous values grouped into bins. Bar graph bars have gaps, histogram bars touch because the bins are contiguous.
What is a stacked bar graph used for?
A stacked bar graph shows a total and its composition within each category. A 100% stacked bar graph is used when the relative proportions of subgroups matter more than the absolute totals.
How do you make a bar graph?
Start with a clear question, define categories and values, summarize the data, choose the bar type, set a zero-based scale, and add labels, units, sample size, and error bars when needed. Then test whether a reader can answer the question from the figure.
Can a bar graph show means and percentages?
Yes. A bar graph can show means, percentages, rates, counts, or other summary values. When a bar represents a mean or percentage, include the sample size or denominator and a measure of uncertainty when possible.
Sources
- Best practices for data visualization: creating and evaluating a report for an evidence-based fall prevention program.
- Visual communication of public health data: a scoping review.
- Institute of Education Sciences (REL Central): Data visualization checklist
- UK Office for National Statistics service manual: Data visualisation
- Connecticut Office of Early Childhood: Data visualization guide
Related Articles
- How to Make a Bar Chart in Excel (Step by Step)
- How to Make a Clustered Bar Chart in Excel (Step by Step)
- Segmented Bar Chart: Definition and Examples
- Histogram Shapes Explained: Bell-Shaped, Symmetric and Skewed
- What Is a Pie Chart? Definition, Uses and Examples
- Line Graph: Definition, Examples and When to Use One