使用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次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告