【问题标题】:Matplotlib pcolormesh incompatibility with datetime objectMatplotlib pcolormesh 与日期时间对象不兼容
【发布时间】:2021-05-10 22:48:17
【问题描述】:

我正在处理来自某些仪器的时间序列,并且数字以不同的模式出现。

有时我有年、月、日、小时等时间,我直接创建日期时间数组/列表。当我打印创建的数组(或列表)的一个元素时,我有这样的东西

datetime.datetime(2018, 4, 6, 12, 0, 0)

2018-04-06 12:00:00

当我将它与matploblib.pcolormesh 一起使用时,它可以工作。

但是,现在我的时间是“自 1970 年 1 月 1 日以来的秒数”。我的第一次尝试是这样做

我可以将数组time_dtplt.plot() 一起使用,但是当我将它与plt.pcolormesh() 一起使用时,我得到了

TypeError: Incompatible X, Y inputs to pcolormesh; see help(pcolormesh)

在检查和重新检查所有内容后,唯一的区别是我使用matplotlib.dates 创建日期时间数组的方式,我猜。当我使用这个创建时间列表时

一切顺利!在目前的情况下,我可以走这条路。但在其他情况下,我无法创建时间数组,必须从可变源的文件转换......我需要了解发生了什么。

发生了什么事?我错过了什么?

【问题讨论】:

标签: python-3.x datetime matplotlib


【解决方案1】:

进一步处理这些数据...我发现了另一个奇怪的行为!

我有time_dt,用matplotlib.dates.num2date() 创建 我有 time_dt2,它是用 datetime.datetime() 创建的

用两个时间数组为同一个变量绘制一个图,我得到了这个

所以,time_dttime_dt2 似乎差不多。

当我这样做时

这是我乞讨的预期结果。但是......当我这样做时

pcolormesh 不见了,没有错误!好诡异……

【讨论】:

    猜你喜欢
    • 2021-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-31
    • 1970-01-01
    • 2018-06-29
    • 2021-08-21
    相关资源
    最近更新 更多