【问题标题】:How to plot the boxplot of the columns in one loop?如何在一个循环中绘制列的箱线图?
【发布时间】:2021-01-30 14:45:48
【问题描述】:

我在数据框 df 中有以下列:

columns = ['temperature','humidity' ,'pressure','rain' ,'lightavgw/o0' ,'lightmax','moisture']

我想要的是创建一个循环,我可以通过一个循环绘制所有列的箱线图。 我尝试了以下代码:

columns = ['temperature','humidity' ,'pressure','rain' ,'lightavgw/o0' ,'lightmax','moisture']
for col in columns:
    plt.boxplot(df[col])

但它在同一个箱线图中绘制它。

【问题讨论】:

  • 如果您的问题得到解决,请接受答案。

标签: python pandas matplotlib jupyter-notebook boxplot


【解决方案1】:

您可以直接绘制数据框而不是循环

示例代码:

import numpy as np; 
import pandas as pd
import matplotlib.pyplot as plt
data = np.random.random(size=(4,4))
df = pd.DataFrame(data, columns = ['A','B','C','D'])

df.boxplot()
plt.show()

输出:

【讨论】:

    【解决方案2】:

    要绘制每列的图形,请在循环内使用 plt.figure()

    columns = ['temperature','humidity' ,'pressure','rain' ,'lightavgw/o0','lightmax','moisture']
    for col in columns:
        plt.figure()   # plots figure for each iteration
        plt.boxplot(df[col])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-20
      • 2013-01-14
      • 2019-01-17
      • 2021-11-04
      • 2014-07-16
      相关资源
      最近更新 更多