import torch
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd
import seaborn as sns
from matplotlib.dates import DateFormatter
#多源绘图
plt.figure(dpi=300,tight_layout=True)
font = {'size' : 5}
pal = sns.set_palette(sns.color_palette("colorblind"))
a_data = pd.read_csv('C:\MMDGRU\多源结果.csv')
# a_data['date'] = pd.to_datetime(a_data['date'])
dd = [a_data['S.E+S.Ka'],a_data['S.E+S.H'],a_data['S.E+S.O'],a_data['S.Ka+S.H'], a_data['S.Ka+S.O'],a_data['S.H+S.O'], a_data['target']]
# a_data['date'] = pd.to_datetime(a_data['date'])
# formatter = DateFormatter('%Y/%m/%d/%H/%M/%S')
ax = sns.lineplot(x=a_data['date'], data = dd[0],linestyle = '-',label = 'S.E+S.Ka', linewidth=1.0,palette=pal)
# ax.xaxis.set_major_formatter(formatter)
ab = sns.lineplot(data = dd[1],linestyle = '-',label = 'S.E+S.H', linewidth=1.0,palette=pal)
ac = sns.lineplot(data = dd[2],linestyle = '-',label = 'S.E+S.O', linewidth=1.0,palette=pal)
ad = sns.lineplot(data = dd[3],linestyle = '-',label = 'S.Ka+S.H', linewidth=1.0,palette=pal)
ae = sns.lineplot(data = dd[4],linestyle = '-',label = 'S.Ka+S.O', linewidth=1.0,palette=pal)
af = sns.lineplot(data = dd[5],linestyle = '-',label = 'S.H+S.O', linewidth=1.0,palette=pal)
ag = sns.lineplot(data = dd[6],linestyle = '--',label = 'TRUE', linewidth=1.0,palette=pal,color = 'black')
# plt.xticks(dd[7], rotation=60)
# plt.title(" Hourly forecast results ")
# plt.axis([0, 25, 0, 600])
plt.xlabel("Hour")
plt.ylabel("Power consumption(KW)")
plt.legend(loc='best',prop=font)
plt.show()