如何在Pandas的不同位置绘制图形?

2024-09-28 23:08:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这四个数据集像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的散点图结果不同? 谢谢


Tags: offalsefortimepltrowsdf1clusters
1条回答
网友
1楼 · 发布于 2024-09-28 23:08:08

如果没有绘制回归线,那么为什么不直接使用^{}

可以使用zip函数和^{}进行绘图,使用:

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

相关问题 更多 >