holoviz / hvplot

A high-level plotting API for pandas, dask, xarray, and networkx built on HoloViews
https://hvplot.holoviz.org
BSD 3-Clause "New" or "Revised" License
1.11k stars 107 forks source link

Interactive Datashader + Holoviews + Dask Plot does not Update in JupyterLab or Notebook #1188

Open MordicusEtCubitus opened 1 year ago

MordicusEtCubitus commented 1 year ago

Since a few months I'm no more able to run properly Datashader introduction notebook: https://datashader.org/getting_started/Introduction.html

Once the first display is done, datashader plot is no more updated in jupyterlab or jupyter notebook Here is my running version with tljh:

jupyter --version
Selected Jupyter core packages...
IPython          : 8.15.0
ipykernel        : 6.25.2
ipywidgets       : 8.1.1
jupyter_client   : 8.3.1
jupyter_core     : 5.3.2
jupyter_server   : 2.7.3
jupyterlab       : 4.0.6
nbclient         : 0.8.0
nbconvert        : 7.8.0
nbformat         : 5.9.2
notebook         : not installed
qtconsole        : not installed
traitlets        : 5.10.1

I still get the notebook version running properly (but not lab) in this configuration:

jupyter --version
Selected Jupyter core packages...
IPython          : 8.10.0
ipykernel        : 6.21.2
ipywidgets       : 7.7.3
jupyter_client   : 8.0.3
jupyter_core     : 5.2.0
jupyter_server   : 2.3.0
jupyterlab       : 3.6.1
nbclient         : 0.5.13
nbconvert        : 6.5.3
nbformat         : 5.7.3
notebook         : 6.5.2
qtconsole        : not installed
traitlets        : 5.9.0

Here is how I create my Python environment:

mamba create --name TheEnv  python=3.11 -y
mamba activate TheEnv
mamba install numpy pandas scipy scikit-learn matplotlib bokeh dask ipython ipykernel ipywidgets -y
mamba install nodejs ipyvolume -y
mamba install numba folium netcdf4 datashader xarray pytables h5py -y
mamba install -c plotly plotly -y
mamba install geocoder seaborn -y
mamba install graphviz python-graphviz -y 
mamba install distributed ipympl jupyterlab geopandas -y
mamba install geoviews hvplot cartopy yt -y

I've also the issue with environments created by rapidsai or any other.

If you can help, I'll will be very pleased ! Thanks in advance !

Here is another notebook example with same issue. DatashaderIssue.ipynb.zip

ianthomas23 commented 11 months ago

Your two list of dependencies are identical, I assume this is a mistake?

Anyway, please can you post your full list of dependencies.

MordicusEtCubitus commented 11 months ago

Yes it was a mistake, it has been corrected.

Below an example of code with a dask dataframe (in persist mode) that only work with jupyter notebook (not lab) with second configuration

df.hvplot.points(x="longitude"
          , y="latitude"
          , geo=True
          , tiles=True # 'ESRI'
          , datashade=True
          , rasterize=True
          , width=850, height=500
          , cmap='fire')
MordicusEtCubitus commented 11 months ago

And the working configuration in notebook but not lab:

mamba env export --from-history
name: JBook
channels:
  - conda-forge
dependencies:
  - python=3.10
  - jupytext
  - jupyter-book
  - jupyterlab
  - ipywidgets
  - ipykernel
  - ca-certificates
  - certifi
  - openssl
  - nodejs
  - pandas
  - matplotlib
  - datashader
  - rise
  - streamlit
  - mypy

With full details:

