Skip to content

matplotlib:Wistia#

Colorblind-friendly heatmap palette that relies on a green-to-red spectrum, which typically implies intensity or activity. For the red/green colorblind, these hues are particularly difficult to distinguish between. Most colorblind-friendly solutions rely on a different set of hues altogether (usually yellows and purples) to solve this problem, but this palette maintains the red/green symbolism while achieving deuteranopic legibility by varying the perceived brightness of the hues. To read more about its development and see examples, visit Wistia's blog post about it.

collection category license authors source
matplotlib Sequential MIT https://github.com/wistia/heatmap-palette
from cmap import Colormap

cm = Colormap("matplotlib:Wistia")  # case insensitive
import matplotlib.pyplot as plt
from cmap import Colormap

plt.imshow(data, cmap=Colormap("matplotlib:Wistia").to_mpl())
import plotly.express as px
from cmap import Colormap

px.imshow(data, color_continuous_scale=Colormap("matplotlib:Wistia").to_plotly())
import napari
from cmap import Colormap

napari.imshow(data, colormap=Colormap("matplotlib:Wistia").to_napari())
napari.run()
background: #E4FF7A;
background: linear-gradient(90deg, #E4FF7A 0%, #FFE81A 25%, #FFBD00 50%, #FFA000 75%, #FC7F00 100%);
import altair as alt
from cmap import Colormap

# df: a DataFrame with columns x, y and value
alt.Chart(df).mark_rect().encode(
    x="x:O",
    y="y:O",
    color=alt.Color(
        "value:Q", scale=alt.Scale(range=Colormap("matplotlib:Wistia").to_altair())
    ),
)
from bokeh.plotting import figure, show
from cmap import Colormap

p = figure()
p.image(
    image=[data], x=0, y=0, dw=1, dh=1,
    color_mapper=Colormap("matplotlib:Wistia").to_bokeh(),
)
show(p)
from vispy import app, scene
from cmap import Colormap

canvas = scene.SceneCanvas(show=True)
view = canvas.central_widget.add_view()
scene.visuals.Image(data, cmap=Colormap("matplotlib:Wistia").to_vispy(), parent=view.scene)
view.camera = scene.PanZoomCamera(aspect=1)
view.camera.set_range()
app.run()
import pygfx as gfx
from cmap import Colormap

image = gfx.Image(
    gfx.Geometry(grid=gfx.Texture(data, dim=2)),
    gfx.ImageBasicMaterial(
        clim=(data.min(), data.max()), map=Colormap("matplotlib:Wistia").to_pygfx()
    ),
)
gfx.show(image)
import pyqtgraph as pg
from cmap import Colormap

view = pg.image(data)
view.setColorMap(Colormap("matplotlib:Wistia").to_pyqtgraph())
pg.exec()
import ee
from cmap import Colormap

ee.Initialize(project="my-project")  # your Google Cloud project
elevation = ee.Image("CGIAR/SRTM90_V4")
image = elevation.visualize(
    min=0, max=3000, palette=Colormap("matplotlib:Wistia").to_gee()
)

See also usage with external libraries.

matplotlib:Wistiamatplotlib:Wistia colormap
matplotlib:Wistiamatplotlib:Wistia colormap

Perceptual lightness#

Lightness (J′) measured in CAM02 Uniform Color Space (CAM02-UCS)

RGB components#

Hue & saturation#