Bird
Raised Fist0
Matplotlibdata~20 mins

Named colors and hex codes in Matplotlib - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Color Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What color will this plot line be?
Look at the code below. What color will the line be when plotted using matplotlib?
Matplotlib
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6], color='navy')
plt.show()
AA dark blue line
BA bright red line
CA black line
DA green line
Attempts:
2 left
💡 Hint
Named colors like 'navy' correspond to specific hex codes representing colors.
❓ data_output
intermediate
2:00remaining
What hex code does this named color represent?
Given the named color 'tomato' in matplotlib, what is its hex code?
Matplotlib
import matplotlib.colors as mcolors
hex_code = mcolors.CSS4_COLORS['tomato']
print(hex_code)
A#ffa500
B#ff4500
C#ff0000
D#ff6347
Attempts:
2 left
💡 Hint
Check the CSS4_COLORS dictionary for the exact hex code.
❓ visualization
advanced
2:00remaining
Identify the color shown by this hex code
This code plots a line with color '#8A2BE2'. What named color does this hex code represent?
Matplotlib
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [3, 2, 1], color='#8A2BE2')
plt.show()
ABlueViolet
BDarkViolet
CMediumPurple
DSlateBlue
Attempts:
2 left
💡 Hint
Look up the hex code '#8A2BE2' in matplotlib's named colors.
🧠 Conceptual
advanced
2:00remaining
Why use named colors instead of hex codes?
Which of the following is the best reason to use named colors like 'crimson' instead of hex codes like '#DC143C' in matplotlib?
ANamed colors always produce brighter colors than hex codes.
BNamed colors are easier to remember and understand than hex codes.
CHex codes are not supported in matplotlib.
DNamed colors use less memory than hex codes.
Attempts:
2 left
💡 Hint
Think about readability and ease of use.
🔧 Debug
expert
2:00remaining
What error does this code raise?
What error will this matplotlib code raise?
Matplotlib
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6], color='#GGHHII')
plt.show()
ANo error, plots with default color
BSyntaxError: invalid hexadecimal literal
CValueError: Invalid RGBA argument
DTypeError: color must be a string
Attempts:
2 left
💡 Hint
Hex codes must contain valid hexadecimal digits (0-9, A-F).

Practice

(1/5)
1. Which of the following is a valid named color in matplotlib?
easy
A. #12345G
B. bluish
C. red
D. 123456

Solution

  1. Step 1: Understand named colors in matplotlib

    Matplotlib supports standard color names like 'red', 'blue', 'green', etc.
  2. Step 2: Check each option

    red is 'red', a valid named color. #12345G has an invalid hex code with 'G'. bluish 'bluish' is not a recognized name. 123456 is just digits, not a named color.
  3. Final Answer:

    red -> Option C
  4. Quick Check:

    Named color 'red' is valid [OK]
Hint: Named colors are simple words like 'red' or 'blue' [OK]
Common Mistakes:
  • Confusing invalid hex codes as named colors
  • Assuming any color-like word is valid
  • Using numbers without '#' as colors
2. Which of the following is the correct way to specify a hex color code in matplotlib?
easy
A. "#1a2b3c"
B. "1a2b3c"
C. "#12345"
D. "#xyz123"

Solution

  1. Step 1: Recall hex color code format

    Hex codes start with '#' followed by exactly 6 hexadecimal digits (0-9, a-f).
  2. Step 2: Validate each option

    "#1a2b3c" has '#' and 6 valid hex digits. "1a2b3c" misses '#'. "#12345" has only 5 digits. "#xyz123" contains invalid letters 'x' and 'z'.
  3. Final Answer:

    "#1a2b3c" -> Option A
  4. Quick Check:

    Hex code must start with '#' and have 6 hex digits [OK]
Hint: Hex codes start with '#' and have 6 hex digits [OK]
Common Mistakes:
  • Omitting the '#' symbol
  • Using wrong number of digits
  • Including invalid characters
3. What color will the following matplotlib code produce?
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], color="#00FF00")
plt.show()
medium
A. Black
B. Blue
C. Red
D. Green

Solution

  1. Step 1: Understand the hex code used

    "#00FF00" is a hex code where red=00, green=FF, blue=00, meaning full green.
  2. Step 2: Match hex code to color

    Since green is max and others zero, the line color will be bright green.
  3. Final Answer:

    Green -> Option D
  4. Quick Check:

    "#00FF00" means green color [OK]
Hint: Hex #00FF00 means full green, no red or blue [OK]
Common Mistakes:
  • Confusing hex digits order
  • Assuming #00FF00 is blue
  • Ignoring case sensitivity in hex
4. Identify the error in this matplotlib color specification:
plt.plot([1, 2, 3], color="#123ABZ")
medium
A. Missing '#' in hex code
B. Invalid hex code due to 'Z'
C. Color name not recognized
D. Syntax error in plot function

Solution

  1. Step 1: Check hex code characters

    Hex codes only allow digits 0-9 and letters A-F (case insensitive). 'Z' is invalid.
  2. Step 2: Confirm error type

    The code has '#' and correct length, but 'Z' makes it invalid hex code.
  3. Final Answer:

    Invalid hex code due to 'Z' -> Option B
  4. Quick Check:

    Hex digits must be 0-9 or A-F only [OK]
Hint: Hex codes only use digits 0-9 and letters A-F [OK]
Common Mistakes:
  • Ignoring invalid characters in hex
  • Confusing missing '#' with invalid chars
  • Assuming any letter is allowed in hex
5. You want to plot two lines in matplotlib: one red and one with a custom color #FF8800. Which code snippet correctly sets these colors?
hard
A. plt.plot(x, y1, color='red') plt.plot(x, y2, color='#FF8800')
B. plt.plot(x, y1, color='#red') plt.plot(x, y2, color='FF8800')
C. plt.plot(x, y1, color='ff8800') plt.plot(x, y2, color='red')
D. plt.plot(x, y1, color='red') plt.plot(x, y2, color='FF8800')

Solution

  1. Step 1: Check named color usage

    Named colors like 'red' are used as strings without '#'. Adding '#' to named colors makes them invalid.
  2. Step 2: Check hex code usage

    Hex codes must start with '#'. Omitting '#' for hex colors like 'FF8800' or using lowercase without '#' is invalid.
  3. Final Answer:

    plt.plot(x, y1, color='red') plt.plot(x, y2, color='#FF8800') -> Option A
  4. Quick Check:

    Named colors no '#', hex codes start with '#' [OK]
Hint: Named colors no '#'; hex codes start with '#' [OK]
Common Mistakes:
  • Adding '#' to named colors
  • Omitting '#' in hex codes
  • Using lowercase hex without '#'
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