如何在Bokeh中添加颜色条
在Python中,Bokeh是一种功能强大的数据可视化库,超越了传统的绘图。它遵循独特的“图形语法”架构,允许开发人员通过一起管理图形元素来构建交互式可视化。Bokeh图表通过与Pandas、NumPy和SciPy的无缝集成使数据栩栩如生。
什么是颜色条?
颜色条是一种可视化工具,其中颜色用于表示像热力图这样的连续变量。颜色条的主要目的是允许用户理解数据值和用于表示它们的颜色之间的关系。让我们学习如何在Bokeh中添加颜色条。
在Bokeh中添加颜色条的逐步过程
第1步:导入必要的库
我们将导入一些库,如numpy、bokeh.plotting、bokeh.models和bokeh.io,来创建一个基本的图表。如果您使用Google Collab或Jupyter笔记本,您必须使用bokeh.io和output_notebook函数来显示图表。
示例
# import NumPy library
import numpy as np
# from bokeh.plot import figure and show for creating and displaying plot
from bokeh.plotting import figure, show
# from bokeh.models import LinearColorMapper and ColorBar to generate a color bar
from bokeh.models import LinearColorMapper, ColorBar
from bokeh.io import output_notebook
output_notebook()
步骤2:生成或导入数据以创建绘图
我们可以使用NumPy的random.rand函数生成所需长度的随机数组。
示例
# Generate a random array of size 10 to plot
data = np.random.rand(10,10)
步骤3:决定颜色栏的颜色调色板
# 使用线性颜色映射函数选择栏的颜色调色板
# 指定颜色映射的低值和高值以确定数值范围。
color = LinearColorMapper(palette = "Magma256", low = 0, high = 1)
在这里,我们使用了palette属性,决定了我们颜色栏的颜色调色板。我们使用了Magma256作为颜色调色板。但你也可以尝试其他颜色调色板,如Greys256,Inferno256,Plasma256,Viridis256,Cividis256,Turbo256。
步骤4:定义X和Y轴的限制
# Defining X axis and Y axis limits
plot = figure(x_range = (0, 1), y_range = (0,1))
步骤5:生成图表的图像
#Add the plot's width and height, scalar data, and a color mapper to generate a plot image
plot.image(image = [data], color_mapper = color, dh = [1], dw = [1], x = [0], y = [0])
步骤6:创建色条
使用ColorBar函数创建色条。
# Creating the color bar and setting the color bar position at (0,0)
color_bar = ColorBar(color_mapper = color, location = (0,0))
第7步:定位颜色条并显示图形
请注意,在Bokeh中,您可以将颜色条放置在任何位置,无论是右侧、左侧、上方还是下方。因此,在代码中需要提及颜色条的位置。
# Incorporating the color bar on the right
plot.add_layout(color_bar, 'right')
# display the plot
show(plot)
输出
结论
色标是用于关联数据之间关系的有用工具之一。Bokeh还提供了许多其他工具来使您的图表具有交互性,例如颜色选择器、添加日期、表格等等。