📅  最后修改于: 2023-12-03 15:33:58.415000             🧑  作者: Mango
在数据可视化中,水平条形图是一种常见的图表类型,它可以用来比较多个项目的值。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
代表条形图的右侧。其他参数如 left
、height
、color
等也需要指定。
最后,调用 show()
函数将图表显示在屏幕上。
通过这个简单的例子,我们已经学会了如何使用 Bokeh 库绘制水平条形图。它具有极高的自定义性,可以通过添加其他属性和美化图表样式,实现更美观、互动性更强的图表。