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

2024-09-29 23:17:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在编写一个代码,其中我必须对数据帧的数据列进行重采样,并在原始函数行上绘制重采样函数。现在,我正确地对函数重新采样(5T,5分钟),并且可以正确地打印新值。当我尝试绘制单个函数时是完美的,但是当我尝试对它们进行子绘制时,我不能使用带有“Date”时间戳的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()

我的结果应该是原始函数行,其中有一个重叠函数(重采样),显示更改和新创建的函数。我该怎么做?我错在哪里


Tags: 数据函数dateindexplotvalue绘制plt
1条回答
网友
1楼 · 发布于 2024-09-29 23:17:09

结果是我自己解决的,没有多轴。代码如下:

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()

使用这个我有一个重叠的功能在原来的一个,显示不同的颜色的差异

相关问题 更多 >

    热门问题