import numpy as np
import ultraplot as uplt

x = np.linspace(-4, 4, 180)
y = np.linspace(-4, 4, 180)
X, Y = np.meshgrid(x, y)
Z = np.exp(-(X**2 + Y**2) / 4) * np.cos(X * 2) * np.sin(Y * 2)

fig, ax = uplt.subplots()
ax.pcolormesh(X, Y, Z, cmap="batlow")
ax.format(title="Perceptually uniform batlow colormap")