Не уверен, что это именно то, что вам нужно, но здесь идет речь:
import pandas as pd
import matplotlib.pyplot as plt
df1 = pd.DataFrame({'ID': ['A1', 'A2', 'A6', 'A7', 'A9'],
'F1_S': [23, 75, 42, 77, 54]},
columns=['ID', 'F1_S'])
df2 = pd.DataFrame({'ID': ['A3', 'A4', 'A5', 'A8'],
'F1_S': [66, 43, 56, 86]},
columns=['ID', 'F1_S'])
df1.set_index('ID', inplace=True)
df1.index.name = None
df1.columns = ['F1_S_1']
df2.set_index('ID', inplace=True)
df2.index.name = None
df2.columns = ['F1_S_2']
df = pd.concat([df1, df2], sort=True).sort_index().interpolate(limit_area='inside')
ax = df.plot()
ax.set_xticklabels(['A0'] + df.index.tolist())
plt.show()
Результат таков:

* Похоже, что с 1011 * произошла ошибка с маркировкой оси, мне пришлось взломать поддельный элемент в списке xlabel, чтобы он отображался правильно.