如何在 Matplotlib 直方图中将标签居中?

matplotlibpythondata visualization

要将标签放置在直方图中的中心,我们可以计算每个块的中点,并使用 xticks() 方法相应地放置刻度标签。

步骤

  • 设置图形大小并调整子图之间和周围的填充。

  • 创建一个随机标准样本数据 x。

  • 初始化一个变量来表示箱数。

  • 使用 hist() 方法绘制直方图。

  • 计算每个块中心的刻度列表。

  • 制作一个列表tickslabels。

  • 使用 xticks() 方法放置 xtickslabels。

  • 要显示图形,请使用 show() 方法。

示例

import numpy as np
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
x = np.random.randn(1000)
n_bins = 10
n, bins, patches = plt.hist(x, bins=n_bins, edgecolor='black')
ticks = [(patch._x0 + patch._x1)/2 for patch in patches]
ticklabels = [i for i in range(n_bins)]
plt.xticks(ticks, ticklabels)
plt.show()

输出


相关文章