weatherforecast1024's picture
Upload folder using huggingface_hub
d2f661a verified
import numpy as np
from matplotlib.colors import LinearSegmentedColormap
def yuv_rainbow_24(nc):
""" From https://github.com/ARM-DOE/pyart/blob/main/pyart/graph/_cm_colorblind.py
"""
path1 = np.linspace(0.8*np.pi, 1.8*np.pi, nc)
path2 = np.linspace(-0.33*np.pi, 0.33*np.pi, nc)
y = np.concatenate([np.linspace(0.3, 0.85, nc*2//5),
np.linspace(0.9, 0.0, nc - nc*2//5)])
u = 0.40*np.sin(path1)
v = 0.55*np.sin(path2) + 0.1
rgb_from_yuv = np.array([[1, 0, 1.13983],
[1, -0.39465, -0.58060],
[1, 2.03211, 0]])
cmap_dict = {'blue': [], 'green': [], 'red': []}
for i in range(len(y)):
yuv = np.array([y[i], u[i], v[i]])
rgb = rgb_from_yuv.dot(yuv)
red_tuple = (i/(len(y)-1.0), rgb[0], rgb[0])
green_tuple = (i/(len(y)-1.0), rgb[1], rgb[1])
blue_tuple = (i/(len(y)-1.0), rgb[2], rgb[2])
cmap_dict['blue'].append(blue_tuple)
cmap_dict['red'].append(red_tuple)
cmap_dict['green'].append(green_tuple)
return cmap_dict
homeyer_rainbow = LinearSegmentedColormap(
"homeyer_rainbow",
yuv_rainbow_24(15)
)