Один из вариантов - создать набор осей / участков и указать параметр ax
для каждого вызова seaborn.scatterplot
. Согласно документации ,
ax : Оси matplotlib, необязательно
Оси, которые нужно нарисовать на график, в противном случае используются текущие оси.
В коде вопроса это можно сделать как
fig, axs = plt.subplots(2, 4, figsize=(16,6))
Nplot130317 = sns.scatterplot(x="NewID", y="Time", hue="Speed", data=Ndata130317, ax=axs[0,0])
Nplot210317 = sns.scatterplot(x="NewID", y="Time", hue="Speed", data=Ndata210317, ax=axs[0,1])
Nplot290317 = sns.scatterplot(x="NewID", y="Time", hue="Speed", data=Ndata290317, ax=axs[0,2])
Nplot060417 = sns.scatterplot(x="NewID", y="Time", hue="Speed", data=Ndata060417, ax=axs[0,3])
Iplot130317 = sns.scatterplot(x="NewID", y="Time", hue="Speed", data=Idata130317_2, ax=axs[1,0])
Iplot210317 = sns.scatterplot(x="NewID", y="Time", hue="Speed", data=Idata210317_2, ax=axs[1,1])
Iplot290317 = sns.scatterplot(x="NewID", y="Time", hue="Speed", data=Idata290317_2, ax=axs[1,2])
Iplot060417 = sns.scatterplot(x="NewID", y="Time", hue="Speed", data=Idata060417_2, ax=axs[1,3])