Почему все мои участки сливаются в один участок? - PullRequest
1 голос
/ 27 марта 2020

Мне нужно 8 отдельных графиков. Есть ли способ сделать это, не используя #%% и нажав 8 раз?

Я делаю это

Nplot130317 = sns.scatterplot(x="NewID", y="Time", hue="Speed", hue_norm=(0,130), data=Ndata130317, s=2, linewidth=0) 
Nplot210317 = sns.scatterplot(x="NewID", y="Time", hue="Speed", data=Ndata210317, s=2, linewidth=0)
Nplot290317 = sns.scatterplot(x="NewID", y="Time", hue="Speed", data=Ndata290317, s=2, linewidth=0)
Nplot060417 = sns.scatterplot(x="NewID", y="Time", hue="Speed", data=Ndata060417, s=2, linewidth=0)
Iplot130317 = sns.scatterplot(x="NewID", y="Time", hue="Speed", data=Idata130317_2, s=10, linewidth=0)
Iplot210317 = sns.scatterplot(x="NewID", y="Time", hue="Speed", data=Idata210317_2, s=10, linewidth=0)
Iplot290317 = sns.scatterplot(x="NewID", y="Time", hue="Speed", data=Idata290317_2, s=10, linewidth=0)
Iplot060417 = sns.scatterplot(x="NewID", y="Time", hue="Speed", data=Idata060417_2, s=10, linewidth=0)

И это происходит:

Plot

1 Ответ

2 голосов
/ 28 марта 2020

Один из вариантов - создать набор осей / участков и указать параметр 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])
...