diff --git a/gapminders/anaconda-project-lock.yml b/gapminders/anaconda-project-lock.yml index 83d81f50f..239b5b773 100644 --- a/gapminders/anaconda-project-lock.yml +++ b/gapminders/anaconda-project-lock.yml @@ -17,434 +17,512 @@ locking_enabled: true env_specs: test: locked: true - env_spec_hash: 9a065b527dbe7c38038e299b04ca7f0c71af4d9d + env_spec_hash: bac7b8b8dfbc6beffb84b235c2415c3e6a15deac platforms: - linux-64 - osx-64 - win-64 packages: all: - - altair=3.3.0=py36_0 + - altair=3.3.0=py37_0 + - async_generator=1.10=py_0 - atomicwrites=1.4.0=pyh9f0ad1d_0 - - attrs=19.3.0=py_0 - - backcall=0.1.0=py_0 - - beautifulsoup4=4.9.1=py36h9f0ad1d_0 - - bleach=3.1.5=pyh9f0ad1d_0 - - bokeh=1.3.0=py36_0 - - ca-certificates=2020.4.5.1=hecc5488_0 - - certifi=2020.4.5.1=py36h9f0ad1d_0 - - chardet=3.0.4=py36h9f0ad1d_1006 + - attrs=20.3.0=pyhd3deb0d_0 + - backcall=0.2.0=pyh9f0ad1d_0 + - backports.functools_lru_cache=1.6.1=py_0 + - backports=1.0=py_2 + - beautifulsoup4=4.9.3=pyhb0f4dca_0 + - bleach=3.2.1=pyh9f0ad1d_0 + - bokeh=2.2.1=py37hc8dfbb8_1 + - colorcet=2.0.1=py_0 - cycler=0.10.0=py_2 - decorator=4.4.2=py_0 - defusedxml=0.6.0=py_0 - - entrypoints=0.3=py36h9f0ad1d_1001 - - holoviews=1.12.3=py_2 - - hvplot=0.4.0=py_1 - - idna=2.9=py_1 - - importlib-metadata=1.6.0=py36h9f0ad1d_0 - - importlib_metadata=1.6.0=0 - - ipython=7.14.0=py36h9f0ad1d_0 + - entrypoints=0.3=pyhd8ed1ab_1003 + - holoviews=1.14.1=pyhd3deb0d_0 + - hvplot=0.7.0=pyhd3deb0d_0 + - idna=2.10=pyh9f0ad1d_0 + - importlib_metadata=3.4.0=hd8ed1ab_0 - ipython_genutils=0.2.0=py_1 - - jedi=0.17.0=py36h9f0ad1d_0 - jinja2=2.11.2=pyh9f0ad1d_0 - - jsonschema=3.2.0=py36h9f0ad1d_1 - - jupyter_client=6.1.3=py_0 - - jupyter_core=4.6.3=py36h9f0ad1d_1 - - markdown=3.2.2=py_0 - - more-itertools=8.3.0=py_0 - - nbconvert=5.6.1=py36h9f0ad1d_1 - - nbformat=5.0.6=py_0 + - jsonschema=3.2.0=py_2 + - jupyter_client=6.1.11=pyhd8ed1ab_1 + - jupyterlab_pygments=0.1.2=pyh9f0ad1d_0 + - markdown=3.3.3=pyh9f0ad1d_0 + - more-itertools=8.6.0=pyhd8ed1ab_0 + - nbclient=0.5.1=py_0 + - nbformat=5.0.8=py_0 - nbsmoke=0.2.8=py_0 - - notebook=5.7.8=py36_1 - - olefile=0.46=py_0 - - packaging=20.4=pyh9f0ad1d_0 - - pandoc=2.9.2.1=0 + - nest-asyncio=1.4.3=pyhd8ed1ab_0 + - notebook=5.7.8=py37_1 + - olefile=0.46=pyh9f0ad1d_1 + - packaging=20.8=pyhd3deb0d_0 - pandocfilters=1.4.2=py_1 - - panel=0.6.2=0 - - param=1.9.1=py_0 - - parso=0.7.0=pyh9f0ad1d_0 - - pickleshare=0.7.5=py36h9f0ad1d_1001 - - pip=20.1.1=py_1 - - plotly=4.8.1=pyh9f0ad1d_0 - - pluggy=0.13.1=py36h9f0ad1d_1 - - prometheus_client=0.8.0=pyh9f0ad1d_0 - - prompt-toolkit=3.0.5=py_0 - - py=1.8.1=py_0 - - pycparser=2.20=py_0 + - panel=0.10.2=pyhd8ed1ab_0 + - param=1.10.0=py_0 + - parso=0.8.1=pyhd8ed1ab_0 + - pickleshare=0.7.5=py_1003 + - pip=20.3.3=pyhd8ed1ab_0 + - plotly=4.14.3=pyh44b312d_0 + - prometheus_client=0.9.0=pyhd3deb0d_0 + - prompt-toolkit=3.0.10=pyha770c72_0 + - py=1.10.0=pyhd3deb0d_0 + - pycparser=2.20=pyh9f0ad1d_2 - pyct-core=0.4.6=py_0 - pyct=0.4.6=py_0 - pyflakes=2.2.0=pyh9f0ad1d_0 - - pygments=2.6.1=py_0 - - pyopenssl=19.1.0=py_1 + - pygments=2.7.3=pyhd8ed1ab_0 + - pyopenssl=20.0.1=pyhd8ed1ab_0 - pyparsing=2.4.7=pyh9f0ad1d_0 - - pysocks=1.7.1=py36h9f0ad1d_1 - - pytest=4.4.1=py36_0 + - pytest=4.4.1=py37_0 - python-dateutil=2.8.1=py_0 - - python_abi=3.6=1_cp36m - - pytz=2020.1=pyh9f0ad1d_0 - - pyviz_comms=0.7.2=py_0 - - requests=2.23.0=pyh8c360ce_2 + - python_abi=3.7=1_cp37m + - pytz=2020.5=pyhd8ed1ab_0 + - pyviz_comms=2.0.1=pyhd3deb0d_0 + - requests=2.25.1=pyhd3deb0d_0 - retrying=1.3.3=py_2 - send2trash=1.5.0=py_0 - - setuptools=47.1.0=py36h9f0ad1d_0 - six=1.15.0=pyh9f0ad1d_0 - - soupsieve=2.0.1=py36h9f0ad1d_0 - - terminado=0.8.3=py36h9f0ad1d_1 + - soupsieve=2.0.1=py_1 - testpath=0.4.4=py_0 - - toolz=0.10.0=py_0 - - traitlets=4.3.3=py36h9f0ad1d_1 - - urllib3=1.25.9=py_0 - - wcwidth=0.1.9=pyh9f0ad1d_0 + - toolz=0.11.1=py_0 + - tqdm=4.56.0=pyhd8ed1ab_0 + - traitlets=5.0.5=py_0 + - typing_extensions=3.7.4.3=py_0 + - urllib3=1.26.2=pyhd8ed1ab_0 + - wcwidth=0.2.5=pyh9f0ad1d_2 - webencodings=0.5.1=py_1 - - wheel=0.34.2=py_1 - - zipp=3.1.0=py_0 + - wheel=0.36.2=pyhd3deb0d_0 + - zipp=3.4.0=py_0 unix: - - ipykernel=5.1.0=py36h24bf2e0_1002 - - libblas=3.8.0=16_openblas - - libcblas=3.8.0=16_openblas - - liblapack=3.8.0=16_openblas - - pexpect=4.8.0=py36h9f0ad1d_1 - - ptyprocess=0.6.0=py_1001 + - libblas=3.9.0=7_openblas + - libcblas=3.9.0=7_openblas + - liblapack=3.9.0=7_openblas + - pexpect=4.8.0=pyh9f0ad1d_2 + - ptyprocess=0.7.0=pyhd3deb0d_0 linux-64: - _libgcc_mutex=0.1=conda_forge - - _openmp_mutex=4.5=1_llvm - - brotlipy=0.7.0=py36h8c4c3a4_1000 - - cffi=1.14.0=py36hd463f26_0 - - cryptography=2.9.2=py36h45558ae_0 - - freetype=2.10.2=he06d7ca_0 - - icu=64.2=he1b5a44_1 - - jpeg=9c=h14c3975_1001 - - kiwisolver=1.2.0=py36hdb11119_0 - - ld_impl_linux-64=2.34=h53a641e_4 - - libffi=3.2.1=he1b5a44_1007 - - libgcc-ng=9.2.0=h24d8f2e_2 - - libgfortran-ng=7.5.0=hdf63c60_6 - - libopenblas=0.3.9=h5ec1e0e_0 - - libpng=1.6.37=hed695b0_1 - - libsodium=1.0.17=h516909a_0 - - libstdcxx-ng=9.2.0=hdf63c60_2 - - libtiff=4.1.0=hc7e4089_6 - - libwebp-base=1.1.0=h516909a_3 - - llvm-openmp=10.0.0=hc9558a2_0 - - lz4-c=1.9.2=he1b5a44_1 - - markupsafe=1.1.1=py36h8c4c3a4_1 - - matplotlib-base=3.2.1=py36hb8e4980_0 - - mistune=0.8.4=py36h8c4c3a4_1001 - - ncurses=6.1=hf484d3e_1002 - - numpy=1.18.4=py36h7314795_0 - - openssl=1.1.1g=h516909a_0 - - pandas=1.0.4=py36h830a2c2_0 - - pillow=7.1.2=py36h8328e55_0 - - pyrsistent=0.16.0=py36h8c4c3a4_0 - - python=3.6.10=h8356626_1011_cpython - - pyyaml=5.3.1=py36h8c4c3a4_0 - - pyzmq=19.0.1=py36h9947dbf_0 - - readline=8.0=hf8c457e_0 - - sqlite=3.30.1=hcee41ef_0 - - tk=8.6.10=hed695b0_0 - - tornado=5.1.1=py36h14c3975_1000 - - xz=5.2.5=h516909a_0 - - yaml=0.2.4=h516909a_0 - - zeromq=4.3.2=he1b5a44_2 - - zlib=1.2.11=h516909a_1006 - - zstd=1.4.4=h6597ccf_3 + - _openmp_mutex=4.5=1_gnu + - brotlipy=0.7.0=py37h5e8e339_1001 + - ca-certificates=2020.12.5=ha878542_0 + - certifi=2020.12.5=py37h89c1867_1 + - cffi=1.14.4=py37hc58025e_1 + - chardet=4.0.0=py37h89c1867_1 + - cryptography=3.3.1=py37h7f0c10b_1 + - freetype=2.10.4=h7ca028e_0 + - importlib-metadata=3.4.0=py37h89c1867_0 + - ipykernel=5.4.2=py37h888b3d9_0 + - ipython=7.19.0=py37h888b3d9_0 + - jedi=0.18.0=py37h89c1867_2 + - jpeg=9d=h36c2ea0_0 + - jupyter_core=4.7.0=py37h89c1867_0 + - kiwisolver=1.3.1=py37h2527ec5_1 + - lcms2=2.11=hcbb858e_1 + - ld_impl_linux-64=2.35.1=hea4e1c9_1 + - libffi=3.3=h58526e2_2 + - libgcc-ng=9.3.0=h5dbcf3e_17 + - libgfortran-ng=9.3.0=he4bcb1c_17 + - libgfortran5=9.3.0=he4bcb1c_17 + - libgomp=9.3.0=h5dbcf3e_17 + - libopenblas=0.3.12=pthreads_h4812303_1 + - libpng=1.6.37=h21135ba_2 + - libsodium=1.0.18=h36c2ea0_1 + - libstdcxx-ng=9.3.0=h2ae2ef3_17 + - libtiff=4.2.0=hdc55705_0 + - libwebp-base=1.1.0=h36c2ea0_3 + - lz4-c=1.9.3=h9c3ff4c_0 + - markupsafe=1.1.1=py37h5e8e339_3 + - matplotlib-base=3.3.3=py37h0c9df89_0 + - mistune=0.8.4=py37h5e8e339_1003 + - nbconvert=6.0.7=py37h89c1867_3 + - ncurses=6.2=h58526e2_4 + - numpy=1.19.5=py37haa41c4c_1 + - openssl=1.1.1i=h7f98852_0 + - pandas=1.2.0=py37hdc94413_1 + - pandoc=2.11.3.2=h7f98852_0 + - pillow=8.1.0=py37he6b4880_1 + - pluggy=0.13.1=py37h89c1867_4 + - pyrsistent=0.17.3=py37h5e8e339_2 + - pysocks=1.7.1=py37h89c1867_3 + - python=3.7.9=hffdb5ce_0_cpython + - pyyaml=5.3.1=py37h5e8e339_2 + - pyzmq=21.0.0=py37h499b945_0 + - readline=8.0=he28a2e2_2 + - setuptools=49.6.0=py37h89c1867_3 + - sqlite=3.34.0=h74cdb3f_0 + - terminado=0.9.2=py37h89c1867_0 + - tk=8.6.10=h21135ba_1 + - tornado=6.1=py37h5e8e339_1 + - xz=5.2.5=h516909a_1 + - yaml=0.2.5=h516909a_0 + - zeromq=4.3.3=h58526e2_3 + - zlib=1.2.11=h516909a_1010 + - zstd=1.4.8=ha95c52a_1 osx-64: - - appnope=0.1.0=py36h9f0ad1d_1001 - - brotlipy=0.7.0=py36h37b9a7d_1000 - - cffi=1.14.0=py36h356ff06_0 - - cryptography=2.9.2=py36hc9d8292_0 - - freetype=2.10.2=h8da9a1a_0 - - jpeg=9c=h1de35cc_1001 - - kiwisolver=1.2.0=py36h863e41a_0 - - libcxx=10.0.0=h1af66ff_2 - - libffi=3.2.1=h4a8c4bd_1007 - - libgfortran=4.0.0=2 - - libopenblas=0.3.9=h3d69b6c_0 - - libpng=1.6.37=hbbe82c9_1 - - libsodium=1.0.17=h01d97ff_0 - - libtiff=4.1.0=h2ae36a8_6 - - libwebp-base=1.1.0=h0b31af3_3 - - llvm-openmp=10.0.0=h28b9765_0 - - lz4-c=1.9.2=h4a8c4bd_1 - - markupsafe=1.1.1=py36h37b9a7d_1 - - matplotlib-base=3.2.1=py36h83d3ec1_0 - - mistune=0.8.4=py36h37b9a7d_1001 - - ncurses=6.1=h0a44026_1002 - - numpy=1.18.4=py36hdc5ca10_0 - - openssl=1.1.1g=h0b31af3_0 - - pandas=1.0.4=py36hcc1bba6_0 - - pillow=7.1.2=py36h2ae5dfa_0 - - pyrsistent=0.16.0=py36h37b9a7d_0 - - python=3.6.10=h4334963_1011_cpython - - pyyaml=5.3.1=py36h37b9a7d_0 - - pyzmq=19.0.1=py36h820b253_0 - - readline=8.0=hcfe32e1_0 - - sqlite=3.30.1=h93121df_0 - - tk=8.6.10=hbbe82c9_0 - - tornado=5.1.1=py36h1de35cc_1000 - - xz=5.2.5=h0b31af3_0 - - yaml=0.2.4=h0b31af3_0 - - zeromq=4.3.2=h6de7cb9_2 - - zlib=1.2.11=h0b31af3_1006 - - zstd=1.4.4=h4b3e974_3 + - appnope=0.1.2=py37hf985489_1 + - brotlipy=0.7.0=py37hf967b71_1001 + - ca-certificates=2020.12.5=h033912b_0 + - certifi=2020.12.5=py37hf985489_1 + - cffi=1.14.4=py37hc5b2277_1 + - chardet=4.0.0=py37hf985489_1 + - cryptography=3.3.1=py37haf76d9e_1 + - freetype=2.10.4=h3f75d11_0 + - importlib-metadata=3.4.0=py37hf985489_0 + - ipykernel=5.4.2=py37he01cfaa_0 + - ipython=7.19.0=py37he01cfaa_0 + - jedi=0.18.0=py37hf985489_2 + - jpeg=9d=hbcb3906_0 + - jupyter_core=4.7.0=py37hf985489_0 + - kiwisolver=1.3.1=py37h70f7d40_1 + - lcms2=2.11=h11f7e16_1 + - libcxx=11.0.0=h4c3b8ed_1 + - libffi=3.3=h046ec9c_2 + - libgfortran5=9.3.0=h6c81a4c_16 + - libgfortran=5.0.0=9_3_0_h6c81a4c_16 + - libopenblas=0.3.12=openmp_h54245bb_1 + - libpng=1.6.37=h7cec526_2 + - libsodium=1.0.18=hbcb3906_1 + - libtiff=4.2.0=h355d032_0 + - libwebp-base=1.1.0=hbcb3906_3 + - llvm-openmp=11.0.0=h73239a0_1 + - lz4-c=1.9.3=h046ec9c_0 + - markupsafe=1.1.1=py37hf967b71_3 + - matplotlib-base=3.3.3=py37hef07623_0 + - mistune=0.8.4=py37hf967b71_1003 + - nbconvert=6.0.7=py37hf985489_3 + - ncurses=6.2=h2e338ed_4 + - numpy=1.19.5=py37hec87de9_1 + - openssl=1.1.1i=h35c211d_0 + - pandas=1.2.0=py37h010c265_1 + - pandoc=2.11.3.2=h35c211d_0 + - pillow=8.1.0=py37h40a97b9_1 + - pluggy=0.13.1=py37hf985489_4 + - pyrsistent=0.17.3=py37hf967b71_2 + - pysocks=1.7.1=py37hf985489_3 + - python=3.7.9=h6c3b2c9_0_cpython + - pyyaml=5.3.1=py37hf967b71_2 + - pyzmq=21.0.0=py37h4c5583b_0 + - readline=8.0=h0678c8f_2 + - setuptools=49.6.0=py37hf985489_3 + - sqlite=3.34.0=h17101e1_0 + - terminado=0.9.2=py37hf985489_0 + - tk=8.6.10=h0419947_1 + - tornado=6.1=py37hf967b71_1 + - xz=5.2.5=haf1e3a3_1 + - yaml=0.2.5=haf1e3a3_0 + - zeromq=4.3.3=h74dc148_3 + - zlib=1.2.11=h7795811_1010 + - zstd=1.4.8=hf387650_1 win-64: - - brotlipy=0.7.0=py36h779f372_1000 - - cffi=1.14.0=py36ha419a9e_0 - - colorama=0.4.3=py_0 - - cryptography=2.9.2=py36hef61171_0 - - freetype=2.10.2=hd328e21_0 - - intel-openmp=2020.0=166 - - ipykernel=5.1.0=py36h39e3cac_1002 - - jpeg=9c=hfa6e2cd_1001 - - kiwisolver=1.2.0=py36h246c5b5_0 - - libblas=3.8.0=15_mkl - - libcblas=3.8.0=15_mkl - - liblapack=3.8.0=15_mkl - - libpng=1.6.37=hfe6a214_1 - - libsodium=1.0.17=h2fa13f4_0 - - libtiff=4.1.0=h885aae3_6 - - lz4-c=1.9.2=h62dcd97_1 + - brotlipy=0.7.0=py37hcc03f2d_1001 + - ca-certificates=2020.12.5=h5b45459_0 + - certifi=2020.12.5=py37h03978a9_1 + - cffi=1.14.4=py37hd8e9650_1 + - chardet=4.0.0=py37h03978a9_1 + - colorama=0.4.4=pyh9f0ad1d_0 + - cryptography=3.3.1=py37hd8e9650_1 + - freetype=2.10.4=h546665d_0 + - importlib-metadata=3.4.0=py37h03978a9_0 + - intel-openmp=2020.3=h57928b3_311 + - ipykernel=5.4.2=py37h7b7c402_0 + - ipython=7.19.0=py37heaed05f_0 + - jedi=0.18.0=py37h03978a9_2 + - jpeg=9d=h8ffe710_0 + - jupyter_core=4.7.0=py37h03978a9_0 + - kiwisolver=1.3.1=py37h8c56517_1 + - libblas=3.9.0=7_mkl + - libcblas=3.9.0=7_mkl + - liblapack=3.9.0=7_mkl + - libpng=1.6.37=h1d00b33_2 + - libsodium=1.0.18=h8d14728_1 + - libtiff=4.2.0=hc10be44_0 + - lz4-c=1.9.3=h8ffe710_0 - m2w64-gcc-libgfortran=5.3.0=6 - m2w64-gcc-libs-core=5.3.0=7 - m2w64-gcc-libs=5.3.0=7 - m2w64-gmp=6.1.0=2 - m2w64-libwinpthread-git=5.0.0.4634.697f757=2 - - markupsafe=1.1.1=py36h68a101e_1 - - matplotlib-base=3.2.1=py36hf0cddfc_0 - - mistune=0.8.4=py36h68a101e_1001 - - mkl=2020.0=166 + - markupsafe=1.1.1=py37hcc03f2d_3 + - matplotlib-base=3.3.3=py37h3379fd5_0 + - mistune=0.8.4=py37hcc03f2d_1003 + - mkl=2020.4=hb70f87d_311 - msys2-conda-epoch=20160418=1 - - numpy=1.18.4=py36h4d86e3b_0 - - openssl=1.1.1g=he774522_0 - - pandas=1.0.4=py36hcc50265_0 - - pillow=7.1.2=py36he4e95fe_0 - - pyrsistent=0.16.0=py36h68a101e_0 - - python=3.6.10=he025d50_1009_cpython - - pywin32=227=py36hfa6e2cd_0 - - pywinpty=0.5.7=py36_0 - - pyyaml=5.3.1=py36h68a101e_0 - - pyzmq=19.0.1=py36h274d426_0 - - tk=8.6.10=hfa6e2cd_0 - - tornado=5.1.1=py36hfa6e2cd_1000 - - vc=14.1=h869be7e_1 - - vs2015_runtime=14.16.27012=h30e32a0_2 - - win_inet_pton=1.1.0=py36_0 - - wincertstore=0.2=py36_1003 + - nbconvert=6.0.7=py37h03978a9_3 + - numpy=1.19.5=py37hd20adf4_1 + - openssl=1.1.1i=h8ffe710_0 + - pandas=1.2.0=py37h08fd248_1 + - pandoc=2.11.3.2=h8ffe710_0 + - pillow=8.1.0=py37hdec93a9_1 + - pluggy=0.13.1=py37h03978a9_4 + - pyrsistent=0.17.3=py37hcc03f2d_2 + - pysocks=1.7.1=py37h03978a9_3 + - python=3.7.9=h7840368_0_cpython + - pywin32=228=py37hcc03f2d_1 + - pywinpty=0.5.7=py37hc8dfbb8_1 + - pyyaml=5.3.1=py37hcc03f2d_2 + - pyzmq=21.0.0=py37h0d95fc2_0 + - setuptools=49.6.0=py37h03978a9_3 + - sqlite=3.34.0=h8ffe710_0 + - terminado=0.9.2=py37h03978a9_0 + - tk=8.6.10=h8ffe710_1 + - tornado=6.1=py37hcc03f2d_1 + - vc=14.2=hb210afc_2 + - vs2015_runtime=14.28.29325=h5e1d092_0 + - win_inet_pton=1.1.0=py37h03978a9_2 + - wincertstore=0.2=py37h03978a9_1006 - winpty=0.4.3=4 - - xz=5.2.5=h2fa13f4_0 - - yaml=0.2.4=he774522_0 - - zeromq=4.3.2=h6538335_2 - - zlib=1.2.11=h2fa13f4_1006 - - zstd=1.4.4=h9f78265_3 + - xz=5.2.5=h62dcd97_1 + - yaml=0.2.5=he774522_0 + - zeromq=4.3.3=h0e60522_3 + - zlib=1.2.11=h62dcd97_1010 + - zstd=1.4.8=h4e2f164_1 default: locked: true - env_spec_hash: e6f1c68b2c105869188673b3494caebb4534dc96 + env_spec_hash: 04f8cb9d203abf9a56d237ad761a5ab66b9c06f3 platforms: - linux-64 - osx-64 - win-64 packages: all: - - altair=3.3.0=py36_0 - - attrs=19.3.0=py_0 - - backcall=0.1.0=py_0 - - bleach=3.1.5=pyh9f0ad1d_0 - - bokeh=1.3.0=py36_0 - - ca-certificates=2020.4.5.1=hecc5488_0 - - certifi=2020.4.5.1=py36h9f0ad1d_0 - - chardet=3.0.4=py36h9f0ad1d_1006 + - altair=3.3.0=py37_0 + - async_generator=1.10=py_0 + - attrs=20.3.0=pyhd3deb0d_0 + - backcall=0.2.0=pyh9f0ad1d_0 + - backports.functools_lru_cache=1.6.1=py_0 + - backports=1.0=py_2 + - bleach=3.2.1=pyh9f0ad1d_0 + - bokeh=2.2.1=py37hc8dfbb8_1 + - colorcet=2.0.1=py_0 - cycler=0.10.0=py_2 - decorator=4.4.2=py_0 - defusedxml=0.6.0=py_0 - - entrypoints=0.3=py36h9f0ad1d_1001 - - holoviews=1.12.3=py_2 - - hvplot=0.4.0=py_1 - - idna=2.9=py_1 - - importlib-metadata=1.6.0=py36h9f0ad1d_0 - - importlib_metadata=1.6.0=0 - - ipython=7.14.0=py36h9f0ad1d_0 + - entrypoints=0.3=pyhd8ed1ab_1003 + - holoviews=1.14.1=pyhd3deb0d_0 + - hvplot=0.7.0=pyhd3deb0d_0 + - idna=2.10=pyh9f0ad1d_0 + - importlib_metadata=3.4.0=hd8ed1ab_0 - ipython_genutils=0.2.0=py_1 - - jedi=0.17.0=py36h9f0ad1d_0 - jinja2=2.11.2=pyh9f0ad1d_0 - - jsonschema=3.2.0=py36h9f0ad1d_1 - - jupyter_client=6.1.3=py_0 - - jupyter_core=4.6.3=py36h9f0ad1d_1 - - markdown=3.2.2=py_0 - - nbconvert=5.6.1=py36h9f0ad1d_1 - - nbformat=5.0.6=py_0 - - notebook=5.7.8=py36_1 - - olefile=0.46=py_0 - - packaging=20.4=pyh9f0ad1d_0 - - pandoc=2.9.2.1=0 + - jsonschema=3.2.0=py_2 + - jupyter_client=6.1.11=pyhd8ed1ab_1 + - jupyterlab_pygments=0.1.2=pyh9f0ad1d_0 + - markdown=3.3.3=pyh9f0ad1d_0 + - nbclient=0.5.1=py_0 + - nbformat=5.0.8=py_0 + - nest-asyncio=1.4.3=pyhd8ed1ab_0 + - notebook=5.7.8=py37_1 + - olefile=0.46=pyh9f0ad1d_1 + - packaging=20.8=pyhd3deb0d_0 - pandocfilters=1.4.2=py_1 - - panel=0.6.2=0 - - param=1.9.1=py_0 - - parso=0.7.0=pyh9f0ad1d_0 - - pickleshare=0.7.5=py36h9f0ad1d_1001 - - pip=20.1.1=py_1 - - plotly=4.8.1=pyh9f0ad1d_0 - - prometheus_client=0.8.0=pyh9f0ad1d_0 - - prompt-toolkit=3.0.5=py_0 - - pycparser=2.20=py_0 + - panel=0.10.2=pyhd8ed1ab_0 + - param=1.10.0=py_0 + - parso=0.8.1=pyhd8ed1ab_0 + - pickleshare=0.7.5=py_1003 + - pip=20.3.3=pyhd8ed1ab_0 + - plotly=4.14.3=pyh44b312d_0 + - prometheus_client=0.9.0=pyhd3deb0d_0 + - prompt-toolkit=3.0.10=pyha770c72_0 + - pycparser=2.20=pyh9f0ad1d_2 - pyct-core=0.4.6=py_0 - pyct=0.4.6=py_0 - - pygments=2.6.1=py_0 - - pyopenssl=19.1.0=py_1 + - pygments=2.7.3=pyhd8ed1ab_0 + - pyopenssl=20.0.1=pyhd8ed1ab_0 - pyparsing=2.4.7=pyh9f0ad1d_0 - - pysocks=1.7.1=py36h9f0ad1d_1 - python-dateutil=2.8.1=py_0 - - python_abi=3.6=1_cp36m - - pytz=2020.1=pyh9f0ad1d_0 - - pyviz_comms=0.7.2=py_0 - - requests=2.23.0=pyh8c360ce_2 + - python_abi=3.7=1_cp37m + - pytz=2020.5=pyhd8ed1ab_0 + - pyviz_comms=2.0.1=pyhd3deb0d_0 + - requests=2.25.1=pyhd3deb0d_0 - retrying=1.3.3=py_2 - send2trash=1.5.0=py_0 - - setuptools=47.1.0=py36h9f0ad1d_0 - six=1.15.0=pyh9f0ad1d_0 - - terminado=0.8.3=py36h9f0ad1d_1 - testpath=0.4.4=py_0 - - toolz=0.10.0=py_0 - - traitlets=4.3.3=py36h9f0ad1d_1 - - urllib3=1.25.9=py_0 - - wcwidth=0.1.9=pyh9f0ad1d_0 + - toolz=0.11.1=py_0 + - tqdm=4.56.0=pyhd8ed1ab_0 + - traitlets=5.0.5=py_0 + - typing_extensions=3.7.4.3=py_0 + - urllib3=1.26.2=pyhd8ed1ab_0 + - wcwidth=0.2.5=pyh9f0ad1d_2 - webencodings=0.5.1=py_1 - - wheel=0.34.2=py_1 - - zipp=3.1.0=py_0 + - wheel=0.36.2=pyhd3deb0d_0 + - zipp=3.4.0=py_0 unix: - - ipykernel=5.1.0=py36h24bf2e0_1002 - - libblas=3.8.0=16_openblas - - libcblas=3.8.0=16_openblas - - liblapack=3.8.0=16_openblas - - pexpect=4.8.0=py36h9f0ad1d_1 - - ptyprocess=0.6.0=py_1001 + - libblas=3.9.0=7_openblas + - libcblas=3.9.0=7_openblas + - liblapack=3.9.0=7_openblas + - pexpect=4.8.0=pyh9f0ad1d_2 + - ptyprocess=0.7.0=pyhd3deb0d_0 linux-64: - _libgcc_mutex=0.1=conda_forge - - _openmp_mutex=4.5=1_llvm - - brotlipy=0.7.0=py36h8c4c3a4_1000 - - cffi=1.14.0=py36hd463f26_0 - - cryptography=2.9.2=py36h45558ae_0 - - freetype=2.10.2=he06d7ca_0 - - icu=64.2=he1b5a44_1 - - jpeg=9c=h14c3975_1001 - - kiwisolver=1.2.0=py36hdb11119_0 - - ld_impl_linux-64=2.34=h53a641e_4 - - libffi=3.2.1=he1b5a44_1007 - - libgcc-ng=9.2.0=h24d8f2e_2 - - libgfortran-ng=7.5.0=hdf63c60_6 - - libopenblas=0.3.9=h5ec1e0e_0 - - libpng=1.6.37=hed695b0_1 - - libsodium=1.0.17=h516909a_0 - - libstdcxx-ng=9.2.0=hdf63c60_2 - - libtiff=4.1.0=hc7e4089_6 - - libwebp-base=1.1.0=h516909a_3 - - llvm-openmp=10.0.0=hc9558a2_0 - - lz4-c=1.9.2=he1b5a44_1 - - markupsafe=1.1.1=py36h8c4c3a4_1 - - matplotlib-base=3.2.1=py36hb8e4980_0 - - mistune=0.8.4=py36h8c4c3a4_1001 - - ncurses=6.1=hf484d3e_1002 - - numpy=1.18.4=py36h7314795_0 - - openssl=1.1.1g=h516909a_0 - - pandas=1.0.4=py36h830a2c2_0 - - pillow=7.1.2=py36h8328e55_0 - - pyrsistent=0.16.0=py36h8c4c3a4_0 - - python=3.6.10=h8356626_1011_cpython - - pyyaml=5.3.1=py36h8c4c3a4_0 - - pyzmq=19.0.1=py36h9947dbf_0 - - readline=8.0=hf8c457e_0 - - sqlite=3.30.1=hcee41ef_0 - - tk=8.6.10=hed695b0_0 - - tornado=5.1.1=py36h14c3975_1000 - - xz=5.2.5=h516909a_0 - - yaml=0.2.4=h516909a_0 - - zeromq=4.3.2=he1b5a44_2 - - zlib=1.2.11=h516909a_1006 - - zstd=1.4.4=h6597ccf_3 + - _openmp_mutex=4.5=1_gnu + - brotlipy=0.7.0=py37h5e8e339_1001 + - ca-certificates=2020.12.5=ha878542_0 + - certifi=2020.12.5=py37h89c1867_1 + - cffi=1.14.4=py37hc58025e_1 + - chardet=4.0.0=py37h89c1867_1 + - cryptography=3.3.1=py37h7f0c10b_1 + - freetype=2.10.4=h7ca028e_0 + - importlib-metadata=3.4.0=py37h89c1867_0 + - ipykernel=5.4.2=py37h888b3d9_0 + - ipython=7.19.0=py37h888b3d9_0 + - jedi=0.18.0=py37h89c1867_2 + - jpeg=9d=h36c2ea0_0 + - jupyter_core=4.7.0=py37h89c1867_0 + - kiwisolver=1.3.1=py37h2527ec5_1 + - lcms2=2.11=hcbb858e_1 + - ld_impl_linux-64=2.35.1=hea4e1c9_1 + - libffi=3.3=h58526e2_2 + - libgcc-ng=9.3.0=h5dbcf3e_17 + - libgfortran-ng=9.3.0=he4bcb1c_17 + - libgfortran5=9.3.0=he4bcb1c_17 + - libgomp=9.3.0=h5dbcf3e_17 + - libopenblas=0.3.12=pthreads_h4812303_1 + - libpng=1.6.37=h21135ba_2 + - libsodium=1.0.18=h36c2ea0_1 + - libstdcxx-ng=9.3.0=h2ae2ef3_17 + - libtiff=4.2.0=hdc55705_0 + - libwebp-base=1.1.0=h36c2ea0_3 + - lz4-c=1.9.3=h9c3ff4c_0 + - markupsafe=1.1.1=py37h5e8e339_3 + - matplotlib-base=3.3.3=py37h0c9df89_0 + - mistune=0.8.4=py37h5e8e339_1003 + - nbconvert=6.0.7=py37h89c1867_3 + - ncurses=6.2=h58526e2_4 + - numpy=1.19.5=py37haa41c4c_1 + - openssl=1.1.1i=h7f98852_0 + - pandas=1.2.0=py37hdc94413_1 + - pandoc=2.11.3.2=h7f98852_0 + - pillow=8.1.0=py37he6b4880_1 + - pyrsistent=0.17.3=py37h5e8e339_2 + - pysocks=1.7.1=py37h89c1867_3 + - python=3.7.9=hffdb5ce_0_cpython + - pyyaml=5.3.1=py37h5e8e339_2 + - pyzmq=21.0.0=py37h499b945_0 + - readline=8.0=he28a2e2_2 + - setuptools=49.6.0=py37h89c1867_3 + - sqlite=3.34.0=h74cdb3f_0 + - terminado=0.9.2=py37h89c1867_0 + - tk=8.6.10=h21135ba_1 + - tornado=6.1=py37h5e8e339_1 + - xz=5.2.5=h516909a_1 + - yaml=0.2.5=h516909a_0 + - zeromq=4.3.3=h58526e2_3 + - zlib=1.2.11=h516909a_1010 + - zstd=1.4.8=ha95c52a_1 osx-64: - - appnope=0.1.0=py36h9f0ad1d_1001 - - brotlipy=0.7.0=py36h37b9a7d_1000 - - cffi=1.14.0=py36h356ff06_0 - - cryptography=2.9.2=py36hc9d8292_0 - - freetype=2.10.2=h8da9a1a_0 - - jpeg=9c=h1de35cc_1001 - - kiwisolver=1.2.0=py36h863e41a_0 - - libcxx=10.0.0=h1af66ff_2 - - libffi=3.2.1=h4a8c4bd_1007 - - libgfortran=4.0.0=2 - - libopenblas=0.3.9=h3d69b6c_0 - - libpng=1.6.37=hbbe82c9_1 - - libsodium=1.0.17=h01d97ff_0 - - libtiff=4.1.0=h2ae36a8_6 - - libwebp-base=1.1.0=h0b31af3_3 - - llvm-openmp=10.0.0=h28b9765_0 - - lz4-c=1.9.2=h4a8c4bd_1 - - markupsafe=1.1.1=py36h37b9a7d_1 - - matplotlib-base=3.2.1=py36h83d3ec1_0 - - mistune=0.8.4=py36h37b9a7d_1001 - - ncurses=6.1=h0a44026_1002 - - numpy=1.18.4=py36hdc5ca10_0 - - openssl=1.1.1g=h0b31af3_0 - - pandas=1.0.4=py36hcc1bba6_0 - - pillow=7.1.2=py36h2ae5dfa_0 - - pyrsistent=0.16.0=py36h37b9a7d_0 - - python=3.6.10=h4334963_1011_cpython - - pyyaml=5.3.1=py36h37b9a7d_0 - - pyzmq=19.0.1=py36h820b253_0 - - readline=8.0=hcfe32e1_0 - - sqlite=3.30.1=h93121df_0 - - tk=8.6.10=hbbe82c9_0 - - tornado=5.1.1=py36h1de35cc_1000 - - xz=5.2.5=h0b31af3_0 - - yaml=0.2.4=h0b31af3_0 - - zeromq=4.3.2=h6de7cb9_2 - - zlib=1.2.11=h0b31af3_1006 - - zstd=1.4.4=h4b3e974_3 + - appnope=0.1.2=py37hf985489_1 + - brotlipy=0.7.0=py37hf967b71_1001 + - ca-certificates=2020.12.5=h033912b_0 + - certifi=2020.12.5=py37hf985489_1 + - cffi=1.14.4=py37hc5b2277_1 + - chardet=4.0.0=py37hf985489_1 + - cryptography=3.3.1=py37haf76d9e_1 + - freetype=2.10.4=h3f75d11_0 + - importlib-metadata=3.4.0=py37hf985489_0 + - ipykernel=5.4.2=py37he01cfaa_0 + - ipython=7.19.0=py37he01cfaa_0 + - jedi=0.18.0=py37hf985489_2 + - jpeg=9d=hbcb3906_0 + - jupyter_core=4.7.0=py37hf985489_0 + - kiwisolver=1.3.1=py37h70f7d40_1 + - lcms2=2.11=h11f7e16_1 + - libcxx=11.0.0=h4c3b8ed_1 + - libffi=3.3=h046ec9c_2 + - libgfortran5=9.3.0=h6c81a4c_16 + - libgfortran=5.0.0=9_3_0_h6c81a4c_16 + - libopenblas=0.3.12=openmp_h54245bb_1 + - libpng=1.6.37=h7cec526_2 + - libsodium=1.0.18=hbcb3906_1 + - libtiff=4.2.0=h355d032_0 + - libwebp-base=1.1.0=hbcb3906_3 + - llvm-openmp=11.0.0=h73239a0_1 + - lz4-c=1.9.3=h046ec9c_0 + - markupsafe=1.1.1=py37hf967b71_3 + - matplotlib-base=3.3.3=py37hef07623_0 + - mistune=0.8.4=py37hf967b71_1003 + - nbconvert=6.0.7=py37hf985489_3 + - ncurses=6.2=h2e338ed_4 + - numpy=1.19.5=py37hec87de9_1 + - openssl=1.1.1i=h35c211d_0 + - pandas=1.2.0=py37h010c265_1 + - pandoc=2.11.3.2=h35c211d_0 + - pillow=8.1.0=py37h40a97b9_1 + - pyrsistent=0.17.3=py37hf967b71_2 + - pysocks=1.7.1=py37hf985489_3 + - python=3.7.9=h6c3b2c9_0_cpython + - pyyaml=5.3.1=py37hf967b71_2 + - pyzmq=21.0.0=py37h4c5583b_0 + - readline=8.0=h0678c8f_2 + - setuptools=49.6.0=py37hf985489_3 + - sqlite=3.34.0=h17101e1_0 + - terminado=0.9.2=py37hf985489_0 + - tk=8.6.10=h0419947_1 + - tornado=6.1=py37hf967b71_1 + - xz=5.2.5=haf1e3a3_1 + - yaml=0.2.5=haf1e3a3_0 + - zeromq=4.3.3=h74dc148_3 + - zlib=1.2.11=h7795811_1010 + - zstd=1.4.8=hf387650_1 win-64: - - brotlipy=0.7.0=py36h779f372_1000 - - cffi=1.14.0=py36ha419a9e_0 - - colorama=0.4.3=py_0 - - cryptography=2.9.2=py36hef61171_0 - - freetype=2.10.2=hd328e21_0 - - intel-openmp=2020.0=166 - - ipykernel=5.1.0=py36h39e3cac_1002 - - jpeg=9c=hfa6e2cd_1001 - - kiwisolver=1.2.0=py36h246c5b5_0 - - libblas=3.8.0=15_mkl - - libcblas=3.8.0=15_mkl - - liblapack=3.8.0=15_mkl - - libpng=1.6.37=hfe6a214_1 - - libsodium=1.0.17=h2fa13f4_0 - - libtiff=4.1.0=h885aae3_6 - - lz4-c=1.9.2=h62dcd97_1 + - brotlipy=0.7.0=py37hcc03f2d_1001 + - ca-certificates=2020.12.5=h5b45459_0 + - certifi=2020.12.5=py37h03978a9_1 + - cffi=1.14.4=py37hd8e9650_1 + - chardet=4.0.0=py37h03978a9_1 + - colorama=0.4.4=pyh9f0ad1d_0 + - cryptography=3.3.1=py37hd8e9650_1 + - freetype=2.10.4=h546665d_0 + - importlib-metadata=3.4.0=py37h03978a9_0 + - intel-openmp=2020.3=h57928b3_311 + - ipykernel=5.4.2=py37h7b7c402_0 + - ipython=7.19.0=py37heaed05f_0 + - jedi=0.18.0=py37h03978a9_2 + - jpeg=9d=h8ffe710_0 + - jupyter_core=4.7.0=py37h03978a9_0 + - kiwisolver=1.3.1=py37h8c56517_1 + - libblas=3.9.0=7_mkl + - libcblas=3.9.0=7_mkl + - liblapack=3.9.0=7_mkl + - libpng=1.6.37=h1d00b33_2 + - libsodium=1.0.18=h8d14728_1 + - libtiff=4.2.0=hc10be44_0 + - lz4-c=1.9.3=h8ffe710_0 - m2w64-gcc-libgfortran=5.3.0=6 - m2w64-gcc-libs-core=5.3.0=7 - m2w64-gcc-libs=5.3.0=7 - m2w64-gmp=6.1.0=2 - m2w64-libwinpthread-git=5.0.0.4634.697f757=2 - - markupsafe=1.1.1=py36h68a101e_1 - - matplotlib-base=3.2.1=py36hf0cddfc_0 - - mistune=0.8.4=py36h68a101e_1001 - - mkl=2020.0=166 + - markupsafe=1.1.1=py37hcc03f2d_3 + - matplotlib-base=3.3.3=py37h3379fd5_0 + - mistune=0.8.4=py37hcc03f2d_1003 + - mkl=2020.4=hb70f87d_311 - msys2-conda-epoch=20160418=1 - - numpy=1.18.4=py36h4d86e3b_0 - - openssl=1.1.1g=he774522_0 - - pandas=1.0.4=py36hcc50265_0 - - pillow=7.1.2=py36he4e95fe_0 - - pyrsistent=0.16.0=py36h68a101e_0 - - python=3.6.10=he025d50_1009_cpython - - pywin32=227=py36hfa6e2cd_0 - - pywinpty=0.5.7=py36_0 - - pyyaml=5.3.1=py36h68a101e_0 - - pyzmq=19.0.1=py36h274d426_0 - - tk=8.6.10=hfa6e2cd_0 - - tornado=5.1.1=py36hfa6e2cd_1000 - - vc=14.1=h869be7e_1 - - vs2015_runtime=14.16.27012=h30e32a0_2 - - win_inet_pton=1.1.0=py36_0 - - wincertstore=0.2=py36_1003 + - nbconvert=6.0.7=py37h03978a9_3 + - numpy=1.19.5=py37hd20adf4_1 + - openssl=1.1.1i=h8ffe710_0 + - pandas=1.2.0=py37h08fd248_1 + - pandoc=2.11.3.2=h8ffe710_0 + - pillow=8.1.0=py37hdec93a9_1 + - pyrsistent=0.17.3=py37hcc03f2d_2 + - pysocks=1.7.1=py37h03978a9_3 + - python=3.7.9=h7840368_0_cpython + - pywin32=228=py37hcc03f2d_1 + - pywinpty=0.5.7=py37hc8dfbb8_1 + - pyyaml=5.3.1=py37hcc03f2d_2 + - pyzmq=21.0.0=py37h0d95fc2_0 + - setuptools=49.6.0=py37h03978a9_3 + - sqlite=3.34.0=h8ffe710_0 + - terminado=0.9.2=py37h03978a9_0 + - tk=8.6.10=h8ffe710_1 + - tornado=6.1=py37hcc03f2d_1 + - vc=14.2=hb210afc_2 + - vs2015_runtime=14.28.29325=h5e1d092_0 + - win_inet_pton=1.1.0=py37h03978a9_2 + - wincertstore=0.2=py37h03978a9_1006 - winpty=0.4.3=4 - - xz=5.2.5=h2fa13f4_0 - - yaml=0.2.4=he774522_0 - - zeromq=4.3.2=h6538335_2 - - zlib=1.2.11=h2fa13f4_1006 - - zstd=1.4.4=h9f78265_3 + - xz=5.2.5=h62dcd97_1 + - yaml=0.2.5=he774522_0 + - zeromq=4.3.3=h0e60522_3 + - zlib=1.2.11=h62dcd97_1010 + - zstd=1.4.8=h4e2f164_1 diff --git a/gapminders/anaconda-project.yml b/gapminders/anaconda-project.yml index bd3ec6ccc..04d41b460 100644 --- a/gapminders/anaconda-project.yml +++ b/gapminders/anaconda-project.yml @@ -8,25 +8,22 @@ labels: - panel - channel_conda-forge -user_fields: [labels, skip, maintainers] +user_fields: [labels, skip, maintainers, user_fields, user_fields, user_fields, user_fields, + user_fields] channels: - conda-forge - nodefaults packages: &pkgs -- python=3.6 +- python=3.7 - notebook=5.7.8 -- ipykernel=5.1.0 - plotly -- holoviews=1.12.3 -- hvplot=0.4.0 -- panel=0.6.2 -- param=1.9.1 -- pyviz_comms=0.7.2 -- bokeh=1.3.0 -- toolz=0.10.0 -- tornado<6 +- holoviews=1.14.1 +- hvplot=0.7.0 +- panel=0.10.2 +- param=1.10.0 +- bokeh=2.2.1 - altair=3 dependencies: *pkgs diff --git a/gapminders/gapminders.ipynb b/gapminders/gapminders.ipynb index d68b12e12..be4114f7b 100644 --- a/gapminders/gapminders.ipynb +++ b/gapminders/gapminders.ipynb @@ -24,14 +24,16 @@ "import numpy as np \n", "import pandas as pd\n", "import panel as pn\n", + "import holoviews as hv\n", "\n", "import altair as alt\n", "import plotly.graph_objs as go\n", "import matplotlib.pyplot as plt\n", - "import hvplot.pandas # noqa: adds hvplot to pandas objects as a side effect\n", "\n", "pn.extension('vega', 'plotly')\n", "\n", + "import hvplot.pandas # noqa: adds hvplot to pandas objects as a side effect\n", + "\n", "# Disable default plotly theme\n", "import plotly.io as pio\n", "pio.templates.default = None" @@ -88,7 +90,7 @@ " \n", " plot = plt.figure(figsize=(7, 6))\n", " ax = plot.add_subplot(111)\n", - " ax.set_xscale(\"log\", nonposx='clip')\n", + " ax.set_xscale(\"log\", nonpositive='clip')\n", " ax.set_title(title)\n", " ax.set_xlabel(self.xlabel)\n", " ax.set_ylabel(self.ylabel)\n", @@ -138,12 +140,13 @@ " data = self.get_data()\n", " title = \"hvPlot/Bokeh: \" + (self.title % self.year)\n", " \n", - " plot = data.hvplot.scatter('gdpPercap', 'lifeExp', by='continent', s='size',\n", - " logx=True, title=title, width=500, height=400, legend=self.show_legend)\n", - " plot = plot.options(legend_position='bottom_right', xticks=[500, 1000, 2000, 5000, 10000])\n", - " plot = plot.redim.label(gdpPercap=self.xlabel, lifeExp=self.ylabel)\n", - " plot = plot.redim.range(lifeExp=self.ylim, gdpPercap=(200, 12000))\n", - " return plot\n", + " legend = 'bottom_right' if self.show_legend else None\n", + " return data.hvplot.scatter(\n", + " 'gdpPercap', 'lifeExp', by='continent', size=np.sqrt(hv.dim('size'))*3, line_color='black',\n", + " logx=True, title=title, width=500, height=400, legend=legend,\n", + " xlabel=self.xlabel, ylabel=self.ylabel, xticks=[500, 1000, 2000, 5000, 10000],\n", + " ylim=self.ylim, xlim=(200, 12000)\n", + " )\n", "\n", "gm = Gapminder(name='')" ] @@ -161,9 +164,11 @@ "metadata": {}, "outputs": [], "source": [ - "pn.Column(gm.param,\n", - " pn.Row(gm.hvplot_view, gm.altair_view),\n", - " pn.Row(gm.mpl_view, gm.plotly_view))" + "pn.Column(\n", + " gm.param,\n", + " pn.Row(gm.hvplot_view, gm.altair_view),\n", + " pn.Row(gm.mpl_view, gm.plotly_view)\n", + ")" ] }, { @@ -184,6 +189,7 @@ "logo = \"\"\"\n", " \"\"\"\n", + "\n", "title = '

Plotting library comparison

'\n", "\n", "desc = pn.pane.HTML(\"\"\"\n", @@ -191,25 +197,65 @@ " lets you make widget-controlled apps and dashboards from a wide variety of \n", " plotting libraries and data types. Here you can try out five different plotting libraries\n", " controlled by a couple of widgets, for Hans Rosling's \n", - "
gapminder example.\"\"\", width=450)\n", + " gapminder example.\"\"\", width=250)\n", + "\n", + "widgets = pn.Param(gm.param, widgets={'year': {'type': pn.widgets.DiscreteSlider, 'width': 250}}, margin=0)\n", + "\n", + "pn.Row(\n", + " pn.Column(logo, title, desc, widgets),\n", + " pn.Column(\n", + " pn.Row(gm.hvplot_view, gm.altair_view),\n", + " pn.Row(gm.mpl_view, gm.plotly_view)\n", + " )\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Template\n", + "\n", + "To make the application look more polished we can put our components into a template:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "template = pn.template.MaterialTemplate(\n", + " title='Gapminder - Plotting library comparison',\n", + ")\n", + "\n", + "template.sidebar.append(logo)\n", + "template.sidebar.append(desc.clone(width=250, margin=(20, 5)))\n", + "\n", + "template.sidebar.append(widgets)\n", + "\n", + "template.main.append(\n", + " pn.Column(\n", + " pn.Row(gm.hvplot_view, gm.altair_view),\n", + " pn.Row(gm.mpl_view, gm.plotly_view)\n", + " )\n", + ")\n", "\n", - "pn.Row(pn.Column(logo, title, desc, pn.panel(gm.param, widgets={'year': pn.widgets.DiscreteSlider})),\n", - " pn.Column(pn.Row(gm.hvplot_view, gm.altair_view),\n", - " pn.Row(gm.mpl_view, gm.plotly_view))).servable()" + "template.servable();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Once you run Bokeh Server on this notebook, you should get a panel like the following in your web browser that you can explore or share with other users of your machine:" + "Once you run `panel serve` on this notebook , you should get a panel like the following in your web browser that you can explore or share with other users of your machine:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "" + "" ] } ], @@ -220,5 +266,5 @@ } }, "nbformat": 4, - "nbformat_minor": 2 + "nbformat_minor": 4 }