使用Python Bokeh创建包含多个Glyph的绘图


Bokeh是一个强大的Python数据可视化库,它有助于创建用于Web的交互式和独特的可视化效果。Bokeh支持各种渲染技术,并提供各种内置工具来创建包含多个Glyph的复杂可视化效果。本文档将指导您完成使用Bokeh创建包含多个Glyph的绘图的过程。此绘图结合了不同的Glyph来显示单个绘图中的多个数据序列,这提供了一种更有效的方式来理解不同变量之间的关系。

什么是Glyph?它的主要优点是什么?

Glyph是排版和图形设计中使用的字符、符号或图标的图形表示。它们常用于文本的设计和布局,可以包括字母、数字、标点符号和其他符号。

使用Glyph的一些主要优点包括:

  • 提高可读性 - Glyph可以设计得高度易读,使读者更容易快速准确地理解文本。

  • 增强美观性 - Glyph可以用来为文本增加视觉趣味和吸引力,使其更具视觉吸引力和参与性。

  • 一致性和准确性 - Glyph可以设计成在大小、形状和样式上保持一致,确保文本易于阅读和视觉上连贯。

  • 灵活性 - Glyph可以轻松缩放和修改,使其能够在各种环境和应用中使用。

  • 国际化 - Glyph可以用来表示各种语言和书写系统的字符和符号,使其可用于国际化和本地化。

总的来说,Glyph是排版和图形设计的强大工具,可以帮助提高文本的可读性、美观性、一致性和灵活性。

这些的统计意义

Glyph本身不属于统计显著性检验的范畴,因为它们不是统计数据。但是,如果Glyph用于包含统计分析的实验或研究中,则其在排版和图形设计中的使用可能需要进行统计显著性检验。例如,如果一项研究正在检查不同字体对阅读速度或理解力的影响,则可以使用统计检验来确定观察到的字体差异是否具有统计显著性。

一般来说,统计显著性检验用于确定观察到的差异或效应是否可能归因于偶然性或随机变化,或者它们是否可能反映被研究人群中真实的差异或效应。使用的具体检验取决于研究问题、被分析的数据类型以及对数据和人群所做的假设。

因此,虽然Glyph本身不属于统计显著性检验的范畴,但它们可以在进行统计分析的实验或研究中使用,以确定观察到的任何差异或效应是否具有统计显著性。

先决条件

在我们深入探讨任务之前,需要在您的系统上安装以下几项:

推荐设置列表:

  • pip install pandas, bokeh

  • 用户应该能够访问任何独立的IDE,例如VS-Code、PyCharm、Atom或Sublime text。

  • 也可以使用在线Python编译器,例如Kaggle.com、Google Cloud Platform或其他任何编译器。

  • 更新版本的Python。在撰写本文时,我使用了3.10.9版本。

  • 了解如何使用Jupyter Notebook。

  • 了解和应用虚拟环境将是有益的,但不是必需的。

  • 还期望使用者对统计学和数学有良好的理解。

创建基本绘图

要创建绘图,我们首先需要导入必要的模块,例如`Figure`、`ColumnDataSource`和所需的Glyph。以下是一个使用Bokeh创建包含单个Glyph的线形图的代码示例:

语法

from bokeh.plotting import figure, output_file, show
output_file("line.html")
p = figure(title="Line Plot", x_axis_label="X", y_axis_label="Y")

x = [1, 2, 3, 4, 5]
y = [6, 7, 2, 4, 5]

p.line(x, y, line_width=2)

show(p)

输出

此代码将创建一个线形图,x轴标记为“X”,y轴标记为“Y”,标题为“线形图”。线形图将显示五个数据点及其对应的x和y值。

向绘图中添加多个Glyph

要向绘图中添加多个Glyph,我们需要使用`Figure`对象的`multi_line()`函数。`multi_line()`函数接受多个x和y值序列,并为每个序列创建一个线形Glyph。以下是一个创建包含多个Glyph的线形图的代码示例:

from bokeh.plotting import figure, output_file, show
from bokeh.models import ColumnDataSource

output_file("multi_line.html")

p = figure(title="Multiple Glyphs", x_axis_label="X", y_axis_label="Y")

x1 = [1, 2, 3, 4, 5]
y1 = [6, 7, 2, 4, 5]

x2 = [1, 2, 3, 4, 5]
y2 = [2, 4, 6, 8, 10]

source = ColumnDataSource(data=dict(x1=x1, y1=y1, x2=x2, y2=y2))
p.multi_line(xs=[source.data["x1"], source.data["x2"]],
   ys=[source.data["y1"], source.data["y2"]],
   line_color=["red", "blue"], line_width=[2, 2])
show(p)

输出

在这里,我们创建了两组x和y值,并将它们存储在一个`ColumnDataSource`对象中。然后,我们将两组x和y值序列传递给`multi_line()`函数,以及两个Glyph的颜色和线宽。这将创建一个包含两个Glyph的线形图,一个为红色,一个为蓝色,每个都有其对应的x和y值。

最终程序,代码

# Basic plot

from bokeh.plotting import figure, output_file, show
output_file("line.html")

p = figure(title="Line Plot", x_axis_label="X", y_axis_label="Y")

x = [1, 2, 3, 4, 5]
y = [6, 7, 2, 4, 5]

p.line(x, y, line_width=2)

show(p)

# Multiple graphs

from bokeh.plotting import figure, output_file, show
from bokeh.models import ColumnDataSource

output_file("multi_line.html")

p = figure(title="Multiple Glyphs", x_axis_label="X", y_axis_label="Y")

x1 = [1, 2, 3, 4, 5]
y1 = [6, 7, 2, 4, 5]

x2 = [1, 2, 3, 4, 5]
y2 = [2, 4, 6, 8, 10]

source = ColumnDataSource(data=dict(x1=x1, y1=y1, x2=x2, y2=y2))

p.multi_line(xs=[source.data["x1"], source.data["x2"]],
   ys=[source.data["y1"], source.data["y2"]],
   line_color=["red", "blue"], line_width=[2, 2])

show(p)

结论

在本文件中,我们学习了如何使用Bokeh创建包含多个Glyph的绘图。我们首先介绍了Glyph,然后创建了一个包含单个Glyph的基本线形图。然后,我们使用`Figure`对象的`multi_line()`函数向绘图中添加了多个Glyph。使用Bokeh,可以轻松创建交互式可视化效果,这有助于理解不同数据点之间的关系。Bokeh允许您轻松创建漂亮的可视化效果,使您可以专注于分析数据,而不必担心可视化。

更新于:2023年4月25日

235次浏览

启动您的职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.