我想要做的是从 .csv 文件中读取,然后绘制读取的数据。文件格式如下:
日期/时间、湿度、温度
00:00:56,90.00,16.90 00:01:56,90.00,16.90 00:02:56,90.00,16.90 00:03:56,91.00,16.90 00:04:506,16.90 05:56,91.00,16.90 00:06:56,91.00,16.90 00:07:56,91.00,16.90 00:08:56,91.00,16.90 00:09:56,91.901.00,50 ,16.90 00:11:56,91.00,16.90 00:12:56,91.00,16.90 00:13:56,91.00,16.90 00:14:56,91.00,16.90:56,91.00,16.90. :56,91.00,16.90 00:17:56,91.00,16.80 00:18:56,91.00,16.90
然后在读取数据后,我使用以下代码在日期时间格式化它们:
data = pd.read_csv("Data-24-January-2021.csv")
data["Date/Time"] = pd.to_datetime(data["Date/Time"])
data.sort_values("Date/Time", inplace=True)
dt_time = data["Date/Time"]
当我尝试打印 dt_time 我得到 ->
0 2021-01-25 00:00:56
1 2021-01-25 00:01:56
2 2021-01-25 00:02:56
3 2021-01-25 00:03:56
4 2021-01-25 00:04:56
...
1435 2021-01-25 23:55:46
1436 2021-01-25 23:56:46
1437 2021-01-25 23:57:46
1438 2021-01-25 23:58:46
1439 2021-01-25 23:59:46
名称:日期/时间,长度:1440,数据类型:datetime64[ns]
所以当我尝试绘制数据时,在 x 轴上我得到如下结果:
我想去掉剧情中的01-25。
我只设法从 .csv 文件中获取时间,但使用我尝试的所有方法返回 dtype: object,因此绘图需要很长时间才能绘制并且无法正确显示 x 轴。>
您能否就解决此问题的最佳方法提供建议?我基本上想要的是从 .csv 文件中读取日期/时间并将其绘制在 x 轴上,而不是 01-25。
我目前正在运行的代码如下:
import pandas as pd
import os
from matplotlib import pyplot as plt
from datetime import datetime
plt.style.use("seaborn")
data = pd.read_csv("Data-24-January-2021.csv")
data["Date/Time"] = pd.to_datetime(data["Date/Time"])
data.sort_values("Date/Time", inplace=True)
dt_time = data["Date/Time"].dt.strftime("%H :%M")
# print(dt_time)
humidity = data["Humidity"]
temperature = data["Temperature"]
# plt.plot(dt_time, humidity, label="Humidity")
plt.plot(dt_time, temperature, label="Temperature")
plt.gcf().autofmt_xdate()
plt.legend(loc="upper left")
plt.title("Test Plot")
plt.xlabel("Time")
plt.ylabel("Temperature")
plt.tight_layout()
plt.savefig("Figure_example3.png")
plt.show()