📅  最后修改于: 2023-12-03 15:29:38.158000             🧑  作者: Mango
Bokeh是一个用于Python编程语言的交互式可视化库。它可以帮助您创建漂亮、互动的数据可视化,用于数据分析、科学、工程和业务应用程序。Jupyter Notebook是基于Web的交互式计算环境,用于创建和共享文档,包含代码、方程式、可视化和说明文本等。本文将介绍如何在Jupyter Notebook中使用Bokeh库进行数据可视化。
Bokeh的安装可以通过pip命令进行,如下所示:
pip install bokeh
同时,还需要安装Bokeh的依赖库NumPy和Pandas:
pip install numpy
pip install pandas
Bokeh使用“图形”(Plot)对象来绘制图形,图形对象包含渲染器(Renderer)、工具(Tool)、样式(Style)等信息。
渲染器是一个可以让我们在图形中添加可视化元素的对象,例如曲线、方形、圆等。
数据源是Bokeh集中管理数据的对象,可以是数组、Pandas数据帧等等。
工具可以帮助用户与图形进行交互,例如缩放、平移、旋转等。
样式可以定义图形的外观,例如颜色、线型等。
Bokeh支持多种类型的基本图形,例如折线图、散点图、条形图等。我们以散点图为例,介绍如何使用Bokeh进行数据可视化。
from bokeh.plotting import figure, output_notebook, show
from bokeh.models import ColumnDataSource
output_notebook()
source = ColumnDataSource(data=dict(
x=[1, 2, 3, 4, 5],
y=[6, 7, 2, 4, 5],
desc=['A', 'B', 'C', 'D', 'E'],
))
p = figure(title='散点图示例', x_axis_label='X轴', y_axis_label='Y轴')
p.scatter('x', 'y', source=source, size=20, color='red')
show(p)
运行代码后,将会在Jupyter Notebook中显示散点图,如下所示:
Bokeh支持多种交互式图形,例如缩放、平移、旋转、选择等。我们以缩放为例,介绍如何使用Bokeh进行交互式数据可视化。
from bokeh.models import LinearColorMapper, ColorBar
from bokeh.transform import factor_cmap
from bokeh.palettes import Spectral6
from bokeh.layouts import row
data = {
'x': ['A','A','A','B','B','B','C','C','C','D','D','D','E','E','E'],
'y': ['A','B','C','A','B','C','A','B','C','A','B','C','A','B','C'],
'value': [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],
}
source = ColumnDataSource(data)
mapper = LinearColorMapper(
palette=Spectral6, low=min(data['value']), high=max(data['value'])
)
p = figure(title='缩放示例', x_axis_location='above', x_range=list(data['x']), y_range=list(reversed(data['y'])))
p.rect(x='x', y='y', width=1, height=1, source=source, fill_color=factor_cmap('value', palette=Spectral6, factors=list(data['value'])))
color_bar = ColorBar(color_mapper=mapper, major_label_text_font_size="5pt",
label_standoff=6, border_line_color=None, location=(0, 0))
p.add_layout(color_bar, 'right')
show(p)
运行代码后,将会在Jupyter Notebook中显示缩放图形,如下所示:
在图形中,我们可以通过鼠标滚轮来对图形进行缩放,同时,我们还可以通过鼠标拖动对图形进行平移。
Bokeh提供了丰富的交互式图形功能,可以帮助我们更加深入地理解数据分析和可视化。希望本文能够帮助初学者掌握Bokeh-Jupyter Notebook的基本用法。