Этого можно достичь, используя рисунок и добавив оси к одному и тому же подпункту:
import pandas as pd
import numpy as np
# created two dataframes with random values
df1 = pd.DataFrame(np.random.rand(25, 2), columns=['a', 'b'])
df2 = pd.DataFrame(np.random.rand(25, 2), columns=['a', 'b'])
А затем:
fig = plt.figure()
for i, data in enumerate([df1, df2]):
ax = fig.add_subplot(111)
ax = data.plot.scatter(x='a', y='b', ax=ax,
c='#00FF00' if i == 0 else '#FF0000')
plt.show()

Вы можете добавлять метки и другие элементы по мере необходимости.