python - 如何使用 matplotlib 从轴刻度中获取标签的文本?
问题描述
事实是我试图通过将它们的标签与正则表达式进行比较来过滤我在 xaxis 上显示的刻度。我目前正在“过滤”,只选择其中的 60 个。但是,由于我正在使用非周期函数同时愿意强调某种现象,所以我需要能够获得刻度的标签。为此,我需要能够将标签的“值”放入变量中。但我不知道如何获取文本。我已经尝试过 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)
这里是一个使用 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)
结果,以 2 年的比特币价值进行说明,其中 x 轴每 2 个月毕业一次
推荐阅读
- scala - Scala:收到错误,因为“单元类型的表达式无法确认预期的类型......”
- vim - 如何使用 Vim 8.1 的新终端/termpack 支持滚动浏览终端?
- ios - 文本组件在一定高度后不会呈现
- ms-access - Access Vba - 反转字符串的内容
- view - 从 bq cmd 工具执行现有的参数化 BigQuery 视图
- git - VSCode/Git 在 BranchA 中超过 5k 的新更改:提交,然后切换到 BranchB 并显示未跟踪的更改
- sql-server - Geometry.IsValidDetailed() 的替代方案
- javascript - 我可以对 KendoScheduler 数据源的数据进行硬编码吗?
- java - SOAP Header 简单调用
- c - C for Linux 中的全屏操作