import pandas as pd
import matplotlib.pyplot as plt
from tensorflow.keras.models import load_model
# 假设CSV文件的第一列是日期,且格式正确可被pd.to_datetime解析
file_path = r"D:\\findata.csv"
df = pd.read_csv(file_path)
df['Date'] = pd.to_datetime(df.pop(df.columns[0]), format='%Y_%m_%d')
def extract_dates_for_prediction(df, pre_days):
# 获取用于预测的日期范围,这里简化处理,实际情况需根据数据切分逻辑调整
last_dates = df['Date'][-(pre_days + len(y_test)):] # 包含最后一个用于预测的日期及其前pre_days天
return last_dates[-len(y_test):] # 取出与预测结果对应的部分
# ... (你的数据预处理和模型训练代码保持不变)
# 加载最佳模型并进行预测
best_model = load_model('./thebestmodel/7.8713men15lstm3dense2unit32.keras')
pre = best_model.predict(X_test)
# 提取正确的日期范围
correct_dates = extract_dates_for_prediction(df, pre_days)
# 绘制图表
plt.figure(figsize=(14, 7))
plt.plot(correct_dates, y_test, color='red', label='Actual Price')
plt.plot(correct_dates, pre, color='green', label='Predicted Price')
plt.title('Stock Price Prediction')
plt.xlabel('Date')
plt.ylabel('Price')
plt.legend()
plt.grid(True)
plt.xticks(rotation=45) # 旋转X轴标签以便更好地显示
plt.show()
我的csv文件的数据是从2024年到2010年,2024年的数据在最上面,绘图时是从2010年开始的,怎么调整让绘图从最近的日期开始