[1]:
%reload_ext autoreload
%autoreload 2
import numpy as np
import matplotlib.pyplot as plt
import excolor
Show Colormap
[2]:
# List qualitative colormaps
excolor.list_qualitative_cmaps()
Accent Qualitative
Accent_r Qualitative
Dark2 Qualitative
Dark2_r Qualitative
Paired Qualitative
Paired_r Qualitative
Pastel1 Qualitative
Pastel1_r Qualitative
Pastel2 Qualitative
Pastel2_r Qualitative
Set1 Qualitative
Set1_r Qualitative
Set2 Qualitative
Set2_r Qualitative
Set3 Qualitative
Set3_r Qualitative
tab10 Qualitative
tab10_r Qualitative
tab20 Qualitative
tab20_r Qualitative
tab20b Qualitative
tab20b_r Qualitative
tab20c Qualitative
tab20c_r Qualitative
BrBu Qualitative
BrBu_r Qualitative
BrGn Qualitative
BrGn_r Qualitative
OrBu Qualitative
OrBu_r Qualitative
OrGn Qualitative
OrGn_r Qualitative
PiBu Qualitative
PiBu_r Qualitative
rtd Qualitative
rtd_r Qualitative
artdeco Qualitative
artdeco_r Qualitative
cyberpunk Qualitative
cyberpunk_r Qualitative
synthwave Qualitative
synthwave_r Qualitative
gruvbox_light Qualitative
gruvbox_light_r Qualitative
gruvbox Qualitative
gruvbox_r Qualitative
cobalt Qualitative
cobalt_r Qualitative
noctis Qualitative
noctis_r Qualitative
monokai Qualitative
monokai_r Qualitative
oceanic Qualitative
oceanic_r Qualitative
[3]:
# Show "rtd" colormap
excolor.show_cmap("rtd")
rtd
Qualitative: True
Continuous: False
Divergent: False
Cyclic: False
10 sample colors:
['#206390', '#2980BA', '#419AD5', '#6BB0DE', '#94C6E8', '#FFFFFF', '#EEFFCC', '#DDFF99', '#CCFF66', '#BBFF33']
Background color: #040D13
['#040D13']
Show Colors
[4]:
# Get colors from colormap
colors = excolor.get_colors("rtd", n=24)
# Show colors
excolor.show_colors(colors)
['#206390', '#236EA0', '#2779B0', '#2D84BE', '#358DC8', '#3F98D3', '#4EA1D8', '#5FAADB', '#70B3E0', '#80BCE3', '#91C4E7', '#B5D7EF', '#DEEEF8', '#FEFFFB', '#F7FFE6', '#F0FFD3', '#E9FFBD', '#E2FFAA', '#DCFF95', '#D5FF80', '#CFFF6D', '#C8FF5A', '#C1FF46', '#BBFF33']
Generate palette from a seed color
Mode “superellipse” defines the path from black to white. Higher degree produces more vibrant colors.
[5]:
# Seed color
color = '#70B3E0'
# Generate palette
colors = excolor.generate_palette(color, mode='superellipse', power=3)
# Show colors
excolor.show_colors(colors)
['#FFFFFF', '#CCF8FF', '#9DDAFF', '#77B9E6', '#5498C5', '#3276A4', '#125481', '#00325B', '#00112E', '#000000']
Generate primary colors palette from the same color
[6]:
# Seed color
color = '#70B3E0'
# Generate a palette for primary CSS colors
primary_colors = excolor.generate_primary_palette(color)
# Show primary colors
excolor.show_colors(primary_colors)
/* Snap color palette */
:root {
--primary-color-1: #DBFDFF;
--primary-color-2: #B6ECFF;
--primary-color-3: #97D5FF;
--primary-color-4: #7BBDEA;
--primary-color-5: #62A5D3;
--primary-color-6: #498DBB;
--primary-color-7: #3175A2;
--primary-color-8: #195C89;
--primary-color-9: #03446F;
}
['#DBFDFF', '#B6ECFF', '#97D5FF', '#7BBDEA', '#62A5D3', '#498DBB', '#3175A2', '#195C89', '#03446F']
Generate background colors palette from the same color
[7]:
# Seed color
color = '#70B3E0'
# Generate a palette for background CSS colors
background_colors = excolor.generate_background_palette(color)
# Show background colors
excolor.show_colors(background_colors)
/* Deep Azure color palette */
:root {
--background-color-1: #195C89;
--background-color-2: #0E507D;
--background-color-3: #03446F;
--background-color-4: #003861;
--background-color-5: #002B53;
--background-color-6: #001F43;
--background-color-7: #001332;
--background-color-8: #000920;
--background-color-9: #00030F;
}
['#195C89', '#0E507D', '#03446F', '#003861', '#002B53', '#001F43', '#001332', '#000920', '#00030F']
Generate foreground colors palette from the same color
[8]:
# Seed color
color = '#70B3E0'
# Generate a palette for foreground CSS colors
foreground_colors = excolor.generate_foreground_palette(color)
# Show foreground colors
excolor.show_colors(foreground_colors)
/* Fresh Air color palette */
:root {
--foreground-color-1: #EFFFFF;
--foreground-color-2: #DBFDFF;
--foreground-color-3: #C8F6FF;
--foreground-color-4: #B6ECFF;
--foreground-color-5: #A6E1FF;
--foreground-color-6: #97D5FF;
--foreground-color-7: #89C9F5;
--foreground-color-8: #7BBDEA;
--foreground-color-9: #6EB1DE;
}
['#EFFFFF', '#DBFDFF', '#C8F6FF', '#B6ECFF', '#A6E1FF', '#97D5FF', '#89C9F5', '#7BBDEA', '#6EB1DE']
Set colorcycler for a plot
By default sets cycler for the current matplotlib ax. To set for current python session use parameter: globally=True.
[9]:
# Generate sample data
x = np.arange(7)
y1 = [1, 4, 9, 5, 2, 1, 1]
y2 = [2, 3, 4, 3, 4, 5, 3]
y3 = [4, 5, 5, 7, 9, 8, 6]
# List of data and labels
labels = ['Series A', 'Series B', 'Series C']
data = [y1, y2, y3]
# Show data
plt.figure(figsize=(10, 6))
# SET COLOR CYCLER HERE
excolor.set_color_cycler("rtd")
# Plot data
for i, y in enumerate(data):
plt.plot(x, y, label=labels[i], linewidth=3)
plt.scatter(x, y, s = 100)
# Add labels and legend
plt.title("Combined Line, Scatter, and Fill Plot")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")
plt.grid(True, linestyle='--', alpha=0.3)
plt.legend()
plt.tight_layout()
plt.show()
Log-scaled colormap
[10]:
# Import and generate perlin noise array
from pythonperlin import perlin
dens = 32
shape = (8,8)
x = perlin(shape, dens=dens)
# Log-scaled colormap
log_cmap = excolor.logscale_cmap("rtd")
# Apply log-scaled colormap
plt.figure(figsize=(6,6), facecolor="#00000000")
plt.imshow(np.abs(x), cmap=log_cmap)
plt.axis("off")
plt.show()
[ ]: