我正试图绘制一些温度数据。我正在设置散点图,类似于对线图进行的操作,但是散点图将所有数据聚集在图形的垂直中心。不知道我在做什么错。
我尝试将简单数据绘制成可以正常工作的方式,当我尝试使用我的数据时,这些图会聚在一起。
这是我的代码
import csv
import matplotlib.pyplot as plt
import pandas as pd
from datetime import datetime
import matplotlib
#matplotlib.use('Agg')
from matplotlib import dates as mdates
path="./temps.csv"
file = open(path,newline='')
reader = csv.reader(file)
header = next(reader)
dates = []
temps = []
fl_dates=[]
for row in reader:
date = datetime.strptime(row[0],'%m/%d/%Y %H:%M:%S')
dates.append(date)
temps.append(float(row[1]))
numrows=len(dates)
plt.figure(figsize=(10,10))
ax = plt.axes()
ax.xaxis.set_major_formatter(mdates.DateFormatter("%m/%d/%Y %H:%M:%S"))
fl_dates.append(dates[0])
fl_dates.append(dates[numrows-1])
ax.set_xticks(fl_dates)
plt.title("Temperatures Over Time")
plt.scatter(dates,temps)
plt.ylabel('Temperatues')
plt.xlabel('Date/Time')
plt.xticks(rotation='45')
plt.tight_layout();
plt.savefig('temps.png')
plt.show()
这是一些从“ ./temps.csv”中读取的示例数据
08/30/2019 12:03:33,31.000000
08/30/2019 12:03:43,34.000000
08/30/2019 12:03:54,33.000000
08/30/2019 12:04:04,32.000000
08/30/2019 12:04:15,31.000000
08/30/2019 12:04:25,30.000000
08/30/2019 12:04:36,31.000000
08/30/2019 12:04:46,32.000000
08/30/2019 12:04:57,35.000000
08/30/2019 12:05:07,36.000000
08/30/2019 12:05:18,37.000000
08/30/2019 12:05:28,30.000000
08/30/2019 12:05:39,31.000000
08/30/2019 12:05:50,33.000000
08/30/2019 12:06:00,32.000000
08/30/2019 12:06:11,31.000000
08/30/2019 12:06:21,32.000000
08/30/2019 12:06:32,35.000000
08/30/2019 12:06:42,31.000000
绘制的内容: