📜  Python Bokeh – 绘制水平条形图(1)

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

Python Bokeh – 绘制水平条形图

在数据可视化中,水平条形图是一种常见的图表类型,它可以用来比较多个项目的值。Python 的 Bokeh 库为我们提供了构建水平条形图的简单工具。在本教程中,我们将学习如何使用 Bokeh 来绘制水平条形图。

准备工作

为了开始使用 Bokeh,我们需要在系统上安装该库。可以使用以下命令进行安装:

pip install bokeh
创建水平条形图

首先,我们需要导入必要的库并准备数据。在本例中,我们将使用车辆销售数据。下面是我们将要使用的代码片段。

from bokeh.io import show
from bokeh.models import ColumnDataSource
from bokeh.plotting import figure

# 准备数据
data = {'Car': ['Ford', 'Honda', 'Toyota', 'Chevrolet'],
        'Sales': [24060, 23621, 20279, 18672]}

# 创建数据源
source = ColumnDataSource(data=data)

# 创建图表
p = figure(y_range=data['Car'],
           plot_width=600,
           plot_height=400,
           title='车辆销售图表',
           toolbar_location=None,
           tools='')

# 添加水平条形图
p.hbar(y='Car', right='Sales', left=0, height=0.4, color='blue', source=source)

# 显示图表
show(p)

让我们逐一解释这段代码。首先,我们从 Bokeh 库中导入必要的库 - show()ColumnDataSource()figure()。然后,我们准备要使用的数据,即车辆销售数据。为了使用这些数据,我们将其写入一个字典变量,其中每个键表示车辆的名称,每个值表示相应车辆的销售量。接下来,我们使用 ColumnDataSource() 函数将数据放入数据源对象中。

# 准备数据
data = {'Car': ['Ford', 'Honda', 'Toyota', 'Chevrolet'],
        'Sales': [24060, 23621, 20279, 18672]}

# 创建数据源
source = ColumnDataSource(data=data)

然后,我们创建一幅图表,并将数据源赋值给它。在这个例子中,我们将数据源作为参数传递给 figure() 函数。

# 创建图表
p = figure(y_range=data['Car'],
           plot_width=600,
           plot_height=400,
           title='车辆销售图表',
           toolbar_location=None,
           tools='',
           )

# 添加水平条形图
p.hbar(y='Car', right='Sales', left=0, height=0.4, color='blue', source=source)

# 显示图表
show(p)

接下来,在图表上添加一个水平条形图。这是通过调用 hbar() 函数来完成的。我们需要指定以下参数 - y 表示要使用的数据源中的列,而 right 代表条形图的右侧。其他参数如 leftheightcolor 等也需要指定。

最后,调用 show() 函数将图表显示在屏幕上。

结论

通过这个简单的例子,我们已经学会了如何使用 Bokeh 库绘制水平条形图。它具有极高的自定义性,可以通过添加其他属性和美化图表样式,实现更美观、互动性更强的图表。