Bird
Raised Fist0
Matplotlibdata~5 mins

Statistical plot enhancements in Matplotlib

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Introduction

Enhancing statistical plots helps make data easier to understand and more visually appealing.

When you want to highlight important data points in a chart.
When you need to add labels or titles to explain the plot clearly.
When you want to change colors or styles to make the plot easier to read.
When you want to add grid lines or legends for better context.
When you want to compare multiple data sets clearly in one plot.
Syntax
Matplotlib
import matplotlib.pyplot as plt

plt.plot(data)
plt.title('Title')
plt.xlabel('X-axis label')
plt.ylabel('Y-axis label')
plt.grid(True)
plt.legend(['Label'])
plt.show()
Use plt.title() to add a title to your plot.
Use plt.xlabel() and plt.ylabel() to label axes.
Examples
Adds a title to a basic line plot.
Matplotlib
plt.plot([1, 2, 3], [4, 5, 6])
plt.title('Simple Line Plot')
plt.show()
Changes line color to red and makes it dashed. Adds grid lines.
Matplotlib
plt.plot([1, 2, 3], [4, 5, 6], color='red', linestyle='--')
plt.grid(True)
plt.show()
Adds a legend to explain the plotted data.
Matplotlib
plt.plot([1, 2, 3], [4, 5, 6], label='Data 1')
plt.legend()
plt.show()
Sample Program

This program plots prime numbers with green circles connected by lines. It adds a title, axis labels, grid lines, and a legend for clarity.

Matplotlib
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 3, 5, 7, 11]

plt.plot(x, y, marker='o', color='green', linestyle='-', label='Prime Numbers')
plt.title('Prime Number Growth')
plt.xlabel('Index')
plt.ylabel('Value')
plt.grid(True)
plt.legend()
plt.show()
OutputSuccess
Important Notes

Use markers like 'o', 's', '^' to highlight points on the plot.

Grid lines help viewers read values more easily.

Legends are important when plotting multiple data sets.

Summary

Enhancements make plots clearer and more informative.

Titles, labels, grids, and legends improve understanding.

Colors and styles help highlight key data.

Practice

(1/5)
1. What is the main purpose of adding a legend to a matplotlib plot?
easy
A. To explain what different colors or markers represent
B. To change the plot's background color
C. To save the plot as an image file
D. To remove grid lines from the plot

Solution

  1. Step 1: Understand what a legend does

    A legend shows labels for different plot elements like colors or markers.
  2. Step 2: Match legend purpose to options

    Only To explain what different colors or markers represent describes explaining plot elements, which is the legend's role.
  3. Final Answer:

    To explain what different colors or markers represent -> Option A
  4. Quick Check:

    Legend = Explain plot elements [OK]
Hint: Legend explains plot symbols and colors [OK]
Common Mistakes:
  • Confusing legend with grid or background settings
  • Thinking legend saves the plot
  • Assuming legend removes plot elements
2. Which of the following is the correct way to add a title to a matplotlib plot?
easy
A. plt.set_title('My Plot')
B. plt.add_title('My Plot')
C. plt.title('My Plot')
D. plt.plot_title('My Plot')

Solution

  1. Step 1: Recall matplotlib title syntax

    The correct function to add a title is plt.title().
  2. Step 2: Check options for correct function name

    Only plt.title('My Plot') uses plt.title('My Plot'), which is correct syntax.
  3. Final Answer:

    plt.title('My Plot') -> Option C
  4. Quick Check:

    Title function = plt.title() [OK]
Hint: Use plt.title() to add plot titles [OK]
Common Mistakes:
  • Using incorrect function names like set_title or add_title
  • Confusing title with label functions
  • Missing parentheses in function call
3. What will the following code display?
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6], marker='o', color='red')
plt.grid(True)
plt.xlabel('X axis')
plt.ylabel('Y axis')
plt.title('Sample Plot')
plt.show()
medium
A. A red line plot with circle markers, grid lines, and labeled axes with a title
B. A blue scatter plot without grid lines or labels
C. A red bar chart with no markers or grid
D. An empty plot with only axis labels

Solution

  1. Step 1: Analyze plot function and parameters

    The code plots points [1,2,3] vs [4,5,6] with red color and circle markers.
  2. Step 2: Check enhancements added

    Grid is enabled, x and y axes are labeled, and a title is set.
  3. Final Answer:

    A red line plot with circle markers, grid lines, and labeled axes with a title -> Option A
  4. Quick Check:

    Plot with markers, grid, labels, title = A red line plot with circle markers, grid lines, and labeled axes with a title [OK]
Hint: Look for markers, colors, grid, labels in code [OK]
Common Mistakes:
  • Confusing plot type (line vs scatter vs bar)
  • Ignoring grid or label commands
  • Assuming default colors or no markers
4. Identify the error in this code snippet that tries to add a legend:
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], label='Line 1')
plt.legend()
plt.show()
medium
A. The plot function is missing y-values
B. The legend function is called before plot
C. The label parameter is invalid in plot
D. There is no error; the code runs correctly

Solution

  1. Step 1: Check plot function parameters

    The plot call has only one list, so it treats it as y-values with x as indices 0,1,2.
  2. Step 2: Understand matplotlib behavior

    This is valid syntax; it plots y-values against default x-values. So no error here.
  3. Step 3: Re-examine options carefully

    The plot function is missing y-values says missing y-values, but y-values are given. The legend function is called before plot is wrong order. The label parameter is invalid in plot label is valid. There is no error; the code runs correctly says no error.
  4. Final Answer:

    There is no error; the code runs correctly -> Option D
  5. Quick Check:

    Code runs fine with legend after plot [OK]
Hint: Check if plot syntax matches matplotlib docs [OK]
Common Mistakes:
  • Assuming single list plot is invalid
  • Thinking legend must come before plot
  • Believing label is not accepted in plot
5. You want to create a scatter plot with blue triangles, add grid lines, and label axes as 'Height' and 'Weight'. Which code snippet correctly does this?
hard
A. plt.scatter(x, y, marker='s', color='red') plt.grid(True) plt.xlabel('Weight') plt.ylabel('Height')
B. plt.scatter(x, y, marker='^', color='blue') plt.grid(True) plt.xlabel('Height') plt.ylabel('Weight')
C. plt.plot(x, y, marker='o', color='green') plt.grid(False) plt.xlabel('Weight') plt.ylabel('Height')
D. plt.plot(x, y, marker='^', color='blue') plt.grid(True) plt.xlabel('Height') plt.ylabel('Weight')

Solution

  1. Step 1: Identify scatter plot with blue triangles

    Use plt.scatter() with marker='^' and color='blue'.
  2. Step 2: Check grid and axis labels

    Grid must be enabled with plt.grid(True), and axes labeled 'Height' and 'Weight' correctly.
  3. Step 3: Match code snippet to requirements

    plt.scatter(x, y, marker='^', color='blue') plt.grid(True) plt.xlabel('Height') plt.ylabel('Weight') matches all requirements exactly.
  4. Final Answer:

    plt.scatter(x, y, marker='^', color='blue') plt.grid(True) plt.xlabel('Height') plt.ylabel('Weight') -> Option B
  5. Quick Check:

    Scatter + blue triangles + grid + correct labels = plt.scatter(x, y, marker='^', color='blue') plt.grid(True) plt.xlabel('Height') plt.ylabel('Weight') [OK]
Hint: Scatter uses plt.scatter(), triangles marker='^', grid True [OK]
Common Mistakes:
  • Using plt.plot instead of plt.scatter for scatter plot
  • Wrong marker symbol for triangles
  • Swapping x and y axis labels
  • Forgetting to enable grid lines