0

我尝试用 holoviews、bokey 和 datashader 绘制一个大型数据序列。该图显示没有任何问题,但放大后,该图不会改变分辨率,因此数据序列非常像素化。我以前在另一台电脑上做过,它在那里工作没有问题。同样在 HV 网站上,这些示例通过放大并没有得到更好的分辨率,尽管它可以在另一台 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 做的吗?

4

1 回答 1

0

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

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

于 2020-04-22T15:39:59.473 回答