📜  Bokeh-Jupyter Notebook(1)

📅  最后修改于: 2023-12-03 15:29:38.158000             🧑  作者: Mango

Bokeh-Jupyter Notebook介绍

Bokeh是一个用于Python编程语言的交互式可视化库。它可以帮助您创建漂亮、互动的数据可视化,用于数据分析、科学、工程和业务应用程序。Jupyter Notebook是基于Web的交互式计算环境,用于创建和共享文档,包含代码、方程式、可视化和说明文本等。本文将介绍如何在Jupyter Notebook中使用Bokeh库进行数据可视化。

Bokeh的安装

Bokeh的安装可以通过pip命令进行,如下所示:

pip install bokeh

同时,还需要安装Bokeh的依赖库NumPy和Pandas:

pip install numpy
pip install pandas
Bokeh的基本概念
图形

Bokeh使用“图形”(Plot)对象来绘制图形,图形对象包含渲染器(Renderer)、工具(Tool)、样式(Style)等信息。

渲染器

渲染器是一个可以让我们在图形中添加可视化元素的对象,例如曲线、方形、圆等。

数据源

数据源是Bokeh集中管理数据的对象,可以是数组、Pandas数据帧等等。

工具

工具可以帮助用户与图形进行交互,例如缩放、平移、旋转等。

样式

样式可以定义图形的外观,例如颜色、线型等。

Bokeh的基本图形

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支持多种交互式图形,例如缩放、平移、旋转、选择等。我们以缩放为例,介绍如何使用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的基本用法。