mamba env export 
name: JBook
channels:
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=conda_forge
  - _openmp_mutex=4.5=2_gnu
  - accessible-pygments=0.0.4=pyhd8ed1ab_0
  - aiofiles=22.1.0=pyhd8ed1ab_0
  - aiosqlite=0.18.0=pyhd8ed1ab_0
  - alabaster=0.7.13=pyhd8ed1ab_0
  - alsa-lib=1.2.8=h166bdaf_0
  - altair=5.0.1=pyhd8ed1ab_0
  - anyio=3.6.2=pyhd8ed1ab_0
  - argon2-cffi=21.3.0=pyhd8ed1ab_0
  - argon2-cffi-bindings=21.2.0=py310h5764c6d_3
  - arrow-cpp=11.0.0=ha770c72_16_cpu
  - astor=0.8.1=pyh9f0ad1d_0
  - asttokens=2.2.1=pyhd8ed1ab_0
  - attr=2.5.1=h166bdaf_1
  - attrs=21.4.0=pyhd8ed1ab_0
  - aws-c-auth=0.6.26=h2c7c9e7_6
  - aws-c-cal=0.5.26=h71eb795_0
  - aws-c-common=0.8.17=hd590300_0
  - aws-c-compression=0.2.16=h4f47f36_6
  - aws-c-event-stream=0.2.20=h69ce273_6
  - aws-c-http=0.7.7=h7b8353a_3
  - aws-c-io=0.13.21=h2c99d58_4
  - aws-c-mqtt=0.8.6=h3a1964a_15
  - aws-c-s3=0.2.8=h0933b68_4
  - aws-c-sdkutils=0.1.9=h4f47f36_1
  - aws-checksums=0.1.14=h4f47f36_6
  - aws-crt-cpp=0.19.9=h85076f6_5
  - aws-sdk-cpp=1.10.57=hf40e4db_10
  - babel=2.11.0=pyhd8ed1ab_0
  - backcall=0.2.0=pyh9f0ad1d_0
  - backports=1.0=pyhd8ed1ab_3
  - backports.functools_lru_cache=1.6.4=pyhd8ed1ab_0
  - base58=2.1.1=pyhd8ed1ab_0
  - beautifulsoup4=4.11.2=pyha770c72_0
  - bleach=6.0.0=pyhd8ed1ab_0
  - blinker=1.6.2=pyhd8ed1ab_0
  - boto3=1.26.144=pyhd8ed1ab_0
  - botocore=1.29.144=pyhd8ed1ab_0
  - brotli=1.0.9=h166bdaf_8
  - brotli-bin=1.0.9=h166bdaf_8
  - brotlipy=0.7.0=py310h5764c6d_1005
  - bzip2=1.0.8=h7f98852_4
  - c-ares=1.19.1=hd590300_0
  - ca-certificates=2023.5.7=hbcca054_0
  - cachetools=5.3.0=pyhd8ed1ab_0
  - cairo=1.16.0=ha61ee94_1014
  - certifi=2023.5.7=pyhd8ed1ab_0
  - cffi=1.15.1=py310h255011f_3
  - charset-normalizer=2.1.1=pyhd8ed1ab_0
  - click=8.0.4=py310hff52083_0
  - click-completion=0.5.2=py310hff52083_5
  - click-log=0.4.0=pyhd8ed1ab_0
  - cloudpickle=2.2.1=pyhd8ed1ab_0
  - colorama=0.4.6=pyhd8ed1ab_0
  - colorcet=3.0.1=pyhd8ed1ab_0
  - comm=0.1.2=pyhd8ed1ab_0
  - contourpy=1.0.7=py310hdf3cbec_0
  - cryptography=39.0.1=py310h34c0648_0
  - cycler=0.11.0=pyhd8ed1ab_0
  - dask-core=2023.3.2=pyhd8ed1ab_0
  - dataclasses=0.8=pyhc8e2a94_3
  - datashader=0.14.4=pyh1a96a4e_0
  - datashape=0.5.4=py_1
  - dbus=1.13.6=h5008d03_3
  - debugpy=1.6.6=py310heca2aa9_0
  - decorator=5.1.1=pyhd8ed1ab_0
  - defusedxml=0.7.1=pyhd8ed1ab_0
  - docutils=0.17.1=py310hff52083_3
  - entrypoints=0.4=pyhd8ed1ab_0
  - executing=1.2.0=pyhd8ed1ab_0
  - expat=2.5.0=hcb278e6_1
  - fftw=3.3.10=nompi_hf0379b8_106
  - flit-core=3.8.0=pyhd8ed1ab_0
  - font-ttf-dejavu-sans-mono=2.37=hab24e00_0
  - font-ttf-inconsolata=3.000=h77eed37_0
  - font-ttf-source-code-pro=2.038=h77eed37_0
  - font-ttf-ubuntu=0.83=hab24e00_0
  - fontconfig=2.14.2=h14ed4e7_0
  - fonts-conda-ecosystem=1=0
  - fonts-conda-forge=1=0
  - fonttools=4.39.3=py310h1fa729e_0
  - freetype=2.12.1=hca18f0e_1
  - fsspec=2023.3.0=pyhd8ed1ab_1
  - gettext=0.21.1=h27087fc_0
  - gflags=2.2.2=he1b5a44_1004
  - gitdb=4.0.10=pyhd8ed1ab_0
  - gitpython=3.1.30=pyhd8ed1ab_0
  - glib=2.74.1=h6239696_1
  - glib-tools=2.74.1=h6239696_1
  - glog=0.6.0=h6f12383_0
  - graphite2=1.3.13=h58526e2_1001
  - greenlet=2.0.2=py310heca2aa9_0
  - gst-plugins-base=1.22.0=h4243ec0_2
  - gstreamer=1.22.0=h25f0c4b_2
  - gstreamer-orc=0.4.33=h166bdaf_0
  - harfbuzz=6.0.0=h8e241bc_0
  - icu=70.1=h27087fc_0
  - idna=3.4=pyhd8ed1ab_0
  - imagesize=1.4.1=pyhd8ed1ab_0
  - importlib-metadata=6.0.0=pyha770c72_0
  - importlib_metadata=6.0.0=hd8ed1ab_0
  - importlib_resources=5.10.2=pyhd8ed1ab_0
  - ipykernel=6.21.2=pyh210e3f2_0
  - ipython=8.10.0=pyh41d4057_0
  - ipython_genutils=0.2.0=py_1
  - ipywidgets=7.7.3=pyhd8ed1ab_0
  - jack=1.9.22=h11f4161_0
  - jedi=0.18.2=pyhd8ed1ab_0
  - jinja2=3.1.2=pyhd8ed1ab_1
  - jmespath=1.0.1=pyhd8ed1ab_0
  - json5=0.9.5=pyh9f0ad1d_0
  - jsonschema=4.17.3=pyhd8ed1ab_0
  - jupyter-book=0.15.1=pyhd8ed1ab_0
  - jupyter-cache=0.6.1=pyhd8ed1ab_0
  - jupyter-server-mathjax=0.2.6=pyh5bfe37b_1
  - jupyter-sphinx=0.3.2=pyhd8ed1ab_1
  - jupyter_client=8.0.3=pyhd8ed1ab_0
  - jupyter_core=5.2.0=py310hff52083_0
  - jupyter_events=0.5.0=pyhd8ed1ab_1
  - jupyter_server=2.3.0=pyhd8ed1ab_0
  - jupyter_server_fileid=0.6.0=pyhd8ed1ab_0
  - jupyter_server_terminals=0.4.4=pyhd8ed1ab_1
  - jupyter_server_ydoc=0.6.1=pyhd8ed1ab_0
  - jupyter_ydoc=0.2.2=pyhd8ed1ab_0
  - jupyterlab=3.6.1=pyhd8ed1ab_0
  - jupyterlab_pygments=0.2.2=pyhd8ed1ab_0
  - jupyterlab_server=2.19.0=pyhd8ed1ab_0
  - jupyterlab_widgets=1.1.2=pyhd8ed1ab_0
  - jupytext=1.14.4=pyhcff175f_0
  - keyutils=1.6.1=h166bdaf_0
  - kiwisolver=1.4.4=py310hbf28c38_1
  - krb5=1.20.1=h81ceb04_0
  - lame=3.100=h166bdaf_1003
  - latexcodec=2.0.1=pyh9f0ad1d_0
  - lcms2=2.15=haa2dc70_1
  - ld_impl_linux-64=2.40=h41732ed_0
  - lerc=4.0.0=h27087fc_0
  - libabseil=20230125.0=cxx17_hcb278e6_1
  - libarrow=11.0.0=h8dc56a0_16_cpu
  - libblas=3.9.0=16_linux64_openblas
  - libbrotlicommon=1.0.9=h166bdaf_8
  - libbrotlidec=1.0.9=h166bdaf_8
  - libbrotlienc=1.0.9=h166bdaf_8
  - libcap=2.67=he9d0100_0
  - libcblas=3.9.0=16_linux64_openblas
  - libclang=15.0.7=default_had23c3d_1
  - libclang13=15.0.7=default_h3e3d535_1
  - libcrc32c=1.1.2=h9c3ff4c_0
  - libcups=2.3.3=h36d4200_3
  - libcurl=8.1.2=h409715c_0
  - libdb=6.2.32=h9c3ff4c_0
  - libdeflate=1.18=h0b41bf4_0
  - libedit=3.1.20191231=he28a2e2_2
  - libev=4.33=h516909a_1
  - libevent=2.1.10=h28343ad_4
  - libexpat=2.5.0=hcb278e6_1
  - libffi=3.4.2=h7f98852_5
  - libflac=1.4.2=h27087fc_0
  - libgcc-ng=12.2.0=h65d4601_19
  - libgcrypt=1.10.1=h166bdaf_0
  - libgfortran-ng=12.2.0=h69a702a_19
  - libgfortran5=12.2.0=h337968e_19
  - libglib=2.74.1=h606061b_1
  - libgomp=12.2.0=h65d4601_19
  - libgoogle-cloud=2.8.0=hac9eb74_2
  - libgpg-error=1.46=h620e276_0
  - libgrpc=1.54.2=hcf146ea_0
  - libiconv=1.17=h166bdaf_0
  - libjpeg-turbo=2.1.5.1=h0b41bf4_0
  - liblapack=3.9.0=16_linux64_openblas
  - libllvm11=11.1.0=he0ac6c6_5
  - libllvm15=15.0.7=hadd5161_1
  - libnghttp2=1.52.0=h61bc06f_0
  - libnsl=2.0.0=h7f98852_0
  - libnuma=2.0.16=h0b41bf4_1
  - libogg=1.3.4=h7f98852_1
  - libopenblas=0.3.21=pthreads_h78a6416_3
  - libopus=1.3.1=h7f98852_1
  - libpng=1.6.39=h753d276_0
  - libpq=15.2=hb675445_0
  - libprotobuf=3.21.12=h3eb15da_0
  - libsndfile=1.2.0=hb75c966_0
  - libsodium=1.0.18=h36c2ea0_1
  - libsqlite=3.40.0=h753d276_0
  - libssh2=1.10.0=hf14f497_3
  - libstdcxx-ng=12.2.0=h46fd767_19
  - libsystemd0=253=h8c4010b_1
  - libthrift=0.18.1=h5e4af38_0
  - libtiff=4.5.0=ha587672_6
  - libtool=2.4.7=h27087fc_0
  - libudev1=253=h0b41bf4_1
  - libutf8proc=2.8.0=h166bdaf_0
  - libuuid=2.32.1=h7f98852_1000
  - libuv=1.44.2=h166bdaf_0
  - libvorbis=1.3.7=h9c3ff4c_0
  - libwebp-base=1.3.0=h0b41bf4_0
  - libxcb=1.13=h7f98852_1004
  - libxkbcommon=1.5.0=h79f4944_1
  - libxml2=2.10.3=h7463322_0
  - libxslt=1.1.37=h873f0b0_0
  - libzlib=1.2.13=h166bdaf_4
  - linkify-it-py=2.0.0=pyhd8ed1ab_0
  - llvmlite=0.39.1=py310h58363a5_1
  - locket=1.0.0=pyhd8ed1ab_0
  - lxml=4.9.2=py310hbdc0903_0
  - lz4-c=1.9.4=hcb278e6_0
  - markdown-it-py=1.1.0=pyhd8ed1ab_0
  - markupsafe=2.1.2=py310h1fa729e_0
  - matplotlib=3.7.1=py310hff52083_0
  - matplotlib-base=3.7.1=py310he60537e_0
  - matplotlib-inline=0.1.6=pyhd8ed1ab_0
  - mdit-py-plugins=0.4.0=pyhd8ed1ab_0
  - mistune=0.8.4=pyh1a96a4e_1006
  - mpg123=1.31.3=hcb278e6_0
  - multipledispatch=0.6.0=py_0
  - munkres=1.1.4=pyh9f0ad1d_0
  - mypy=1.4.1=py310h2372a71_0
  - mypy_extensions=1.0.0=pyha770c72_0
  - mysql-common=8.0.32=ha901b37_1
  - mysql-libs=8.0.32=hd7da12d_1
  - myst-nb=0.17.2=pyhd8ed1ab_0
  - myst-parser=0.18.1=pyhd8ed1ab_0
  - nbclassic=0.5.1=pyhd8ed1ab_0
  - nbclient=0.5.13=pyhd8ed1ab_0
  - nbconvert=6.5.3=pyhd8ed1ab_0
  - nbconvert-core=6.5.3=pyhd8ed1ab_0
  - nbconvert-pandoc=6.5.3=pyhd8ed1ab_0
  - nbdime=3.1.1=pyhd8ed1ab_0
  - nbformat=5.7.3=pyhd8ed1ab_0
  - ncurses=6.3=h27087fc_1
  - nest-asyncio=1.5.6=pyhd8ed1ab_0
  - nodejs=18.12.1=h8839609_0
  - notebook=6.5.2=pyha770c72_1
  - notebook-shim=0.2.2=pyhd8ed1ab_0
  - nspr=4.35=h27087fc_0
  - nss=3.89=he45b914_0
  - numba=0.56.4=py310ha5257ce_0
  - numpy=1.23.5=py310h53a5b5f_0
  - openjpeg=2.5.0=hfec8fc6_2
  - openssl=3.1.1=hd590300_1
  - orc=1.8.3=hfdbbad2_0
  - packaging=23.0=pyhd8ed1ab_0
  - pandas=1.5.3=py310h9b08913_1
  - pandoc=2.19.2=h32600fe_1
  - pandocfilters=1.5.0=pyhd8ed1ab_0
  - param=1.13.0=pyh1a96a4e_0
  - parquet-cpp=1.5.1=2
  - parso=0.8.3=pyhd8ed1ab_0
  - partd=1.3.0=pyhd8ed1ab_0
  - pcre2=10.40=hc3806b6_0
  - pexpect=4.8.0=pyh1a96a4e_2
  - pickleshare=0.7.5=py_1003
  - pillow=9.4.0=py310h065c6d2_2
  - pip=23.0=pyhd8ed1ab_0
  - pixman=0.40.0=h36c2ea0_0
  - pkgutil-resolve-name=1.3.10=pyhd8ed1ab_0
  - platformdirs=3.0.0=pyhd8ed1ab_0
  - ply=3.11=py_1
  - pooch=1.7.0=pyha770c72_3
  - prometheus_client=0.16.0=pyhd8ed1ab_0
  - prompt-toolkit=3.0.36=pyha770c72_0
  - protobuf=4.21.12=py310heca2aa9_0
  - psutil=5.9.4=py310h5764c6d_0
  - pthread-stubs=0.4=h36c2ea0_1001
  - ptyprocess=0.7.0=pyhd3deb0d_0
  - pulseaudio=16.1=hcb278e6_3
  - pulseaudio-client=16.1=h5195f5e_3
  - pulseaudio-daemon=16.1=ha8d29e2_3
  - pure_eval=0.2.2=pyhd8ed1ab_0
  - pyarrow=11.0.0=py310he6bfd7f_16_cpu
  - pybtex=0.24.0=pyhd8ed1ab_2
  - pybtex-docutils=1.0.2=py310hff52083_2
  - pycparser=2.21=pyhd8ed1ab_0
  - pyct=0.4.6=py_0
  - pyct-core=0.4.6=py_0
  - pydata-sphinx-theme=0.13.3=pyhd8ed1ab_0
  - pydeck=0.8.0=pyhd8ed1ab_0
  - pygments=2.14.0=pyhd8ed1ab_0
  - pympler=1.0.1=pyhd8ed1ab_0
  - pyopenssl=23.0.0=pyhd8ed1ab_0
  - pyparsing=3.0.9=pyhd8ed1ab_0
  - pyqt=5.15.7=py310hab646b1_3
  - pyqt5-sip=12.11.0=py310heca2aa9_3
  - pyrsistent=0.19.3=py310h1fa729e_0
  - pysocks=1.7.1=pyha2e5f31_6
  - python=3.10.9=he550d4f_0_cpython
  - python-dateutil=2.8.2=pyhd8ed1ab_0
  - python-fastjsonschema=2.16.2=pyhd8ed1ab_0
  - python-json-logger=2.0.6=pyhd8ed1ab_0
  - python_abi=3.10=3_cp310
  - pytz=2022.7.1=pyhd8ed1ab_0
  - pyyaml=6.0=py310h5764c6d_5
  - pyzmq=25.0.0=py310h059b190_0
  - qt-main=5.15.8=h67dfc38_7
  - rdma-core=28.9=h59595ed_1
  - re2=2023.02.02=hcb278e6_0
  - readline=8.1.2=h0f457ee_0
  - requests=2.28.2=pyhd8ed1ab_0
  - rfc3339-validator=0.1.4=pyhd8ed1ab_0
  - rfc3986-validator=0.1.1=pyh9f0ad1d_0
  - rise=5.7.1=py310hff52083_2
  - s2n=1.3.44=h06160fa_0
  - s3transfer=0.6.1=pyhd8ed1ab_0
  - scipy=1.10.1=py310h8deb116_0
  - semver=3.0.0=pyhd8ed1ab_0
  - send2trash=1.8.0=pyhd8ed1ab_0
  - setuptools=67.3.2=pyhd8ed1ab_0
  - shellingham=1.5.1=pyhd8ed1ab_0
  - sip=6.7.7=py310heca2aa9_0
  - six=1.16.0=pyh6c4a22f_0
  - smmap=3.0.5=pyh44b312d_0
  - snappy=1.1.10=h9fff704_0
  - sniffio=1.3.0=pyhd8ed1ab_0
  - snowballstemmer=2.2.0=pyhd8ed1ab_0
  - soupsieve=2.3.2.post1=pyhd8ed1ab_0
  - sphinx=4.5.0=pyh6c4a22f_0
  - sphinx-book-theme=1.0.1=pyhd8ed1ab_0
  - sphinx-comments=0.0.3=pyh9f0ad1d_0
  - sphinx-copybutton=0.5.0=pyhd8ed1ab_0
  - sphinx-design=0.3.0=pyhd8ed1ab_0
  - sphinx-external-toc=0.3.1=pyhd8ed1ab_0
  - sphinx-jupyterbook-latex=0.5.2=pyhd8ed1ab_0
  - sphinx-multitoc-numbering=0.1.3=pyhd8ed1ab_0
  - sphinx-thebe=0.2.1=pyhd8ed1ab_0
  - sphinx-togglebutton=0.3.2=pyhd8ed1ab_0
  - sphinxcontrib-applehelp=1.0.4=pyhd8ed1ab_0
  - sphinxcontrib-bibtex=2.5.0=pyhd8ed1ab_0
  - sphinxcontrib-devhelp=1.0.2=py_0
  - sphinxcontrib-htmlhelp=2.0.1=pyhd8ed1ab_0
  - sphinxcontrib-jsmath=1.0.1=py_0
  - sphinxcontrib-qthelp=1.0.3=py_0
  - sphinxcontrib-serializinghtml=1.1.5=pyhd8ed1ab_2
  - sqlalchemy=1.4.46=py310h1fa729e_0
  - stack_data=0.6.2=pyhd8ed1ab_0
  - streamlit=1.9.0=pyhd8ed1ab_0
  - tabulate=0.9.0=pyhd8ed1ab_1
  - terminado=0.17.1=pyh41d4057_0
  - tinycss2=1.2.1=pyhd8ed1ab_0
  - tk=8.6.12=h27826a3_0
  - toml=0.10.2=pyhd8ed1ab_0
  - tomli=2.0.1=pyhd8ed1ab_0
  - toolz=0.12.0=pyhd8ed1ab_0
  - tornado=6.2=py310h5764c6d_1
  - traitlets=5.9.0=pyhd8ed1ab_0
  - typing-extensions=4.4.0=hd8ed1ab_0
  - typing_extensions=4.4.0=pyha770c72_0
  - tzdata=2022g=h191b570_0
  - tzlocal=5.0.1=py310hff52083_0
  - uc-micro-py=1.0.1=pyhd8ed1ab_0
  - ucx=1.14.1=hf587318_2
  - unicodedata2=15.0.0=py310h5764c6d_0
  - urllib3=1.26.14=pyhd8ed1ab_0
  - validators=0.20.0=pyhd8ed1ab_0
  - watchdog=3.0.0=py310hff52083_0
  - wcwidth=0.2.6=pyhd8ed1ab_0
  - webencodings=0.5.1=py_1
  - websocket-client=1.5.1=pyhd8ed1ab_0
  - wheel=0.38.4=pyhd8ed1ab_0
  - widgetsnbextension=3.6.1=pyha770c72_0
  - xarray=2023.3.0=pyhd8ed1ab_0
  - xcb-util=0.4.0=h516909a_0
  - xcb-util-image=0.4.0=h166bdaf_0
  - xcb-util-keysyms=0.4.0=h516909a_0
  - xcb-util-renderutil=0.3.9=h166bdaf_0
  - xcb-util-wm=0.4.1=h516909a_0
  - xkeyboard-config=2.38=h0b41bf4_0
  - xorg-kbproto=1.0.7=h7f98852_1002
  - xorg-libice=1.0.10=h7f98852_0
  - xorg-libsm=1.2.3=hd9c2040_1000
  - xorg-libx11=1.8.4=h0b41bf4_0
  - xorg-libxau=1.0.9=h7f98852_0
  - xorg-libxdmcp=1.1.3=h7f98852_0
  - xorg-libxext=1.3.4=h0b41bf4_2
  - xorg-libxrender=0.9.10=h7f98852_1003
  - xorg-renderproto=0.11.1=h7f98852_1002
  - xorg-xextproto=7.3.0=h0b41bf4_1003
  - xorg-xf86vidmodeproto=2.3.1=h7f98852_1002
  - xorg-xproto=7.0.31=h7f98852_1007
  - xz=5.2.6=h166bdaf_0
  - y-py=0.5.5=py310h4426083_2
  - yaml=0.2.5=h7f98852_2
  - ypy-websocket=0.8.2=pyhd8ed1ab_0
  - zeromq=4.3.4=h9c3ff4c_1
  - zipp=3.13.0=pyhd8ed1ab_0
  - zlib=1.2.13=h166bdaf_4
  - zstd=1.5.2=h3eb15da_6
  - pip:
      - arrow==1.2.3
      - fqdn==1.5.1
      - isoduration==20.11.0
      - jsonpointer==2.3
      - jupytercards==2.1.3
      - jupyterlab-myst==1.0.1
      - jupyterquiz==2.0.7
      - uri-template==1.2.0
      - webcolors==1.12
prefix: /home/user/mambaforge/envs/JBook
ianthomas23 commented 11 months ago

@MordicusEtCubitus I am going to move this issue over to the hvPlot repository. I know you are using the example from the Datashader docs, but Datashader itself is just producing images under hvPlot's control and is not aware of whether the output goes to Jupyter or not.

I do know that there have been problems recently with various HoloViz projects and JupyterLab 3/4, but I don't know where this can be fixed.

jmakov commented 9 months ago

Same here, when using datashader=True, upon zoom, the line is not redrawn.