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 图表示例