【问题标题】:Datashader doesn't update with zooming in bokeh-plotDatashader 不会随着散景图的放大而更新
【发布时间】:2020-04-19 14:51:01
【问题描述】:

我尝试使用 holoviews、bokey 和 datashader 绘制一个大型数据序列。该图显示没有任何问题,但放大后,该图不会改变分辨率,因此数据序列非常像素化。 我之前在另一台电脑上做过,它在那里工作没有问题。同样在 HV-Website 上,这些示例通过放大并没有得到更好的分辨率,尽管它在另一台 PC 上工作。 已导入:

import holoviews as hv
import datashader
import holoviews.operation.datashader as hd
hv.extension('bokeh')

hd.datashade(hv.Curve((x,y)))

在文档中描述,必须运行 jupyther 或 bokeh 服务器。我不是用 hv.extension 做的吗?

【问题讨论】:

  • 更改浏览器不影响

标签: python jupyter-notebook bokeh holoviews datashader


【解决方案1】:

hv.extension() 加载 Jupyter 中双向通信所必需的 JavaScript 代码,以及一些其他方便的东西,比如让用户选择要使用的后端。它不影响您是否有服务器在运行,这由您来确保。如果您运行bokeh serve file.pypanel serve file.py,或者如果上面的代码在具有实时 Jupyter 内核的 Jupyter 笔记本单元中执行,您将运行服务器。如果您将 jupyter notebook 导出为 .html 或执行 bokeh html file.pypython file.py 然后将生成的 .html 文件加载到浏览器中,或者如果您保存 Jupyter notebook 然后重新加载该 .ipynb,您将不会运行服务器在不启动内核的情况下进入另一个 Jupyter。 HoloViews 网站没有运行 Python 服务器,因此您也不应该期望这些示例中的任何一个会在缩放时动态更新。

在您的情况下,如果您使用实时内核在 Jupyter 中运行,请尝试查看浏览器的 JavaScript 控制台输出(Mac Chrome 中的 Cmd-Opt-J,或其他浏览器/操作系统的菜单中)。通常会有一条错误消息说明出了什么问题。

【讨论】:

  • 是的,我正在使用 Jupyter Notebook / Lab。真的很抱歉打扰您,但我在 JS 控制台中没有收到任何警告或错误。 Jupyer 实验室中正在运行两个内核会话,那么是实时内核吗?我在排除故障时也遇到了问题,即 Jupyter 实验室不会通过在 anaconda 提示符下启动 jupyter lab 来自动打开。因此,我必须在浏览器中复制网址 localhose:888/?token=[...]。这会影响问题吗?
  • 如果您在 JupyterLab 中运行并且可以动态执行 Python 代码,那么您确实有一个内核,因此该部分应该没问题。您是否按照holoviz.org/installation.html 中的说明安装了 JupyterLab 扩展,即“jupyter labextension install @pyviz/jupyterlab_pyviz”?
  • 我安装了说明中给出的所有东西......但没有任何帮助。多次重新安装 anaconda 并创建不同的环境。原来的问题还没有解决。
  • 请加入我们的 Discourse (discourse.holoviz.org) 并提供您的环境的完整细分。
  • 新状态:多次安装 jupyter labextension 后,它现在可以工作了……不知道为什么,但现在可以工作了。计算机正在度过一段美好的时光……:D 感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-13
  • 2016-10-27
  • 2018-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多