卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章17100本站已运行3324

使用 Python Bokeh 创建具有多个字形的绘图

Bokeh is a powerful data visualization library in Python that helps to create interactive and unique visualizations for the web. Bokeh supports various rendering techniques and provides a wide range of built-in tools for creating complex visualizations with multiple glyphs. This document will guide you through the process of creating a plot with multiple glyphs using Bokeh. This plot combines different glyphs to display multiple data series in a single plot that provides a more efficient way to understand the relationship between different variables.

什么是字形(Glyphs),它们的主要优势是什么?

Glyphs are graphical representations of characters, symbols, or icons used in typography and graphic design. They are often used in the design and layout of text, and can include letters, numbers, punctuation marks, and other symbols.

使用字形的一些关键优势包括−

  • 提高可读性− 字形可以被设计得非常易读,使读者能够更快速、准确地理解文本。

  • 增强美观度 − 字形可以用来为文本添加视觉趣味和吸引力,使其更具视觉吸引力和互动性。

  • 一致性和准确性 − 字形可以设计成大小、形状和风格一致,确保文本易于阅读和视觉上连贯。

  • Flexibility − Glyphs can be scaled and modified easily, making it possible to use them in a wide range of contexts and applications.

  • 国际化 − 字形可以用来表示各种语言和书写系统的字符和符号,使其在国际化和本地化方面非常有用。

Overall, glyphs are a powerful tool for typography and graphic design, and can help improve the legibility, aesthetics, consistency, and flexibility of text.

Statistical Significance of these

Glyphs themselves are not subject to statistical significance tests since they are not statistical data. However, the use of glyphs in typography and graphic design may be subject to statistical significance tests if they are used in the context of an experiment or study that involves statistical analysis. For example, if a study is examining the effects of different fonts on reading speed or comprehension, statistical tests may be used to determine whether any observed differences between the fonts are statistically significant.

In general, statistical significance tests are used to determine whether observed differences or effects are likely to be due to chance or random variation, or whether they are likely to reflect a true difference or effect in the population being studied. The specific test used depends on the research question, the type of data being analyzed, and the assumptions made about the data and population.

Therefore, while glyphs themselves are not subject to statistical significance tests, they may be used in the context of experiments or studies that are subject to statistical analysis to determine whether any observed differences or effects are statistically significant.

Prerequisites

Before we dive into the task few things should is expected to be installed onto your system −

List of recommended settings −

  • pip install pandas, bokeh

  • It is expected that the user will have access to any standalone IDE such as VS-Code, PyCharm, Atom or Sublime text.

  • Even online Python compilers can also be used such as Kaggle.com, Google Cloud platform or any other will do.

  • Updated version of Python. At the time of writing the article I have used 3.10.9 version.

  • 使用Jupyter notebook的知识。

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

  • 同时,预期该人员对统计学和数学有很好的理解。

创建基本图表

To create a plot, we first need to import the necessary modules, such as `Figure`, `ColumnDataSource`, and the desired glyphs. Here's an example code snippet that creates a line plot with a single glyph using Bokeh −

Syntax

'
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)

Output

使用 Python Bokeh 创建具有多个字形的绘图

This code will create a line plot with x-axis labeled as "X", y-axis labeled as "Y", and a title "Line Plot". The line plot will display five data points with their corresponding x and y values.

将多个字形添加到图表中

To add multiple glyphs to the plot, we need to use the `Figure` object's `multi_line()` function. The `multi_line()` function takes multiple sequences of x and y values and creates a line glyph for each of them. Here's an example code snippet to create a line plot with multiple glyphs −

'
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)

Output

使用 Python Bokeh 创建具有多个字形的绘图

Here, we created two sets of x and y values and stored them in a `ColumnDataSource` object. We then passed the two sequences of x and y values to the `multi_line()` function, along with the colors and line widths of the two glyphs. This will create a line plot with two glyphs, one in red color and one in blue color, each with their corresponding x and y values.

Final Program, Code

'
# 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)

Conclusion

在本文档中,我们学习了如何使用Bokeh创建具有多个图元的图表。我们首先介绍了图元,然后使用单个图元创建了一个基本的折线图。然后,我们使用`Figure`对象的`multi_line()`函数向图表中添加了多个图元。使用Bokeh,可以轻松创建交互式可视化,帮助理解不同数据点之间的关系。Bokeh允许您以最小的努力创建美观的可视化,让您专注于分析数据,而不必担心可视化。

卓越飞翔博客
上一篇: C# 中的数学函数
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