【发布时间】:2019-02-15 09:03:15
【问题描述】:
我有一个只有两列的数据框,即 Date 和 ClosingPrice。我正在尝试使用 df.plot() 绘制它们,但不断收到此错误:
ValueError:视图限制最小值 -36785.37852 小于 1 并且是无效的 Matplotlib 日期值。如果您将非日期时间值传递给具有日期时间单位的轴,这通常会发生
我从 matplotlib 中找到了关于此的文档,但其中说明了如何确保格式为日期时间。这是我必须确保格式为日期时间的代码,并在尝试绘制之前打印每列的数据类型。
df.Date = pd.to_datetime(df.Date)
print(df['ClosingPrice'].dtypes)
print(df['Date'].dtypes)
这些打印语句的输出是:
float64 日期时间64[ns]
我不确定问题出在哪里,因为我在绘图之前验证了数据类型。这也是数据集的前几行的样子:
Date ClosingPrice
0 2013-09-10 64.7010
1 2013-09-11 61.1784
2 2013-09-12 61.8298
3 2013-09-13 60.8108
4 2013-09-16 58.8776
5 2013-09-17 59.5577
6 2013-09-18 60.7821
7 2013-09-19 61.7788
任何帮助表示赞赏。
【问题讨论】:
-
我在绘制这个时没有问题。你能发布导致错误的代码行吗?
-
它发生在具有 df.plot() 的行上。没有其他东西在线上。如果您愿意,我可以提供更多代码吗?
标签: python pandas datetime matplotlib