如何修正Python代码以将COP时序图转换为目标轨迹图?
修正代码生成COP轨迹图的解决方案
你之前的代码核心问题是仍然以时间为X轴绘制两个COP分量的时序曲线,但目标轨迹图的逻辑是:把两个COP分量分别作为X、Y轴,绘制它们的二维关联轨迹(也就是样本点在COP二维空间的移动路径)。
正确代码示例
import matplotlib.pyplot as plt import numpy as np # 取前15000个样本的两个COP分量 cop_x = FC_COP[:15000, 0] # 第一个COP分量作为X轴 cop_y = FC_COP[:15000, 1] # 第二个COP分量作为Y轴 pred_cop_x = Pred_COP[:15000, 0] pred_cop_y = Pred_COP[:15000, 1] plt.figure(figsize=(8,8)) # 用正方形画布避免轨迹变形 # 绘制真实COP的轨迹 plt.plot(cop_x, cop_y, color='red', label='True COP Trajectory') # 绘制预测COP的轨迹(保留你原有的空心样式) plt.plot(pred_cop_x, pred_cop_y, markerfacecolor='none', color='green', label='Predicted COP Trajectory') # 设置图表属性 plt.title('COP 2D Trajectory (Training Data)') plt.xlabel(col_COP[0]) # 第一个COP分量的名称 plt.ylabel(col_COP[1]) # 第二个COP分量的名称 plt.axis('equal') # 强制X/Y轴等比例,保证轨迹形状不失真 plt.legend() plt.show()
关键修改说明
- 轴逻辑替换:不再用时间序列作为X轴,而是直接用第一个COP分量作为X轴、第二个作为Y轴,这是轨迹图的核心区别
- 等轴校正:添加
plt.axis('equal'),避免画布比例导致轨迹形状扭曲 - 对比绘图:把真实值和预测值轨迹放在同一张图中,和你原有时序图的对比逻辑保持一致
你之前的错误代码仍在绘制分量随时间的变化曲线,而非两个分量的关联轨迹,因此无法得到目标效果。
内容的提问来源于stack exchange,提问作者stack offer
相关产品推荐
相关产品推荐

