-
-
Notifications
You must be signed in to change notification settings - Fork 117
Description
ALL software version info
(this library, plus any other relevant software, e.g. bokeh, python, notebook, OS, browser, etc should be added within the dropdown below.)
Software Version Info
pyproject.toml
[project]
name = "hv-colormap-test"
version = "0.1.0"
requires-python = ">=3.13"
dependencies = [
"hvplot>=0.12.2",
"jupyter>=1.1.1",
"xarray>=2025.12.0",
]output of uv pip list
Package Version
------------------------- -----------
anyio 4.12.1
argon2-cffi 25.1.0
argon2-cffi-bindings 25.1.0
arrow 1.4.0
asttokens 3.0.1
async-lru 2.1.0
attrs 25.4.0
babel 2.17.0
beautifulsoup4 4.14.3
bleach 6.3.0
bokeh 3.8.2
certifi 2026.1.4
cffi 2.0.0
charset-normalizer 3.4.4
colorcet 3.1.0
comm 0.2.3
contourpy 1.3.3
debugpy 1.8.19
decorator 5.2.1
defusedxml 0.7.1
executing 2.2.1
fastjsonschema 2.21.2
fqdn 1.5.1
h11 0.16.0
holoviews 1.22.1
httpcore 1.0.9
httpx 0.28.1
hvplot 0.12.2
idna 3.11
ipykernel 7.1.0
ipython 9.9.0
ipython-pygments-lexers 1.1.1
ipywidgets 8.1.8
isoduration 20.11.0
jedi 0.19.2
jinja2 3.1.6
json5 0.13.0
jsonpointer 3.0.0
jsonschema 4.26.0
jsonschema-specifications 2025.9.1
jupyter 1.1.1
jupyter-client 8.8.0
jupyter-console 6.6.3
jupyter-core 5.9.1
jupyter-events 0.12.0
jupyter-lsp 2.3.0
jupyter-server 2.17.0
jupyter-server-terminals 0.5.4
jupyterlab 4.5.3
jupyterlab-pygments 0.3.0
jupyterlab-server 2.28.0
jupyterlab-widgets 3.0.16
lark 1.3.1
linkify-it-py 2.0.3
markdown 3.10.1
markdown-it-py 4.0.0
markupsafe 3.0.3
matplotlib-inline 0.2.1
mdit-py-plugins 0.5.0
mdurl 0.1.2
mistune 3.2.0
narwhals 2.15.0
nbclient 0.10.4
nbconvert 7.16.6
nbformat 5.10.4
nest-asyncio 1.6.0
notebook 7.5.3
notebook-shim 0.2.4
numpy 2.4.1
packaging 26.0
pandas 3.0.0
pandocfilters 1.5.1
panel 1.8.6
param 2.3.1
parso 0.8.5
pexpect 4.9.0
pillow 12.1.0
platformdirs 4.5.1
prometheus-client 0.24.1
prompt-toolkit 3.0.52
psutil 7.2.1
ptyprocess 0.7.0
pure-eval 0.2.3
pycparser 3.0
pygments 2.19.2
python-dateutil 2.9.0.post0
python-json-logger 4.0.0
pyviz-comms 3.0.6
pyyaml 6.0.3
pyzmq 27.1.0
referencing 0.37.0
requests 2.32.5
rfc3339-validator 0.1.4
rfc3986-validator 0.1.1
rfc3987-syntax 1.1.0
rpds-py 0.30.0
send2trash 2.1.0
setuptools 80.10.2
six 1.17.0
soupsieve 2.8.3
stack-data 0.6.3
terminado 0.18.1
tinycss2 1.4.0
tornado 6.5.4
tqdm 4.67.1
traitlets 5.14.3
typing-extensions 4.15.0
tzdata 2025.3
uc-micro-py 1.0.3
uri-template 1.3.0
urllib3 2.6.3
wcwidth 0.5.0
webcolors 25.10.0
webencodings 0.5.1
websocket-client 1.9.0
widgetsnbextension 4.0.15
xarray 2025.12.0
xyzservices 2025.11.0
Description of expected behavior and the observed behavior
Changing the default colormap through hv.opts.defaults(hv.opts.Image(cmap=...)) does not affect the default colormap. In the documentation, I couldn't find another way to set the default. Setting the defaults for e.g. line plots using hv.opts.Curve works.
Complete, minimal, self-contained example code that reproduces the issue
# code goes here between backticks
import xarray as xr
import numpy as np
import holoviews as hv
import hvplot.xarray
hv.extension("bokeh")
hv.opts.defaults(
hv.opts.Image(cmap="viridis"),
)
arr = xr.DataArray(
np.random.default_rng().random((10, 10)),
coords=[("x", np.linspace(0, 1, 10)), ("y", np.arange(10))],
name="example",
)
arr.hvplot.image()Stack traceback and/or browser JavaScript console output
N/A
Screenshots or screencasts of the bug in action
With the MWE code, the plot is using the default blue colormap:

Note that normal hv plotting applies the colormap correctly:
We can also check that defaults set in the same way are applied for line plots:
I also tried hv.config(default_cmap="viridis", default_gridded_cmap="viridis", default_heatmap_cmap="viridis"), but it did not help either. hv.config shows the default_cmap unchanged after setting it with hv.opts.defaults, I'm not sure what is the relationship between hv.config and hv.opts.defaults.
- I may be interested in making a pull request to address this