在同一图形中绘制具有不同x数据点的两条曲线(Python、Pandas)

在同一图形中绘制具有不同x数据点的两条曲线(Python、Pandas),python,pandas,Python,Pandas,我希望在同一绘图中显示两条具有不同x数据点的曲线: import pandas as pd df1 = pd.DataFrame() df1['Date']= ['2014-12-31', '2015-12-31', '2016-12-31', '2017-12-31'] df1['Value'] = [22, 44, 11, 55] df2 = pd.DataFrame() df2['Date']= ['2015-03-31', '2015-07-31', '2015-8-31', '201

我希望在同一绘图中显示两条具有不同x数据点的曲线:

import pandas as pd

df1 = pd.DataFrame()
df1['Date']= ['2014-12-31', '2015-12-31', '2016-12-31', '2017-12-31']
df1['Value'] = [22, 44, 11, 55]
df2 = pd.DataFrame()
df2['Date']= ['2015-03-31', '2015-07-31', '2015-8-31', '2015-12-31']
df2['Value'] = [34, 39, 31, 27]

ax1 = df1.plot(x='Date', marker='o')
df2.plot(ax=ax1, marker='o')
在上面的代码中,第二条曲线(df2数据)使用df1数据的x数据点,而不是它自己的数据点

我可以通过操纵数据(例如,用NaN相应地添加df1和df2中缺少的日期)使其工作,但我想知道df.plot()函数中是否有类似于直接设置的简单设置

注意:我确实使用df['Date']将这些日期转换为日期时间= pd.to_日期时间(df.Date)

一种方法是使用
pd.concat
然后使用熊猫图:

pd.concat([df1,df2], keys=['df1','df2'])\
  .set_index('Date', append=True)\
  .unstack(0)['Value']\
  .reset_index(0, drop=True)\
  .fillna(0).plot(marker='o')

更像是散点图:

pd.concat([df1,df2], keys=['df1','df2'])\
   .set_index('Date', append=True)\
   .unstack(0)['Value']\
   .reset_index(0, drop=True)\
   .plot(marker='o',linestyle='none')