Matplotlib Python图形显示不正确
我正在尝试创建一个Python程序,该程序将显示有关新冠病毒-19的以下数据,所有这些数据都来自CSV文件:Matplotlib Python图形显示不正确,matplotlib,graph,scale,Matplotlib,Graph,Scale,我正在尝试创建一个Python程序,该程序将显示有关新冠病毒-19的以下数据,所有这些数据都来自CSV文件: 每日个案 个案总数 每日死亡人数 总死亡人数 我从一个文件中读取数据,并用信息填充4个数组。我可以迭代数组并打印出数据——看起来一切正常 问题是,当我查看生成的图表时,前25个条目的数据似乎正常,然后所有行并行上升。y轴上的比例也是错误的-似乎为4个数据集中的每一个重新启动了比例 代码如下: import csv import matplotlib.pyplot as plt fr
- 每日个案
- 个案总数
- 每日死亡人数
- 总死亡人数
import csv
import matplotlib.pyplot as plt
from datetime import datetime
#create the arrays to hold virus data
caseDate, cases, casesCum, deaths, deathsCum = [], [], [], [], []
leg1 = "Cases"
leg2 = "Cases - Cum"
leg3 = "Deaths"
leg4 = "Deaths - Cum"
#open virus data file
filename = 'Virus Data.csv'
with open(filename) as f:
reader = csv.reader(f)
header_row = next(reader)
#record data in arrays
for row in reader:
current_date = datetime.strptime(row[0], "%d/%m/%Y")
caseDate.append(current_date)
cases.append(row[1])
casesCum.append(row[2])
deaths.append(row[3])
deathsCum.append(row[4])
for i in range (len(cases)):
print("Entry ", i, ": Cases: ", cases[i],"; Cum Cases: ", casesCum[i],"; Deaths: ", deaths[i],"; Cum Deaths: ", deathsCum[i])
#data now recorded
#plot data in chart
fig = plt.figure(dpi = 128, figsize=(12,6))
plt.plot(caseDate, cases, c="red", alpha=0.5)
plt.plot(caseDate, casesCum, c="blue", alpha=0.5)
plt.plot(caseDate, deaths, c="green", alpha = 0.5)
plt.plot(caseDate, deathsCum, c="black", alpha = 0.5)
#format plot
title = "Covid-19 Statistics"
plt.title(title, fontsize = 20)
plt.xlabel("", fontsize = 16)
fig.autofmt_xdate()
plt.ylabel("Cases / Cum Cases / Deaths / Cum Deaths", fontsize = 12)
plt.tick_params(axis='both', which='major', labelsize=16)
plt.show()
就快到了,但还不完全到。当我在Excel中创建图表时,它看起来像我期望的:
我希望它能在Python中工作….我从文件中读取了中的值,但没有将它们转换为整数。在将它们附加到列表之前将其转换为整数,可以得到以下结果:
我从文件中读取了中的值,但没有将它们转换为整数。在将它们附加到列表之前将其转换为整数,可以得到以下结果: