【发布时间】:2020-12-02 21:51:05
【问题描述】:
我正在尝试绘制一系列日期。由于数据集不完整,该系列有一些 None 值,这会导致错误。
这篇文章成功处理了类似的问题Python matplotlib - errorbar None values in series
但我无法将其应用于 datetime.date 值列表。
我的代码是
import matplotlib.pyplot as plt
import datetime
import numpy as np
fig, ax1 = plt.subplots()
keys = ["a", "b", "c", "d"]
series_one = np.array(
[
datetime.date(2020, 11, 13),
datetime.date(2021, 2, 28),
datetime.date(2021, 3, 31),
datetime.date(2021, 4, 30),
]
)
series_two = np.array(
[
datetime.date(2020, 11, 13),
datetime.date(2021, 2, 28),
datetime.date(2021, 3, 31),
None,
]
)
series_three = np.array(
[
datetime.date(2020, 11, 13),
None,
datetime.date(2021, 3, 31),
datetime.date(2020, 2, 1),
]
)
ax1.scatter(series_one, keys)
ax1.scatter(series_two, keys)
ax1.scatter(series_three, keys)
错误信息:
当使用 NoneType 时
AttributeError: 'NoneType' object has no attribute 'toordinal
当使用 float("NaN") 而不是 None 时。
AttributeError: 'float' object has no attribute 'toordinal'
【问题讨论】:
-
似乎 None 为我返回了 1680 年,你也一样吗?
-
您希望在最终结果中看到什么来代替 None?
-
@ombk 由于 None 值,我刚刚崩溃。谢谢。
标签: python numpy matplotlib