Как я могу построить график в другой позиции в пандах? - PullRequest
1 голос
/ 05 июня 2019

У меня есть эти четыре набора данных, например, df1.и я хочу напечатать их на диаграмме рассеяния, как 2 * 2.

df1
    Height  time_of_day resolution  clusters
11  3.146094    0.458333    0.594089    0
90  0.191690    0.541667    0.594089    0
99  1.300386    1.666667    0.594089    1
121 3.054903    2.083333    0.594089    0

df2
    Height  time_of_day resolution  clusters
10  3.146094    0.458333    0.594089    0
60  3.191690    0.541667    0.594089    0
87  1.300386    1.666667    0.594089    1
121 3.054903    1.083333    0.594089    0

df3
    Height  time_of_day resolution  clusters
13  3.146094    0.458333    0.594089    0
61  3.191690    0.541667    0.594089    0
86  1.300386    1.666667    0.594089    1
113 4.054903    1.083333    0.594089    0

df4
    Height  time_of_day resolution  clusters
10  3.146094    0.458333    0.594089    0
20  3.191690    0.541667    0.594089    0
37  1.300386    1.666667    0.594089    1
121 3.054903    1.083333    0.594089    0


Я пробовал несколько методов, и все они не работали.

dics = [df1,df2,df3,df4]
rows = range(4)

fig, ax = plt.subplots(2,2,squeeze=False,figsize = (20,10))
for x in rows:
    for i,dic in enumerate(dics):
        sns.lmplot(x="time_of_day", y="Height",fit_reg=False,hue="clusters", data=dic[x], height=6, aspect=1.5)

plt.show()

И это единственный код для точечной диаграммы

sns.lmplot(x="time_of_day", y="Height",fit_reg=False,hue="clusters", data=summer_spike_df, height=6, aspect=1.5)


Какой код следует изменить, чтобы напечатать в 2 * 2 с различными результатами точечной диаграммы?Спасибо

1 Ответ

1 голос
/ 05 июня 2019

Если вы не строите линию регрессии, то почему бы просто не использовать seaborn.scatterplot.

Вы можете использовать функцию zip и array.ravel для построения с использованием:

fig, axes = plt.subplots(2,2,squeeze=False,figsize = (20,10))

for df, ax in zip(dics, axes.ravel()):
    sns.scatterplot(x="time_of_day", y="Height",hue="clusters", data=df, ax=ax)

plt.show()

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...