在轴上移动文本

Shifting text on axis

我正在尝试移动我在 x 轴上添加的文本。不幸的是,我似乎无法做到这一点。

这是代码:

import numpy as np
import matplotlib.pyplot as plt

data = [[5., 25., 50., 20.],
    [4., 23., 51., 17.],
    [6., 22., 52., 19.]]
classes = ['Car', 'Home', 'House_num', 'River']

X = np.arange(4)
plt.bar(X + 0.00, data[0], color = 'b', width = 0.25)
plt.bar(X + 0.25, data[1], color = 'g', width = 0.25)
plt.bar(X + 0.50, data[2], color = 'r', width = 0.25)

plt.xticks(np.arange(5), classes)
plt.show()

这是结果图:

我正在尝试移动 classes 以便它们在绿色条下方居中。我查看了 xticks 文档并找到了一个参数 locs,我认为这是我需要手动设置位置的参数(文档是 here)。这是我的尝试(无效):

plt.xticks(np.arange(5), classes, locs=[1.2, 2.2, 3.2, 4.2])

locs 值只是上面代码中的一个测试;他们仍然需要调整以正确对齐。对齐部分不太重要我更感兴趣的是能够简单地操纵我的标签的位置。我这边会负责微调。

祝你今天愉快,感谢您花时间阅读本文。和平!

我建议您只替换这一行:

plt.xticks(np.arange(5), classes)

使用以下其中一项:

plt.xticks(np.arange(0.25,5), classes)
plt.xticks(X + 0.25, classes)