Bird
Raised Fist0
Data Analysis Pythondata~5 mins

Bar charts in Data Analysis Python

Choose your learning style10 modes available
Introduction

Bar charts help us see and compare numbers easily using bars. They make data simple to understand at a glance.

Comparing sales of different products in a store.
Showing the number of students in different classes.
Visualizing survey results with categories like favorite colors.
Comparing monthly expenses in a budget.
Displaying counts of different types of animals in a zoo.
Syntax
Data Analysis Python
import matplotlib.pyplot as plt

plt.bar(x, height, color=None, width=0.8)
plt.show()

x is a list of categories or labels.

height is a list of numbers for each category.

Examples
Basic bar chart with three fruit categories and their counts.
Data Analysis Python
import matplotlib.pyplot as plt

categories = ['Apples', 'Bananas', 'Cherries']
values = [10, 15, 7]
plt.bar(categories, values)
plt.show()
Bar chart with custom bar color.
Data Analysis Python
import matplotlib.pyplot as plt

categories = ['Red', 'Blue', 'Green']
values = [5, 8, 6]
plt.bar(categories, values, color='skyblue')
plt.show()
Bar chart with thinner bars using the width parameter.
Data Analysis Python
import matplotlib.pyplot as plt

categories = ['A', 'B', 'C']
values = [3, 7, 4]
plt.bar(categories, values, width=0.5)
plt.show()
Sample Program

This program draws a bar chart showing counts of different fruits with orange bars. It also adds a title and labels for clarity.

Data Analysis Python
import matplotlib.pyplot as plt

# Categories and their values
fruits = ['Apple', 'Banana', 'Cherry', 'Date']
counts = [12, 19, 7, 5]

# Create bar chart
plt.bar(fruits, counts, color='orange')

# Add title and labels
plt.title('Number of Fruits')
plt.xlabel('Fruit')
plt.ylabel('Count')

# Show the chart
plt.show()
OutputSuccess
Important Notes

Bar charts work best for comparing a few categories, not too many.

Always label your axes and add a title to make charts clear.

You can change bar colors and width to improve the look.

Summary

Bar charts show data as bars for easy comparison.

Use plt.bar() with categories and values.

Customize colors, width, and labels for clarity.

Practice

(1/5)
1. What does a bar chart mainly help you do with data?
easy
A. See differences between groups using bars
B. Calculate exact averages of numbers
C. Show data as a continuous line
D. Display data in a table format

Solution

  1. Step 1: Understand the purpose of bar charts

    Bar charts use bars to visually compare values across categories.
  2. Step 2: Compare options to bar chart use

    Only See differences between groups using bars describes using bars to see differences between groups.
  3. Final Answer:

    See differences between groups using bars -> Option A
  4. Quick Check:

    Bar charts = Visual group comparison [OK]
Hint: Bar charts show group sizes as bars [OK]
Common Mistakes:
  • Confusing bar charts with line charts
  • Thinking bar charts show exact calculations
  • Mixing bar charts with tables
2. Which of these is the correct way to create a vertical bar chart using matplotlib in Python?
easy
A. plt.plot(x, height)
B. plt.barh(x, height)
C. plt.bar(x, height)
D. plt.scatter(x, height)

Solution

  1. Step 1: Recall matplotlib bar chart functions

    plt.bar() creates vertical bars; plt.barh() creates horizontal bars.
  2. Step 2: Match function to vertical bars

    Only plt.bar(x, height) creates vertical bar charts.
  3. Final Answer:

    plt.bar(x, height) -> Option C
  4. Quick Check:

    Vertical bars use plt.bar() [OK]
Hint: Use plt.bar() for vertical bars [OK]
Common Mistakes:
  • Using plt.barh() for vertical bars
  • Confusing plt.plot() with bar charts
  • Using plt.scatter() for bar charts
3. What will the following code display?
import matplotlib.pyplot as plt
categories = ['A', 'B', 'C']
values = [5, 3, 7]
plt.bar(categories, values)
plt.show()
medium
A. A vertical bar chart with bars for A=5, B=3, C=7
B. A horizontal bar chart with bars for A=5, B=3, C=7
C. A line chart connecting points A, B, C
D. An error because plt.bar() needs numeric x values

Solution

  1. Step 1: Understand plt.bar() with categorical x

    plt.bar() accepts category labels as x and numeric heights as values.
  2. Step 2: Analyze the code output

    It creates vertical bars labeled A, B, C with heights 5, 3, 7 respectively.
  3. Final Answer:

    A vertical bar chart with bars for A=5, B=3, C=7 -> Option A
  4. Quick Check:

    plt.bar(categories, values) = vertical bars [OK]
