首页 > 解决方案 > Matplotlib 中的垂直偏移刻度标签

问题描述

我希望将刻度标签放置在刻度上方而不是在刻度上居中。

这是它现在的样子: 这是它现在的样子:

这就是我希望它看起来的样子: 这就是我希望它看起来的样子:

我在这里读过刻度标签格式,但我只能弄清楚如何修改水平填充。我想我需要修改垂直填充。有谁知道我该怎么做?

标签: pythonpython-3.xmatplotlib

解决方案


您可以直接设置刻度标签的垂直对齐方式以将它们向上移动。

import matplotlib.pyplot as plt
import numpy as np

data = np.random.randn(100,)
fig, ax = plt.subplots(2, 1)
ax[0].plot(data)
ax[0].set_title("No shift")
ax[1].plot(data)
for tick in ax[1].get_yticklabels():
    tick.set_verticalalignment("bottom")
ax[1].set_title("With shift")
fig.tight_layout()
plt.show()

您可以看到,在第一个子图中,标签以刻度为中心,而在底部图中,它们位于其上方。

在此处输入图像描述


推荐阅读