Holoviews default colormap is not being applied
- Dominant language
- Python
- Stars
- 1.4k
- Forks
- 124
- Avg merge
- 1d 18h
- Merged PRs (30d)
- 1
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
```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`
```plaintext
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
```python
# 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
Contributor guide
Assessment
This issue has not been assessed yet.