Bird
Raised Fist0
Matplotlibdata~20 mins

Basic plt.plot usage in Matplotlib - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Matplotlib Plot Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What does this matplotlib code plot?
Consider the following Python code using matplotlib. What kind of plot will it produce?
Matplotlib
import matplotlib.pyplot as plt
x = [1, 2, 3, 4]
y = [10, 20, 25, 30]
plt.plot(x, y)
plt.show()
AA line graph connecting points (1,10), (2,20), (3,25), (4,30)
BA scatter plot with points at (1,10), (2,20), (3,25), (4,30)
CA bar chart with bars at x=1,2,3,4 with heights 10,20,25,30
DAn empty plot with no data shown
Attempts:
2 left
💡 Hint
plt.plot by default draws lines connecting points.
❓ data_output
intermediate
1:30remaining
What is the y-value of the third point plotted?
Given this code snippet, what is the y-value of the third point plotted?
Matplotlib
import matplotlib.pyplot as plt
x = [0, 1, 2, 3]
y = [5, 15, 25, 35]
plt.plot(x, y)
plt.show()
A25
B15
C35
D5
Attempts:
2 left
💡 Hint
Indexing starts at 0, so the third point is at index 2.
❓ visualization
advanced
2:30remaining
Which option produces a red dashed line plot?
Which code snippet will produce a red dashed line connecting points (1,2), (2,4), (3,6)?
Aplt.plot([1,2,3], [2,4,6], 'g-')
Bplt.plot([1,2,3], [2,4,6], color='blue', linestyle='--')
Cplt.plot([1,2,3], [2,4,6], 'r--')
Dplt.plot([1,2,3], [2,4,6], linestyle=':')
Attempts:
2 left
💡 Hint
The format string 'r--' means red dashed line.
🔧 Debug
advanced
2:00remaining
What error does this code raise?
What error will this code raise when executed?
Matplotlib
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [4, 5]
plt.plot(x, y)
plt.show()
ATypeError: unsupported operand type(s)
BValueError: x and y must have same first dimension
CIndexError: list index out of range
DNo error, plot will display correctly
Attempts:
2 left
💡 Hint
x and y lists must be the same length for plt.plot.
🚀 Application
expert
2:30remaining
How many lines will this code plot?
Given this code, how many separate lines will appear in the plot?
Matplotlib
import matplotlib.pyplot as plt
x = [1, 2, 3]
y1 = [2, 4, 6]
y2 = [1, 3, 5]
plt.plot(x, y1, x, y2)
plt.show()
A3
B1
C0
D2
Attempts:
2 left
💡 Hint
plt.plot can take multiple x,y pairs to plot multiple lines.

Practice

(1/5)
1. What does the plt.plot(x, y) function do in matplotlib?
easy
A. It creates a bar chart from x and y data.
B. It clears the current plot.
C. It saves the plot as an image file.
D. It draws a line connecting points defined by x and y data.

Solution

  1. Step 1: Understand plt.plot function

    The plt.plot(x, y) function connects points defined by x and y coordinates with lines.
  2. Step 2: Differentiate from other functions

    Other options describe different matplotlib functions: bar chart, saving, or clearing plots, which are not done by plt.plot.
  3. Final Answer:

    It draws a line connecting points defined by x and y data. -> Option D
  4. Quick Check:

    plt.plot connects points with lines [OK]
Hint: Remember: plt.plot connects points with lines [OK]
Common Mistakes:
  • Confusing plt.plot with bar chart functions
  • Thinking plt.plot saves images
  • Assuming plt.plot clears plots
2. Which of the following is the correct syntax to plot y versus x using matplotlib?
easy
A. plt.plot(x = y)
B. plt.plot(y, x)
C. plt.plot(x, y)
D. plt.plot(y)

