如何在 Matplotlib 直方图中显示条形上的计数?

matplotlibpythondata visualization

要在 matplotlib 直方图中显示条形上的计数,我们可以迭代每个块并使用 text() 方法将值放置在块上。

步骤

  • 设置图形大小并调整子图之间和周围的填充。
  • 制作一个数字列表以绘制直方图。
  • 使用 hist() 方法制作直方图。
  • 迭代块并计算每个块的中间值和块的高度以放置文本。
  • 要显示图形,请使用 show() 方法。

示例

import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True

data = [3, 5, 1, 7, 9, 5, 3, 7, 5]
_, _, patches = plt.hist(data, align="mid")

for pp in patches:
   x = (pp._x0 + pp._x1)/2
   y = pp._y1 + 0.05
   plt.text(x, y, pp._y1)

plt.show()

输出


相关文章