You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

85 lines
2.8 KiB

from dateutil import parser
import matplotlib.dates as mdates
import matplotlib.pyplot as plt
import numpy as numpy
import pandas as pd
import datetime
# 这是使matplotlib图形内联出现在笔记本中的一个小技巧
# %matplotlib inline
df_ferrara = pd.read_csv(r'D:\python\pythonProject\pythonProject\main\ferrara_270615.csv')
df_milano = pd.read_csv(r'D:\python\pythonProject\pythonProject\main\milano_270615.csv')
df_mantova = pd.read_csv(r'D:\python\pythonProject\pythonProject\main\mantova_270615.csv')
df_ravenna = pd.read_csv(r'D:\python\pythonProject\pythonProject\main\ravenna_270615.csv')
df_torino = pd.read_csv(r'D:\python\pythonProject\pythonProject\main\torino_270615.csv')
df_asti = pd.read_csv(r'D:\python\pythonProject\pythonProject\main\asti_270615.csv')
df_bologna = pd.read_csv(r'D:\python\pythonProject\pythonProject\main\bologna_270615.csv')
df_piacenza = pd.read_csv(r'D:\python\pythonProject\pythonProject\main\piacenza_270615.csv')
df_cesena = pd.read_csv(r'D:\python\pythonProject\pythonProject\main\cesena_270615.csv')
df_faenza = pd.read_csv(r'D:\python\pythonProject\pythonProject\main\faenza_270615.csv')
# 温度数据分析-以米兰为例:
# 取出我们要分析的温度和日期数据
y1 = df_milano['temp']
x1 = df_milano['day']
# 把日期数据系统转换成datetime的格式
day_milano = [parser.parse(x) for x in x1]
# 调用subplot函数,fig是图像对象,ax是坐标轴对象
fig, ax = plt.subplots()
# 调整x轴坐标刻度,使其旋转70度,方便查看
plt.xticks(rotation=70)
# 设定时间的格式
hours = mdates.DateFormatter('%H:%M')
# 设定x轴显示的格式
ax.xaxis.set_major_formatter(hours)
# 画出图像,day_milano 是x轴坐标数据,y1是y轴数据,'r'代表的是'red'hongse
ax.plot(day_milano, y1, 'r')
# 显示图像
# plt.show()
# 读取温度和日期数据
y1 = df_ravenna['temp']
x1 = df_ravenna['day']
y2 = df_faenza['temp']
x2 = df_faenza['day']
y3 = df_cesena['temp']
x3 = df_cesena['day']
y4 = df_milano['temp']
x4 = df_milano['day']
y5 = df_asti['temp']
x5 = df_asti['day']
y6 = df_torino['temp']
x6 = df_torino['day']
# 把日期从string类型转化为标准的datetime类型
day_ravenna = [parser.parse(x) for x in x1]
day_faenza = [parser.parse(x) for x in x2]
day_cesena = [parser.parse(x) for x in x3]
day_milano = [parser.parse(x) for x in x4]
day_asti = [parser.parse(x) for x in x5]
day_torino = [parser.parse(x) for x in x6]
# 调用subplos()函数,重新定义fig,ax变量
fig, ax = plt.subplots()
plt.xticks(rotation=70)
hours = mdates.DateFormatter('%H:%M')
ax.xaxis.set_major_formatter(hours)
# 这里需要画出三根线,所以需要三组参数,'g'代表'green'
ax.plot(day_ravenna, y1, 'r', day_faenza, y2, 'r', day_cesena, y3, 'r')
ax.plot(day_milano, y4, 'g', day_asti, y5, 'g', day_torino, y5, 'g')
plt.show()