将重新采样的函数绘制在原始函数上

时间:2019-07-13 13:25:55

标签: python plot resampling

我正在编写一个代码,其中必须对数据帧的数据列进行重新采样,并且我想在原始功能线上绘制重新采样的函数。现在,我正确地对该函数进行了重新采样(5T,5分钟),并且我可以正确地打印新值。当我尝试绘制单个函数是完美的,但是当我尝试对其进行子绘制时,我无法使用带有来自“日期”的时间戳的x轴,这在两个函数之间都有些相似,但相差几分钟,并且这些值不是重叠而是分开

我已经创建了所有内容,使用了subplot()和twinx。这是我的代码

originalFuncForSingleID = originalFunc [(originalFunc ['ID'])== IDVal]

originalFuncForSingleIDResampled = originalFuncForSingleID.set_index('Date').resample('5T').mean().reset_index()


fig, ax1 = plt.subplots()

ax2 = ax1.twinx()
ax1.plot(x=originalFuncForSingleID['Date'], y=originalFuncForSingleID['Value'], use_index=True)
ax2.plot(x=originalFuncForSingleIDResampled['Date'], y=originalFuncForSingleIDResampled['Value'], use_index=True)

ax1.set_xlabel('Date')
ax1.set_ylabel('Value original', color='g')
ax2.set_ylabel('Value resampled', color='b')
plt.rcParams['figure.figsize'] = 12, 5

plt.show()

我的结果应该是原始函数行,该函数行具有重叠的函数(重新采样),以显示更改和新创建的函数。我怎样才能做到这一点?我在哪里错了?

1 个答案:

答案 0 :(得分:0)

结果是我自己解决了这个问题,没有多把斧头。这是代码:

f, ax = plt.subplots(1)
plt.title('Title')
originalFuncForSingleID.plot(kind='line', x='Date', y='Value', color='brown', label='Originasl', ax=ax)
originalFuncForSingleIDResampled.plot(kind ='line', x='Date', y='Value', color='green', label='Resampled', ax=ax)
plt.legend()
plt.show()

使用此功能,我在原始功能上有一个重叠功能,以不同的颜色显示差异。