Hint: plt.bar() accepts category labels for x-axis [OK]
Common Mistakes:
  • Thinking plt.bar() only accepts numbers for x
  • Confusing vertical and horizontal bars
  • Expecting a line chart from plt.bar()
4. The code below is meant to create a horizontal bar chart but it shows a vertical one instead. What is the error?
import matplotlib.pyplot as plt
labels = ['X', 'Y', 'Z']
values = [10, 20, 15]
plt.bar(labels, values)
plt.show()
medium
A. The labels list should be numeric, not strings
B. plt.show() must be called before plt.bar()
C. Values must be strings, not numbers
D. plt.bar() creates vertical bars; use plt.barh() for horizontal bars

Solution

  1. Step 1: Identify the function used for bar charts

    plt.bar() creates vertical bars; plt.barh() creates horizontal bars.
  2. Step 2: Find why chart is vertical

    Using plt.bar() causes vertical bars, so to get horizontal bars, plt.barh() is needed.
  3. Final Answer:

    plt.bar() creates vertical bars; use plt.barh() for horizontal bars -> Option D
  4. Quick Check:

    Horizontal bars need plt.barh() [OK]
Hint: Use plt.barh() for horizontal bars [OK]
Common Mistakes:
  • Thinking labels must be numbers
  • Swapping order of plt.show() and plt.bar()
  • Using string values instead of numbers
5. You have sales data for 3 products: {'Product A': 30, 'Product B': 45, 'Product C': 25}. You want to create a bar chart showing these sales with product names on the x-axis and sales on the y-axis. Which code snippet correctly creates this chart with labels and a title?
hard
A. import matplotlib.pyplot as plt sales = {'Product A': 30, 'Product B': 45, 'Product C': 25} plt.barh(sales.values(), sales.keys()) plt.xlabel('Products') plt.ylabel('Sales') plt.title('Sales by Product') plt.show()
B. import matplotlib.pyplot as plt sales = {'Product A': 30, 'Product B': 45, 'Product C': 25} plt.bar(sales.keys(), sales.values()) plt.xlabel('Products') plt.ylabel('Sales') plt.title('Sales by Product') plt.show()
C. import matplotlib.pyplot as plt sales = {'Product A': 30, 'Product B': 45, 'Product C': 25} plt.plot(sales.keys(), sales.values()) plt.xlabel('Products') plt.ylabel('Sales') plt.title('Sales by Product') plt.show()
D. import matplotlib.pyplot as plt sales = {'Product A': 30, 'Product B': 45, 'Product C': 25} plt.bar(sales.values(), sales.keys()) plt.xlabel('Products') plt.ylabel('Sales') plt.title('Sales by Product') plt.show()

Solution

  1. Step 1: Understand data and desired chart

    We want vertical bars with product names on x-axis and sales on y-axis.
  2. Step 2: Check code snippets for correct bar chart

    import matplotlib.pyplot as plt sales = {'Product A': 30, 'Product B': 45, 'Product C': 25} plt.bar(sales.keys(), sales.values()) plt.xlabel('Products') plt.ylabel('Sales') plt.title('Sales by Product') plt.show() uses plt.bar() with keys as x and values as heights, plus labels and title correctly set.
  3. Step 3: Identify errors in other options

    import matplotlib.pyplot as plt sales = {'Product A': 30, 'Product B': 45, 'Product C': 25} plt.barh(sales.values(), sales.keys()) plt.xlabel('Products') plt.ylabel('Sales') plt.title('Sales by Product') plt.show() uses plt.barh() but swaps x and y labels incorrectly. import matplotlib.pyplot as plt sales = {'Product A': 30, 'Product B': 45, 'Product C': 25} plt.plot(sales.keys(), sales.values()) plt.xlabel('Products') plt.ylabel('Sales') plt.title('Sales by Product') plt.show() uses plt.plot() which is a line chart. import matplotlib.pyplot as plt sales = {'Product A': 30, 'Product B': 45, 'Product C': 25} plt.bar(sales.values(), sales.keys()) plt.xlabel('Products') plt.ylabel('Sales') plt.title('Sales by Product') plt.show() swaps keys and values in plt.bar(), causing wrong axes.
  4. Final Answer:

    Code that correctly creates the labeled vertical bar chart -> Option B
  5. Quick Check:

    Keys on x, values on y with plt.bar() [OK]
Hint: Use plt.bar(keys, values) with labels and title [OK]
Common Mistakes:
  • Swapping keys and values in plt.bar()
  • Using plt.plot() instead of plt.bar()
  • Mixing up plt.bar() and plt.barh() axes
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard