Source code for wntr.graphics.color
from matplotlib.colors import LinearSegmentedColormap, ListedColormap
import numpy as np
import matplotlib.pylab as plt
import logging
logger = logging.getLogger(__name__)
[docs]
def custom_colormap(N, colors=['blue','white','red'], name='custom'):
"""
Create a custom colormap. Default settings creates a colormap named 'custom'
which transitions from blue to white to red.
Parameters
-----------
N : int
Number of bins in the colormap.
colors : list of colors (optional)
Colors can be specified in any way understandable by
matplotlib.colors.ColorConverter.to_rgb().
name : str (optional)
Name of the colormap
Returns
--------
cmap : matplotlib.colors.LinearSegmentedColormap object
"""
cmap = LinearSegmentedColormap.from_list(name=name,
colors = colors,
N=N)
return cmap
[docs]
def random_colormap(N, colormap='jet', name='random', seed=None):
"""
Create a random ordered colormap. Default settings creates a colormap named 'random'
using the jet colormap.
Parameters
-----------
N : int
Number of bins in the colormap.
colormap : str (optional)
Name of matplotlib colormap
name : str (optional)
Name of the colormap
seed : int or None
Random seed
Returns
--------
cmap : matplotlib.colors.ListedColormap object
"""
if seed is not None:
np.random.seed(seed)
vals = np.arange(0,1,1/N)
np.random.shuffle(vals)
cmap = plt.get_cmap(colormap)
cmap_random = ListedColormap(cmap(vals), name=name)
return cmap_random