嘿我想在Pandas的一个图中绘制2个DataFrame。
我的DataFrame看起来像这样(摘自DataFrame):
Timestamp Distance Speed Heart Rate Pace
1 0.0 3.02 2.353079 89 425.0
2 1.0 5.10 1.847000 92 541.0
3 2.0 7.48 1.969000 96 508.0
4 4.0 14.13 2.902000 93 345.0
5 10.0 28.01 2.967000 96 337.0
6 11.0 30.96 2.995000 101 334.0
7 12.0 33.79 2.995000 104 334.0
8 13.0 36.56 2.967000 114 337.0
它们都有不同数量的项目,但格式相同。
我正在使用此代码进行绘图。
ax = dataframe1[['Speed','Heart Rate','Pace']].plot(subplots=True,
title=['Speed in m/s','Heart Rate in bmp','Pace in min/km',],
x=dataframe1['Timestamp'],)
我现在要做的是将DateFrame2中的HeartRate绘制在与DataFrame1的HeartRate相同的子图中(以不同的颜色),但我不知道如何。
答案 0 :(得分:3)
考虑以下方法:
fig, axes = plt.subplots(nrows=3, ncols=1)
plt.subplots_adjust(wspace=0.5, hspace=0.5);
x = dataframe1.set_index('Timestamp').rename_axis(None)
x['Speed'].plot(ax=axes[0], title='Speed in m/s', legend=True)
x['Heart Rate'].plot(ax=axes[1], title='Heart Rate in bmp', legend=True)
x['Pace'].plot(ax=axes[2], title='Pace in min/km', legend=True)
将dataframe1['Heart Rate'] * 2
模拟为dataframe2['HeartRate']
:
x[['Heart Rate']].rename(columns={'Heart Rate':'Heart Rate2'}).mul(2).plot(ax=axes[1], legend=True)
结果:
答案 1 :(得分:1)
您需要首先join
数据帧:
dataframe1['Heart Rate2'] = dataframe2['Heart Rate']
dataframe1[['Speed','Heart Rate','Pace', 'Heart Rate2']].plot()