如何在 Matplotlib 中為條形圖新增分組標籤?
要為條形圖建立分組標籤,我們可以採取以下步驟:
為**標籤**、**men_means** 和 **women_means** 建立包含不同資料元素的列表。
使用**numpy.arrange()** 方法返回給定區間內均勻分佈的值。
設定寬度變數,即 **width=0.35**。
使用**subplots** 方法建立**fig** 和**ax** 變數,其中預設的 nrows 和 ncols 為 1。
條形圖位於 *x* 處,並具有給定的 *align* 對齊方式。其尺寸由 *height* 和 *width* 給定。垂直基線為 *bottom*(預設為 0),因此使用 **plt.bar()** 方法建立 **rect1** 和 **rect2**。
使用 **plt.ylabel()** 方法設定 Y 軸標籤。
使用 **set_title()** 方法設定座標軸標題。
使用 **set_xticks()** 方法獲取或設定 X 軸的當前刻度位置和標籤。
使用 **set_xticklabels()** 方法設定網格的 X 軸刻度標籤。
使用 **legend()** 方法在圖中放置圖例。
使用使用者定義的 **autolabel()** 方法為建立的條形圖 (rect1 和 rect2) 新增一些標籤。
要顯示圖形,請使用 **plt.show()** 方法。
示例
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
labels = ['G1', 'G2', 'G3', 'G4', 'G5']
men_means = [20, 34, 30, 35, 27]
women_means = [25, 32, 34, 20, 25]
x = np.arange(len(labels))
width = 0.35
fig, ax = plt.subplots()
rects1 = ax.bar(x - width / 2, men_means, width, label='Men')
rects2 = ax.bar(x + width / 2, women_means, width, label='Women')
ax.set_ylabel('Scores')
ax.set_title('Scores by group and gender')
ax.set_xticks(x)
ax.set_xticklabels(labels)
ax.legend()
def autolabel(rects):
for rect in rects:
height = rect.get_height()
ax.annotate('{}'.format(height),
xy=(rect.get_x() + rect.get_width() / 2, height),
xytext=(0, 3), # 3 points vertical offset
textcoords="offset points",
ha='center', va='bottom')
autolabel(rects1)
autolabel(rects2)
plt.show()輸出

廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP