Цветовые карты нормализуются в диапазоне 0..1.Таким образом, если ваши пределы данных -1,1, -0,6 будет нормализовано до 0,2, +0,6 будет нормализовано до 0,8.
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.colors
norm = matplotlib.colors.Normalize(-1,1)
colors = [[norm(-1.0), "darkblue"],
[norm(-0.6), "lightgrey"],
[norm( 0.6), "lightgrey"],
[norm( 1.0), "red"]]
cmap = matplotlib.colors.LinearSegmentedColormap.from_list("", colors)
fig, ax=plt.subplots()
x = np.arange(10)
y = np.linspace(-1,1,10)
sc = ax.scatter(x,y, c=y, norm=norm, cmap=cmap)
fig.colorbar(sc, orientation="horizontal")
plt.show()