ALL software version info
Software Version Info
pyproject.toml:
[project]
name = "hvplot-quadmesh-timezone"
version = "0.1.0"
requires-python = ">=3.13"
dependencies = [
"hvplot>=0.12.2",
"jupyter>=1.1.1",
"xarray>=2026.2.0",
]
Output of uv pip freeze:
anyio==4.13.0
argon2-cffi==25.1.0
argon2-cffi-bindings==25.1.0
arrow==1.4.0
asttokens==3.0.1
async-lru==2.3.0
attrs==26.1.0
babel==2.18.0
beautifulsoup4==4.14.3
bleach==6.3.0
bokeh==3.9.0
certifi==2026.2.25
cffi==2.0.0
charset-normalizer==3.4.7
colorcet==3.1.0
comm==0.2.3
contourpy==1.3.3
debugpy==1.8.20
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.2.0
ipython==9.12.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.14.0
jsonpointer==3.1.1
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.1
jupyter-server==2.17.0
jupyter-server-terminals==0.5.4
jupyterlab==4.5.6
jupyterlab-pygments==0.3.0
jupyterlab-server==2.28.0
jupyterlab-widgets==3.0.16
lark==1.3.1
linkify-it-py==2.1.0
markdown==3.10.2
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.19.0
nbclient==0.10.4
nbconvert==7.17.0
nbformat==5.10.4
nest-asyncio==1.6.0
notebook==7.5.5
notebook-shim==0.2.4
numpy==2.4.4
packaging==26.0
pandas==3.0.2
pandocfilters==1.5.1
panel==1.8.10
param==2.3.3
parso==0.8.6
pexpect==4.9.0
pillow==12.2.0
platformdirs==4.9.4
prometheus-client==0.24.1
prompt-toolkit==3.0.52
psutil==7.2.2
ptyprocess==0.7.0
pure-eval==0.2.3
pycparser==3.0
pygments==2.20.0
python-dateutil==2.9.0.post0
python-json-logger==4.1.0
pyviz-comms==3.0.6
pyyaml==6.0.3
pyzmq==27.1.0
referencing==0.37.0
requests==2.33.1
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==82.0.1
six==1.17.0
soupsieve==2.8.3
stack-data==0.6.3
terminado==0.18.1
tinycss2==1.4.0
tornado==6.5.5
tqdm==4.67.3
traitlets==5.14.3
typing-extensions==4.15.0
tzdata==2026.1
uc-micro-py==2.0.0
uri-template==1.3.0
urllib3==2.6.3
wcwidth==0.6.0
webcolors==25.10.0
webencodings==0.5.1
websocket-client==1.9.0
widgetsnbextension==4.0.15
xarray==2026.2.0
xyzservices==2026.3.0
Description of expected behavior and the observed behavior
I have an xarray DataArray where one of the coordinates has time zone information. When I plot the data as a line plot using .hvplot.line, the axis is correct. However, if I plot the data using .hvplot.image or .hvplot.quadmesh, the time zone information is dropped, and the axis is displayed as UTC.
Complete, minimal, self-contained example code that reproduces the issue
import xarray as xr
import hvplot.xarray
data = xr.DataArray(
[[1, 2, 1, 2], [2, 3, 2, 1]],
coords=[
("number", [0.0, 0.1]),
("time", xr.date_range("2026-04-07 00:00", "2026-04-07 03:00", periods=4, tz="Europe/Helsinki")),
],
name="my data",
)
# works OK
data.hvplot.line(x="time")
# time zone information is missing
data.hvplot.image(x="time")
data.hvplot.quadmesh(x="time")
Stack traceback and/or browser JavaScript console output
For the quadmesh case, there is a warning:
.../.venv/lib/python3.13/site-packages/bokeh/util/serialization.py:247: UserWarning: no explicit representation of timezones available for np.datetime64
return convert(array.astype("datetime64[us]"))
Although in my main notebook where I encountered this initially, this warning didn't appear.
Screenshots or screencasts of the bug in action
ALL software version info
Software Version Info
pyproject.toml:
Output of
uv pip freeze:Description of expected behavior and the observed behavior
I have an xarray DataArray where one of the coordinates has time zone information. When I plot the data as a line plot using
.hvplot.line, the axis is correct. However, if I plot the data using.hvplot.imageor.hvplot.quadmesh, the time zone information is dropped, and the axis is displayed as UTC.Complete, minimal, self-contained example code that reproduces the issue
Stack traceback and/or browser JavaScript console output
For the quadmesh case, there is a warning:
Although in my main notebook where I encountered this initially, this warning didn't appear.
Screenshots or screencasts of the bug in action