如何使用 matplotlib 从轴刻度获取标签的文本?

How to get the text of the label from the axis ticks using matplotlib?

事实上,我试图通过将它们的标签与正则表达式进行比较来过滤我在 x 轴上显示的刻度。我目前 "filtering" 只占 60 个中的一个。但是,由于我在玩非周期函数同时愿意强调某种现象,所以我需要能够获得刻度的标签。 为此,我需要能够将标签的 "value" 放入变量中。但我不知道如何获取文本。我试过 get_text() 方法,但我得到的只是一个空字符串。这是我认为与此相关的代码部分,如果您认为需要一些精确度,请问我:

    for index, label in enumerate(ax.xaxis.get_ticklabels()):
        if index % (2*30) != 0:
            label.set_visible(False)
        else:
            print(label.get_text())
    for index, tick in enumerate(ax.xaxis.get_ticklines()):
        if index % (4*30) != 0:
            tick.set_visible(False)

Here,一个使用 2 年比特币价值的示例,x 轴每 60 天刻度一次。 由于我无法获得标签的价值,因此我无法专注于每个月的第一天。 感谢所有阅读我的人,如果您有答案,请告诉我!!

好吧,事实上,尝试从标签中获取文本与此无关。因为这段文字是x值的值。所以,我基本上是想通过另一种方式获得 x 值...... 这是我想出的代码:

for index, label in enumerate(ax.xaxis.get_ticklabels()):
    if re.findall(".*-.[13579]-0[2-9]", dateList[index]) or re.findall(".*-.[13579]-[123].", dateList[index]) or re.findall(".*-.[02468]-.*", dateList[index]):
        label.set_visible(False)
for index, tick in enumerate(ax.xaxis.get_ticklines()):
    if index % (4*30) != 0:
        tick.set_visible(False)

Result,以 2 年的比特币价值为例,其中 x 轴每 2 个月毕业一次