#Get the perfect color palette with Seaborn
While seaborn provides much more stylish plots than the 90s-looking matplotlib, I have often struggled to get the right color palette for my data visualisations. Here are some simple one-liners to help you choose the perfect fitting palette for your graphs.
Current palette
# Import library
import seaborn as sns
# Call the current horrible color palette
sns.color_palette()On the matplotlib site is the list of all pre-defined color palettes. There are dozens of them, discrete or sequential.
Generate a custom discrete palette
To get a palette with n discrete colors, just name it and choose your number of colors:
# Get a palette with n colors
sns.color_palette("autumn", 6)You can get the list of each color in RGB format:
# Get the list of colors in RGB tuples
[i for i in sns.color_palette("autumn", 6)][(1.0, 0.1411764705882353, 0.0),
(1.0, 0.28627450980392155, 0.0),
(1.0, 0.42745098039215684, 0.0),
(1.0, 0.5725490196078431, 0.0),
(1.0, 0.7137254901960784, 0.0),
(1.0, 0.8588235294117647, 0.0)]To extract the color list in hexadecimal format, just add .as_hex():
# Get the list of hex colors
[i for i in sns.color_palette("autumn", 6).as_hex()]['#ff2400', '#ff4900', '#ff6d00', '#ff9200', '#ffb600', '#ffdb00']Generate a sequential palette from one color
You can simply create sequential palettes from a single color, including from a HTML color name, with light_palette() and dark_palette():
# Create a light palette
sns.light_palette("firebrick", as_cmap=True)

# Create a dark, reversed palette
sns.dark_palette("#008080", reverse=True, as_cmap=True)
