隨著資料視覺化成為每個資料分析專案不可或缺的一部分,長條圖成為表示分類資料的絕佳工具。當我們想要並排比較多個組別時,分組長條圖尤其有用。
可以將註解新增到長條圖中,以提供附加資訊或對所呈現的資料進行說明。 matplotlib的註解功能可用於將這些註解新增至每個長條圖。函數採用以下參數 -
text - 要在註解中顯示的文字。
xy - 要註解的點 (x, y)。
xytext - 確定文字位置。
ha - 文字的水平對齊方式(例如「center」、「left」、「right」)。
va - 文字的垂直對齊方式(例如「center」、「top」、「bottom」)。
使用註解可以提高分組長條圖的可讀性和可解釋性。以下是在分組長條圖中註解長條可能會有所幫助的兩個實例 -
在分組長條圖中比較不同高度的長條的絕對值可能很困難。如果條形圖示註了對應的值,讀者可能會發現比較每組的絕對值更簡單。透過以相對值註解長條圖,讀者還可以更清楚地了解每個類別中值的分佈。
要比較多個組別的平均值或比例,可以使用組長條圖。在長條圖中加入 p 值或信賴區間可能有助於讀者識別組之間的顯著差異。此外,您可以透過在條形上方放置星號或其他符號來直觀地突出顯示具有統計顯著差異的條形。這可以幫助讀者理解統計分析的結果並從數據中得出推論。
導入必要的函式庫:matplotlib和numpy
#建立要繪製的資料集
使用 matplotlib 的 subplots 函數定義圖形和軸物件
#使用 bar 函數繪製分組長條圖
循環遍歷每個條並使用 matplotlib 的註解函數添加文字註解
import matplotlib.pyplot as plt import numpy as np # create sample dataset data = np.array([[3, 4, 5], [2, 3, 4]]) # define labels and groups labels = ['Group 1', 'Group 2'] groups = ['A', 'B', 'C'] # define figure and axis objects fig, ax = plt.subplots() # plot the grouped bar chart width = 0.35 x = np.arange(len(groups)) ax.bar(x - width/2, data[0], width, label=labels[0]) ax.bar(x + width/2, data[1], width, label=labels[1]) # add text annotations to each bar for i, j in enumerate(data): for x_val, y_val in zip(x, j): ax.annotate(str(y_val), xy=(x_val+i*width-width/2, y_val), ha='center', va='bottom') # add labels and legend ax.set_xticks(x) ax.set_xticklabels(groups) ax.set_xlabel('Groups') ax.set_ylabel('Count') ax.legend() plt.show()
首先,導入該任務的基本函式庫,特別是眾所周知的 numpy 和 matplotlib。
範例資料集是透過套用兩行三列的 numpy 陣列產生的。定義群組和條的標籤是為了正確識別繪圖。
要建立繪圖,圖形和軸物件是透過 matplotlib 的 subplots 函數產生的。然後使用 bar 函數繪製分組長條圖,其中每個長條的寬度指定為 0.35。然後使用相應的數據繪製每個組的條形圖,這些數據是使用 labels 參數選擇的。
註解函數在巢狀的 for 迴圈內部使用,以在每個長條圖上新增文字註解。此函數接受每個條形的 x 和 y 座標以及條形的高度作為文字註解。
繪圖使用 matplotlib 的 set_xticks、set_xticklabels、set_xlabel、set_ylabel 和 legend 函數進行標記,這些函數允許正確標記 x 軸和 y 軸、繪圖標題,並在圖上新增圖例。
在 Python 中為分組長條圖新增註解可以為所呈現的資料提供附加資訊或說明。使用 matplotlib 的註解功能,我們可以按照本文概述的逐步演算法輕鬆為每個長條圖添加文字註釋。
以上是如何在Python中對分組長條圖進行註解?的詳細內容。更多資訊請關注PHP中文網其他相關文章!