散景Holoview不显示情节

时间:2017-07-25 16:20:28

标签: python-3.x pycharm data-visualization interactive holoviews

我正在尝试创建一个环境,用PyCharm开发Python代码,同时使用holoviews和bokeh创建交互式图表。

我按照Holoview Introduction中的步骤进行操作,它适用于Jupyter笔记本 - 图表确实很好地互动。但是,当我在PyCharm的Python控制台中运行相同的代码时,没有显示图表或浏览器。

相比之下,当我直接调用bokeh的方法时,如this example,浏览器启动,我可以交互操作图表。我想用holoviews(+ bokeh)来实现这一点。

非常感谢您的帮助。

我的图书馆:

  • Python 3.4.5
  • holoviews 1.8.1
  • bokeh 0.12.6
  • param 1.5.1
  • ipython 6.1.0
  • jupyter 1.0.0
  • pandas 0.20.3
  • numpy 1.13.1
  • scipy 0.19.1

2 个答案:

答案 0 :(得分:3)

解决方案是: http://holoviews.org/user_guide/Deploying_Bokeh_Apps.html

你需要这些代码:

import holoviews.plotting.bokeh
....
layout=#whathever holoview you want to plot
...
doc = hv.renderer('bokeh').server_doc(layout)

然后转到命令提示符,cd到正确的目录并运行:bokeh serve --show myscript.py

答案 1 :(得分:0)

您唯一需要添加到代码中的show(hv.render(your_holoviews_plot)),如下所示:

import holoviews as hv
hv.extension('bokeh')
from bokeh.plotting import show

show(hv.render(your_holoviews_plot))

在PyCharm(或任何其他IDE)中运行脚本时,这将在浏览器中打开绘图。

它将 bokeh作为渲染器,并使用bokeh.plotting.show()在浏览器中打开图
因此无需转到命令行等。

完整的示例代码:

# import libraries
import numpy as np
import pandas as pd
import hvplot.pandas
import holoviews as hv

# setting bokeh as backend
hv.extension('bokeh')

# going to use show() to open plot in browser
from bokeh.plotting import show

# create some sample data
data = np.random.normal(size=[50, 2])
df = pd.DataFrame(
    data=data,
    columns=['col1', 'col2'],
)

# using hvplot here to create a holoviews plot
# could have also just used holoviews itself
plot = df.hvplot(kind='scatter', x='col1', y='col2')

# use show() from bokeh
show(hv.render(plot))