如何在 matplotlib 中获取轴的主要刻度线的长度?

How can I get length of axis' major ticks in matplotlib?

我知道我可以使用 AxesSubplot.tick_params() 方法的 length 参数设置刻度的长度。

如何确定某个轴的主要刻度线的实际长度?

请假设长度可能会改变。

刻度的默认长度由 xtick.major.sizeytick.major.sizextick.minor.sizeytick.minor.size rcParams 决定。

您可以通过

以编程方式找到
import matplotlib.pyplot as plt
print(plt.rcParams["xtick.major.size"])

这在通常情况下打印 3.5(大小以磅为单位)。

您同样可以使用那些 rcParams 来设置长度

import matplotlib.pyplot as plt
plt.rcParams["xtick.major.size"] = 6

这适用于您自己创建轴并且(尚未)更改长度的所有情况,例如通过 tick_params 方法。

否则,您可以通过

找出刻度长度
ax.xaxis.majorTicks[0].tick1line.get_markersize()

其中 ax 是有问题的轴。