【问题标题】:for loop incorrectly plotting boxplot on same figurefor 循环错误地在同一图上绘制箱线图
【发布时间】:2019-10-20 09:14:36
【问题描述】:

我在下面的代码中尝试创建三个单独的图形。我正在尝试为列表中的每一列创建一个带有箱线图的图形。当我运行此代码时,它会将同一图中的所有三个箱线图相互叠加。如果我改为将其更改为直方图,它可以完美地工作,为每个直方图创建一个单独的图形。有人可以让我知道如何解决这个问题吗?我还在下面提供了一些示例数据。

代码:

for i in ['Fresh', 'Milk', 'Grocery']:
            data_df.boxplot(column=i)

数据:

print(data_df[:10])

   Channel  Region  Fresh   Milk  Grocery  Frozen  Detergents_Paper  \
0        2       3  12669   9656     7561     214              2674   
1        2       3   7057   9810     9568    1762              3293   
2        2       3   6353   8808     7684    2405              3516   
3        1       3  13265   1196     4221    6404               507   
4        2       3  22615   5410     7198    3915              1777   
5        2       3   9413   8259     5126     666              1795   
6        2       3  12126   3199     6975     480              3140   
7        2       3   7579   4956     9426    1669              3321   
8        1       3   5963   3648     6192     425              1716   
9        2       3   6006  11093    18881    1159              7425   

   Delicatessen  
0          1338  
1          1776  
2          7844  
3          1788  
4          5185  
5          1451  
6           545  
7          2566  
8           750  
9          2098  

【问题讨论】:

    标签: python-3.x pandas matplotlib seaborn boxplot


    【解决方案1】:

    你可以试试这个:

    import matplotlib.pyplot as plt
    df[['Fresh','Milk','Grocery']].plot.box(subplots=True)
    plt.tight_layout()
    

    输出:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-06
      • 1970-01-01
      • 2014-06-16
      • 2021-01-30
      • 2020-09-15
      • 2015-10-14
      • 1970-01-01
      相关资源
      最近更新 更多