python-3.x - 如何使用 mpldatacursor 显示日期(X 轴)信息?
问题描述
我正在研究遥测系统,现在我想通过点击查看绘图中的每个散点以及每对坐标。我的情节是一个时间序列,所以我很难用数据游标显示每个日期。我目前正在使用这条线
plt.gca().fmt_xdata = matplotlib.dates.DateFormatter('%H:%M:%S')
这证明我的 X 轴是基于日期的。
我已经尝试过这样的:
datacursor(ax1, formatter = 'Valor medido : {y:.6f} às {x:.6f}'.format)
Y 的输出没问题,但日期显示为“纪元数”,如“57990.011454”。
经过一番研究,我可以将此数字转换为:
matplotlib.dates.num2date(d).strftime('%H:%M:%S')
但我没有把它们放在一起显示在我的光标中。
提前致谢!
解决方案
formatter=
接受任何返回字符串的函数。因此,您可以编写(代码未经测试,因为您没有提供最小、完整和可验证的示例)
def print_coords(**kwargs):
return 'Valor medido : {y:.6f} às {x:s}'.format(y=kwargs['y'],
x=matplotlib.dates.num2date(kwargs['x']).strftime('%H:%M:%S'))
datacursor(ax1, formatter=print_coords)
推荐阅读
- sql - 如何从 SQL 查询中检索值并将其存储在 VB.NET 中的变量中?
- azure-cosmosdb - CosmosDB - 存储针对搜索间隔优化的日期时间
- node.js - 如何使用 Lambda 函数了解 RDS 的状态
- python - 获取文件的创建日期,使用该日期创建文件夹并移动文件
- scroll - SwiftUI 无限滚动(上下)
- python - 根据日期计算给定文本文件中每个单词的出现次数
- javascript - 我不知道为什么我不断得到 NaN
- asp.net-mvc - 显示名称的数据注释未以 Razor 形式呈现
- python - 二进制编码(类似于 one-hot 编码),但在单个列和行中允许多个值
- python - Socks5 代理线程