如何旋转特定的刻度标签

How to rotate specific tick labels

用例:您在 x 轴上有刻度线。但是有些刻度线要么太近,要么您需要通过旋转来强调它们。因此,例如,您可能有一个横跨 x 轴的日期列表,这些日期始终是该月的第一天。但是你想 'call out' 一个特别的日期,比如你的生日,然后旋转 25 度。

你怎么能旋转那个 'tick' 而不是旋转所有其他的?

我知道 plt.xticks(rotation = 335) 会很好地旋转所有刻度。

但是假设你有:

f, ax = plt.subplots(figsize=(16, 8))

ax.set_xticks((0,1455,5000,10000,15000,20000,25000,30000))

并且您想将 1455 旋转 335 度,而 旋转任何其他角度。

怎么做到的?

设置刻度位置(也可以选择设置它们的标签)后,您可以通过 ax.get_xticklabels() 访问 matplotlib 文本元素。 因此,您只需访问列表中的第二个元素并更改其旋转。 (同样,您可以更改颜色等。)

import matplotlib.pyplot as plt

fig, ax = plt.subplots(figsize=(16, 8))
ax.set_xticks((0, 1455, 5000, 10000, 15000, 20000, 25000, 30000))
ticks = ax.get_xticklabels()
ticks[1].set_rotation(335)
plt.show()

这适用于 pandas.DataFrame.plotmatplotlibseaborn