0
0
Matplotlibdata~20 mins

Why patterns solve common tasks in Matplotlib - Challenge Your Understanding

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Pattern Mastery in Data Visualization
Get all challenges correct to earn this badge!
Test your skills under time pressure!
visualization
intermediate
2:00remaining
Identify the correct pattern for plotting multiple lines

You want to plot three lines on the same graph using matplotlib. Which code pattern correctly plots all three lines with different colors?

Matplotlib
import matplotlib.pyplot as plt

x = [1, 2, 3, 4]
y1 = [1, 4, 9, 16]
y2 = [2, 3, 5, 7]
y3 = [3, 5, 7, 11]
A
plt.plot(x, y1, 'r')
plt.plot(x, y2, 'g')
plt.plot(x, y3, 'b')
plt.show()
B
plt.plot(x, y1)
plt.plot(x, y2)
plt.plot(x, y3)
plt.show()
C
plt.plot(x, y1, 'r', x, y2, 'g', x, y3, 'b')
plt.show()
D
plt.plot(y1, 'r')
plt.plot(y2, 'g')
plt.plot(y3, 'b')
plt.show()
Attempts:
2 left
💡 Hint

Check how multiple lines can be plotted in one call to plt.plot().

Predict Output
intermediate
2:00remaining
Output of a loop plotting pattern

What will be the output of this matplotlib code snippet?

Matplotlib
import matplotlib.pyplot as plt

x = [0, 1, 2]
for i in range(3):
    plt.plot(x, [j*(i+1) for j in x])
plt.show()
AThree lines plotted with slopes 1, 2, and 3 respectively
BOne line plotted with slope 3
CError because plt.plot inside loop is not allowed
DThree lines plotted but all overlap with slope 1
Attempts:
2 left
💡 Hint

Consider how the loop changes the y-values for each line.

🔧 Debug
advanced
2:00remaining
Find the error in this plotting pattern

What error does this code raise?

Matplotlib
import matplotlib.pyplot as plt

x = [1, 2, 3]
y = [4, 5]
plt.plot(x, y)
plt.show()
AValueError: x and y must have same first dimension
BTypeError: unsupported operand type(s) for +
CSyntaxError: invalid syntax
DNo error, plots a line
Attempts:
2 left
💡 Hint

Check if x and y lists have the same length.

🚀 Application
advanced
2:00remaining
Choose the best pattern to add labels and legend

You want to plot two lines and add labels and a legend. Which code pattern correctly does this?

Matplotlib
import matplotlib.pyplot as plt

x = [1, 2, 3]
y1 = [2, 4, 6]
y2 = [1, 3, 5]
A
plt.plot(x, y1)
plt.plot(x, y2)
plt.show()
B
plt.plot(x, y1, label='Line 1')
plt.plot(x, y2, label='Line 2')
plt.legend()
plt.xlabel('X axis')
plt.ylabel('Y axis')
plt.show()
C
plt.plot(x, y1, label='Line 1')
plt.plot(x, y2, label='Line 2')
plt.show()
D
plt.plot(x, y1)
plt.plot(x, y2)
plt.legend(['Line 1', 'Line 2'])
plt.xlabel('X axis')
plt.ylabel('Y axis')
plt.show()
Attempts:
2 left
💡 Hint

Check how labels and legends are added in matplotlib.

🧠 Conceptual
expert
2:00remaining
Why use plotting patterns in data science?

Which statement best explains why using common plotting patterns is important in data science?

AThey automatically clean data before plotting
BThey guarantee the fastest execution time for plotting
CThey allow plotting without importing any libraries
DThey reduce code repetition and make plots easier to read and maintain
Attempts:
2 left
💡 Hint

Think about code clarity and efficiency.