Bokeh Serving 在heroku上交互式Bokeh图形
在本文中,我们将介绍如何在Heroku上部署交互式的Bokeh图形。Bokeh是一个功能强大的Python库,用于创建交互式的数据可视化图形。Bokeh Serving是一个用于在网络上共享和交互Bokeh图形的工具。
阅读更多:Bokeh 教程
什么是Bokeh Serving?
Bokeh Serving是Bokeh的一个子模块,允许用户将其Bokeh图形部署到网络服务器上。通过Bokeh Serving,用户可以轻松地将其交互式图形共享给其他用户,让他们使用自己定义的界面和控件进行交互。
如何在Heroku上部署Bokeh图形?
要在Heroku上部署Bokeh图形,需要完成以下几个步骤:
步骤一:安装Heroku CLI
首先,需要安装Heroku CLI(命令行接口)。Heroku CLI是Heroku官方提供的一个命令行工具,用于执行与Heroku平台相关的操作。
步骤二:登录Heroku账户
安装完Heroku CLI后,可以在终端中使用heroku login
命令登录Heroku账户。登录成功后,将会在终端中显示登录成功的信息。
步骤三:创建一个新的Heroku应用
使用以下命令创建一个新的Heroku应用:
heroku create <app-name>
这里的<app-name>
是你想要给你的应用起的名字。Heroku将会为你的应用创建一个唯一的URL。
步骤四:设置Heroku配置
在部署Bokeh图形之前,需要在Heroku应用的配置中添加一些设置。在根目录下创建一个Procfile
文件,并添加以下内容:
web: bokeh serve --port=$PORT --allow-websocket-origin=<app-url> <app-file>
这里的<app-url>
是你Heroku应用的URL,<app-file>
是你的Bokeh应用的入口文件。
步骤五:部署Bokeh图形到Heroku
完成配置后,可以使用以下命令将Bokeh图形部署到Heroku:
git push heroku master
这会将你的Bokeh应用推送到Heroku服务器上,并自动进行部署。
步骤六:通过URL访问Bokeh图形
部署完成后,可以通过Heroku为你的应用分配的URL访问你的Bokeh图形。在浏览器中输入应用的URL,即可使用你在Bokeh应用中定义的界面和控件进行交互。
示例说明
假设我们有一个简单的Bokeh应用,用于显示和交互一个散点图。
from bokeh.io import curdoc
from bokeh.plotting import figure
from bokeh.models import ColumnDataSource, Slider
# 创建数据源
source = ColumnDataSource(data=dict(x=[1, 2, 3, 4, 5], y=[2, 4, 6, 8, 10]))
# 创建散点图
p = figure(title='Scatter Plot Example', plot_height=300, plot_width=400)
p.circle(x='x', y='y', source=source, size=10)
# 创建滑动条
slider = Slider(title='Size', start=5, end=20, step=1, value=10)
# 定义回调函数
def update_size(attr, old, new):
p.circle(x='x', y='y', source=source, size=slider.value)
slider.on_change('value', update_size)
curdoc().add_root(p)
curdoc().add_root(slider)
我们可以将这个Bokeh应用保存为一个名为scatter_plot.py
的文件。然后,按照上述步骤将这个应用部署到Heroku上。
总结
通过Bokeh Serving和Heroku,我们可以轻松地部署交互式的Bokeh图形,让其他用户可以通过URL访问并与图形进行交互。使用上述步骤,我们可以快速地将自己的Bokeh应用部署到Heroku上,并与他人共享自己的数据可视化结果。
Bokeh Serving和Heroku的结合为数据科学家和开发者提供了一个强大的工具,可以方便地构建和共享交互式的数据可视化应用,为数据分析和决策提供更直观和高效的工具。希望本文对你理解和使用Bokeh Serving和Heroku有所帮助。