对齐刻度标签#

默认情况下,刻度标签是朝向坐标轴对齐的。这意味着 y 轴刻度标签组会呈现右对齐效果。由于对齐参考点位于坐标轴上,若采用左对齐,刻度标签将会重叠在绘图区域上。为了实现美观的左对齐效果,你必须额外增加填充间距(padding)。

align ticklabels
import matplotlib.pyplot as plt

population = {
    "Sydney": 5.2,
    "Mexico City": 8.8,
    "São Paulo": 12.2,
    "Istanbul": 15.9,
    "Lagos": 15.9,
    "Shanghai": 21.9,
}

fig, ax = plt.subplots(layout="constrained")
ax.barh(population.keys(), population.values())
ax.set_xlabel('Population (in millions)')

# left-align all ticklabels
for ticklabel in ax.get_yticklabels():
    ticklabel.set_horizontalalignment("left")

# increase padding
ax.tick_params("y", pad=70)

由 Sphinx-Gallery 生成的画廊