Python Bokeh版本0.13.0 RangeTool导入错误

问题描述 投票:1回答:1
import numpy as np

from bokeh.io import show
from bokeh.layouts import column
from bokeh.models import ColumnDataSource, RangeTool
from bokeh.plotting import figure
from bokeh.sampledata.stocks import AAPL

dates = np.array(AAPL['date'], dtype=np.datetime64)
source = ColumnDataSource(data=dict(date=dates, close=AAPL['adj_close']))

p = figure(plot_height=300, plot_width=800, tools="", toolbar_location=None,
       x_axis_type="datetime", x_range=(dates[1500], dates[2500]))

p.line('date', 'close', source=source)
p.yaxis.axis_label = 'Price'

select = figure(plot_height=150, plot_width=800, y_range=p.y_range,
            x_axis_type="datetime", y_axis_type=None,
            tools="", toolbar_location=None)
range_rool = RangeTool(x_range=p.x_range)
range_rool.overlay.fill_color = "navy"
range_rool.overlay.fill_alpha = 0.2

select.line('date', 'close', source=source)
select.ygrid.grid_line_color = None
select.add_tools(range_rool)
select.toolbar.active_multi = range_rool

show(column(p, select))

使用Python 3.6,Bokeh 0.13.0,Juptyer 5.5.0

尝试运行此代码,但它给了我“ImportError:无法导入名称'RangeTool'”

我该如何解决这个错误?

python import jupyter-notebook bokeh importerror
1个回答
0
投票

如果你不能导入RangeTool那么你100%有一些安装问题。一个常见的事情是在不同的Python环境中安装Bokeh 0.13.0而不是你当前运行Python的环境(可能是无意中)。这在笔记本电脑中尤为常见。我见过很多人在与笔记本不同的环境中安装Bokeh,因此当他们运行笔记本时,当然它会看到其他一些较旧的Bokeh版本。你总是可以执行

print(bokeh.__version__) 

确认您实际使用的是您认为正在使用的版本。否则,如果报告0.13.0然后安装是以某种方式拙劣。吹走在site-packages相关的所有散景并重新安装。

© www.soinside.com 2019 - 2024. All rights reserved.