Solution

  1. Step 1: Check the order of parameters in plt.plot

    The first argument is x data, the second is y data, so plt.plot(x, y) is correct.
  2. Step 2: Identify incorrect syntax

    Options A uses invalid keyword argument, B reverses x and y, and D misses x data.
  3. Final Answer:

    plt.plot(x, y) -> Option C
  4. Quick Check:

    Correct order is x then y [OK]
Hint: Plot syntax is plt.plot(x, y) with x first [OK]
Common Mistakes:
  • Swapping x and y arguments
  • Using invalid keyword arguments
  • Providing only one argument without x
3. What will be the output of this code?
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [4, 5, 6]
plt.plot(x, y)
plt.show()
medium
A. No plot will be shown because plt.show() is missing.
B. A line graph connecting points (1,4), (2,5), and (3,6).
C. A bar chart with bars at x=1,2,3 with heights 4,5,6.
D. A scatter plot of points (1,4), (2,5), and (3,6).

Solution

  1. Step 1: Understand plt.plot with x and y lists

    The code plots points (1,4), (2,5), and (3,6) connected by lines.
  2. Step 2: Confirm plt.show() displays the plot

    The plt.show() command displays the line graph on screen.
  3. Final Answer:

    A line graph connecting points (1,4), (2,5), and (3,6). -> Option B
  4. Quick Check:

    plt.plot + plt.show = line graph [OK]
Hint: plt.plot draws lines; plt.show displays them [OK]
Common Mistakes:
  • Confusing plt.plot with scatter plot
  • Thinking plt.plot creates bar charts
  • Forgetting plt.show to display plot
4. Identify the error in this code snippet:
import matplotlib.pyplot as plt
x = [1, 2, 3]
y = [4, 5]
plt.plot(x, y)
plt.show()
medium
A. x and y lists have different lengths causing an error.
B. plt.plot requires only one argument, so two are invalid.
C. plt.show() is missing to display the plot.
D. No error; the plot will display correctly.

Solution

  1. Step 1: Check lengths of x and y lists

    x has 3 elements, y has 2 elements; they must be equal length for plt.plot.
  2. Step 2: Understand plt.plot requirements

    plt.plot needs x and y lists of same length to pair points; mismatch causes error.
  3. Final Answer:

    x and y lists have different lengths causing an error. -> Option A
  4. Quick Check:

    Equal length x and y needed [OK]
Hint: x and y must have same length for plt.plot [OK]
Common Mistakes:
  • Ignoring length mismatch of x and y
  • Thinking plt.plot accepts different length lists
  • Assuming plt.show() missing causes error
5. You want to plot two lines on the same graph: y = x and y = x² for x values 0 to 3. Which code correctly does this?
hard
A. plt.plot([0,1,2,3], [0,1,2,3]) plt.plot([0,1,2,3], [0,1,4,9]) plt.show()
B. plt.plot([0,1,2,3], [0,1,4,9]) plt.show() plt.plot([0,1,2,3], [0,1,2,3])
C. plt.plot([0,1,2,3], [0,1,2,3], [0,1,4,9]) plt.show()
D. plt.plot([0,1,2,3], [0,1,2,3]) plt.show() plt.plot([0,1,2,3], [0,1,4,9])

Solution

  1. Step 1: Plot first line y = x

    Use plt.plot([0,1,2,3], [0,1,2,3]) to plot y = x.
  2. Step 2: Plot second line y = x² on same graph

    Use plt.plot([0,1,2,3], [0,1,4,9]) to plot y = x² on same figure before plt.show().
  3. Step 3: Call plt.show() once after both plots

    Calling plt.show() displays both lines together.
  4. Final Answer:

    plt.plot([0,1,2,3], [0,1,2,3]) plt.plot([0,1,2,3], [0,1,4,9]) plt.show() -> Option A
  5. Quick Check:

    Multiple plt.plot calls before plt.show() [OK]
Hint: Call plt.plot twice, then plt.show once [OK]
Common Mistakes:
  • Calling plt.show() before all plots
  • Trying to plot two lines in one plt.plot call incorrectly
  • Plotting lines in wrong order (does not affect but confuses)
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