You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Holoviews条形图显示疑问:仅支持Jupyter?Shell环境如何查看?

Holoviews 使用疑问:是否仅支持Jupyter Notebook?Shell环境如何查看图表?

首先明确说:Holoviews绝对不是只能在Jupyter Notebook中使用,它可以在常规Python Shell、独立Python脚本甚至其他交互式环境(比如IPython Shell)里运行,只是不同环境下渲染/查看图表的方式略有区别~

先看你给出的代码:

import numpy as np
import holoviews as hv
hv.extension('bokeh')
data = [('one',8),('two', 10), ('three', 16), ('four', 8), ('five', 4), ('six', 1)]
bars = hv.Bars(data, hv.Dimension('Car occupants'), 'Count')
print(bars)

这段代码在Jupyter里能直接渲染是因为Jupyter集成了Holoviews的渲染后端,会自动把Holoviews对象转换成可视化图形。但在普通Shell里运行的话,print(bars)只会输出对象的文本描述,不会显示图表,这时候可以用以下两种方式查看:

方法1:导出为HTML文件,用浏览器打开

你可以用Holoviews内置的hv.save()方法把图表导出成HTML文件,之后直接用浏览器打开这个文件就能看到条形图:

import numpy as np
import holoviews as hv
hv.extension('bokeh')
data = [('one',8),('two', 10), ('three', 16), ('four', 8), ('five', 4), ('six', 1)]
bars = hv.Bars(data, hv.Dimension('Car occupants'), 'Count')
# 导出为HTML文件
hv.save(bars, 'bar_chart.html')

运行这段代码后,你的当前目录会生成一个bar_chart.html文件,直接双击它就能在浏览器里看到渲染好的条形图了。

方法2:用Bokeh的show()方法直接弹出窗口显示

因为你用的是Bokeh作为渲染后端,所以可以借助Bokeh的show()方法,先把Holoviews的图表对象转换成Bokeh的对象,然后直接弹出窗口显示:

import numpy as np
import holoviews as hv
from bokeh.io import show
hv.extension('bokeh')
data = [('one',8),('two', 10), ('three', 16), ('four', 8), ('five', 4), ('six', 1)]
bars = hv.Bars(data, hv.Dimension('Car occupants'), 'Count')
# 把Holoviews对象转为Bokeh对象并显示
show(hv.render(bars))

运行这段代码后,系统会自动弹出一个浏览器窗口,直接显示你的条形图。

另外补充一下,如果是IPython Shell的话,体验会更接近Jupyter,只要直接运行bars(不用print),就会自动渲染图表,因为IPython也支持Holoviews的交互式渲染~

内容的提问来源于stack exchange,提问作者Ozgur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:51:08