如何在Matplotlib直方图中居中标签?
为了在直方图中将标签放置在中心位置,我们可以计算每个补丁的中点并使用 xticks() 方法相应地放置刻度标签。
步骤
- 设置图形大小并调整子图之间和周围的间距。
-
创建一个随机标准样本数据 x。
-
初始化 bins 数量的变量。
-
使用 hist() 方法制作直方图。
-
计算每个补丁中心的刻度列表。
-
制作 刻度标签 的列表。
-
使用 xticks() 方法来放置 xticks 和 标签。
-
使用 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()