使用plt画图出现轴乱序
问题:从csv文件导入数据后y轴的数是乱序的
详情:
csv文件
代码
xdate=[]
ynewdi=[]#新确诊
ynosym=[]
with open("广州疫情.csv",encoding='utf-8')as f:
i=f.readlines()
for j in range(1,len(i)):
col=i[j].replace('\n','').split(',')
xdate.append(col[0])
ynewdi.append(col[1])
ynosym.append(col[2])
print(xdate)
print(ynewdi)
print(ynosym)
#解决中文显示问题
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.title('广州疫情',fontstyle='italic',backgroundcolor='g')
plt.xlabel('日期')
plt.ylabel('人数')
plt.plot(xdate,ynewdi,'r<--',xdate,ynosym,'go-')
plt.show()
结果
原因:
csv导入的数据为string,需要将ynewdi[]和ynosym[]中的转换为int才是我所需要的
修改后:
xdate=[]
ynewdi=[]#新确诊
ynosym=[]
with open("广州疫情.csv",encoding='utf-8')as f:
i=f.readlines()
for j in range(1,len(i)):
col=i[j].replace('\n','').split(',')
xdate.append(col[0])
ynewdi.append(int(col[1]))
ynosym.append(int(col[2]))
print(xdate)
print(ynewdi)
print(ynosym)
#解决中文显示问题
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.title('广州疫情',fontstyle='italic',backgroundcolor='g')
plt.xlabel('日期')
plt.ylabel('人数')
plt.plot(xdate,ynewdi,'r<--',xdate,ynosym,'go-')
plt.show()
正确显示