📜  在 Matplotlib 中为直方图条添加标签

📅  最后修改于: 2022-05-13 01:55:47.021000             🧑  作者: Mango

在 Matplotlib 中为直方图条添加标签

在本文中,我们将讨论如何在 matplotlib 中为直方图条添加标签。直方图用于使用条形显示连续数据。它看起来类似于条形图。它显示了属于该范围内提到的类别的元素的计数或频率,这意味着图形越高,该范围的频率越高。为了显示直方图及其标签,我们将使用 matplotlib。

方法:

  • 我们导入 matplotlib 和 numpy 库。
  • 使用 numpy 库创建一个数据集,以便我们可以绘制它。
  • 使用 matplotlib 库创建直方图。
  • 要给标签使用 set_xlabel() 和 set_ylabel() 函数。
  • 我们为直方图中的每个条添加标签,为此,我们遍历每个条并使用 text()函数在其上添加文本。我们还计算每个条的高度和宽度,以便我们的标签不会彼此重合。
  • 使用 show()函数显示直方图。

下面是代码实现:

Python
from matplotlib import pyplot as plt
import numpy as np
  
# Creating dataset
marks = np.array([70, 50, 40, 90, 55, 85, 74, 66, 33, 11, 45, 36, 89])
  
# Creating histogram
fig, ax = plt.subplots(1, 1)
ax.hist(marks)
  
# Set title
ax.set_title("Title")
  
# adding labels
ax.set_xlabel('x-label')
ax.set_ylabel('y-label')
  
# Make some labels.
rects = ax.patches
labels = ["label%d" % i for i in range(len(rects))]
  
for rect, label in zip(rects, labels):
    height = rect.get_height()
    ax.text(rect.get_x() + rect.get_width() / 2, height+0.01, label,
            ha='center', va='bottom')
  
# Show plot
plt.show()


输出:



解释:

在上面的代码中,我们首先使用 np.array() 创建了一个数组。之后,我们使用 hist()函数创建了一个直方图。为了给出标签,我们使用了 set_xlabel() 和 set_ylabel() 函数。为了给我们的图表赋予标题,我们使用了 set_title()函数。我们还为每个条添加了标签,为此我们首先使用 get_height函数获取高度,然后使用 for 循环遍历每个条并使用 text()函数在其上添加文本。我们使用标签变量来存储变量的名称。最后,为了显示直方图,我们使用了 show()函数。