[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
../_images/notebooks_examples_3_1.png
10 sample colors:
['#206390', '#2980BA', '#419AD5', '#6BB0DE', '#94C6E8', '#FFFFFF', '#EEFFCC', '#DDFF99', '#CCFF66', '#BBFF33']
../_images/notebooks_examples_3_3.png
Background color: #040D13
['#040D13']
../_images/notebooks_examples_3_5.png

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']
../_images/notebooks_examples_5_1.png

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']
../_images/notebooks_examples_7_1.png

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']
../_images/notebooks_examples_9_1.png

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']
../_images/notebooks_examples_11_1.png

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']
../_images/notebooks_examples_13_1.png

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()

../_images/notebooks_examples_15_0.png

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()
../_images/notebooks_examples_17_0.png
[ ]: