我有一个非常标准的数据集,包含 2 列,1 列用于日期,1 列用于值。我将它们放入两个数组中:
dates
['1/1/2014', '1/2/2014', '1/3/2014', ...]
values
[1423, 4321, 1234, ...]
如何创建一个简单的折线图,其中 y 轴为“值”,x 轴为“日期”?
我尝试过的:
我可以在 1 行中仅使用“值”绘制“Hello world”线图(太棒了):
import numpy as np
import matplotlib.pyplot as plt
plt.plot(values)
接下来,让我们添加“日期”作为 x 轴。在这一点上我被卡住了。如何将我的“日期”数组(字符串)转换为可绘制的数组?
查看示例,我相信我们应该将字符串转换为 Python Date 对象。让我们导入这些库:
import datetime
import matplotlib.dates
好的,现在我可以将字符串转换为日期 time.strptime(dates[1], '%m/%d/%Y')
。如何转换整个数组?我可以写一个循环,但假设有更好的方法。
我不是 100% 确定我是否走在正确的道路上,使某些东西可用于“日期”与“值”。如果您知道制作此图的代码(我假设一旦您了解 Python + 库就非常基础),请告诉我。
最佳答案
好的,知道这是 1 类轮。方法如下:
所以你从你的值和日期(作为字符串)数组开始:
dates = ['1/1/2014', '1/2/2014', '1/3/2014', ...]
values = [1423, 4321, 1234, ...]
然后将字符串形式的日期转换为日期对象:
date_objects = [datetime.strptime(date, '%m/%d/%Y').date() for date in dates]
然后只是情节。
plt.plot(date_objects, values)
关于python - 在 Python 中绘制日期和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24879903/