Bokeh 是一个交互式图表库,可以轻松地将交互式图表嵌入到 Python 应用程序中。以下是一些关于 Bokeh 文档的精选教程,帮助您更好地理解和使用 Bokeh。

快速开始

安装 Bokeh

首先,确保您已经安装了 Bokeh。您可以使用以下命令进行安装:

pip install bokeh

创建基本图表

以下是一个简单的示例,展示如何创建一个基本的 Bokeh 图表:

from bokeh.plotting import figure
from bokeh.io import output_file, show

output_file("basic_chart.html")

p = figure(title="Basic Chart", tools="pan,wheel_zoom,box_zoom,reset")

x = [1, 2, 3, 4, 5]
y = [10, 11, 12, 13, 14]

p.line(x, y, line_width=2)

show(p)

查看完整示例

高级教程

交互式图表

Bokeh 支持多种交互式元素,如工具栏、滑块、下拉菜单等。以下是一个交互式图表的示例:

from bokeh.plotting import figure
from bokeh.models import ColumnDataSource, Slider

output_file("interactive_chart.html")

source = ColumnDataSource(data=dict(x=[1, 2, 3, 4, 5], y=[10, 11, 12, 13, 14]))

p = figure(title="Interactive Chart", tools="pan,wheel_zoom,box_zoom,reset")

p.line('x', 'y', source=source)

slider = Slider(start=0, end=10, value=5, title="Value")
p.add_tools(HoverTool(tooltips=[("index", "$index"), ("(x,y)", "($x, $y)")]))

callback = CustomJS(args=dict(source=source, slider=slider), code="""
    var data = source.data;
    data['y'] = data['y'].map(function(d) { return d + slider.value; });
    source.change.emit();
""")

slider.js_on_change('value', callback)

show(p)

查看完整示例

高级布局

Bokeh 提供了丰富的布局选项,允许您创建复杂的图表布局。以下是一个使用布局创建复杂图表的示例:

from bokeh.plotting import figure
from bokeh.layouts import gridplot

output_file("complex_layout.html")

p1 = figure(title="Plot 1", tools="pan,wheel_zoom,box_zoom,reset")
p1.circle([1, 2, 3], [4, 5, 6], size=10, color="blue")

p2 = figure(title="Plot 2", tools="pan,wheel_zoom,box_zoom,reset")
p2.line([1, 2, 3], [4, 5, 6], color="red")

layout = gridplot([[p1], [p2]])

show(layout)

查看完整示例

Bokeh 图表示例