0
0
MatplotlibHow-ToBeginner ยท 3 min read

How to Use Custom Colors in Matplotlib for Better Plots

To use custom colors in matplotlib, you can specify colors by name, hex code, or RGB tuples in plotting functions using the color parameter. This lets you personalize your plots with any color you want by passing strings like 'red', hex strings like '#FF5733', or tuples like (0.1, 0.2, 0.5).
๐Ÿ“

Syntax

You specify custom colors in matplotlib plotting functions using the color argument. This argument accepts:

  • Color names: Common color names like 'blue', 'green', 'red'.
  • Hex codes: Strings starting with # followed by 6 hex digits, e.g., '#FF5733'.
  • RGB or RGBA tuples: Tuples with 3 or 4 floats between 0 and 1, e.g., (0.1, 0.2, 0.5).
python
plt.plot(x, y, color='color_value')
๐Ÿ’ป

Example

This example shows how to plot three lines with different custom colors: a named color, a hex color, and an RGB tuple.

python
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y1 = [1, 4, 9, 16, 25]
y2 = [2, 3, 5, 7, 11]
y3 = [5, 7, 6, 8, 7]

plt.plot(x, y1, color='orange', label='Named color')
plt.plot(x, y2, color='#4CAF50', label='Hex color')
plt.plot(x, y3, color=(0.2, 0.4, 0.6), label='RGB tuple')

plt.legend()
plt.title('Custom Colors in Matplotlib')
plt.show()
Output
A plot window with three lines: orange, green (#4CAF50), and a blueish RGB color (0.2, 0.4, 0.6).
โš ๏ธ

Common Pitfalls

Common mistakes when using custom colors include:

  • Using invalid color names that matplotlib does not recognize.
  • Incorrect hex codes (wrong length or missing #).
  • RGB tuples with values outside the 0 to 1 range.
  • Passing color as a positional argument instead of using the color keyword.

Always check your color format carefully to avoid errors or unexpected colors.

python
import matplotlib.pyplot as plt

x = [1, 2, 3]
y = [1, 4, 9]

# Wrong: invalid color name
# plt.plot(x, y, color='orang')  # This will cause an error

# Correct:
plt.plot(x, y, color='orange')
plt.show()
Output
A plot with a single orange line.
๐Ÿ“Š

Quick Reference

Color FormatExampleDescription
Named color'red'Common color names supported by matplotlib
Hex code'#1f77b4'6-digit hex color code starting with #
RGB tuple(0.1, 0.2, 0.5)Tuple of floats between 0 and 1 for red, green, blue
RGBA tuple(0.1, 0.2, 0.5, 0.7)RGB plus alpha for transparency
โœ…

Key Takeaways

Use the color parameter in matplotlib plotting functions to set custom colors.
Colors can be specified by name, hex code, or RGB(A) tuples with values from 0 to 1.
Invalid color names or formats cause errors or unexpected colors.
Hex codes must start with # and have exactly 6 hex digits.
RGB tuples must have values between 0 and 1 for each color channel.