python - 在 Python 中绘制日期和值

标签 python datetime matplotlib

我有一个非常标准的数据集,包含 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/

相关文章:

python - 带日期的 matplotlib 条形图

python - libvirt - 通过 API 确定域使用的卷

python - 导入错误: No module named 'rasterio.vrt'

php - 使用 'now()' 格式化存储在数据库中的时间

java - 为不同的时区转换没有时间的日期

python - 在对数刻度轴上设置自定义标签的格式

python - 如何在 matplotlib 中绘制具有 2 个以上特征的 sklearn svm 的超平面?

python - 对 numpy.unique() 感到困惑

Python OpenCV 人脸检测代码有时会引发 `' 元组'对象没有属性 'shape'`

python - Plone 人 4 : how to get the context for a sub-folder with a hyphen in the shortname