matplotlib 如何在一个循环中绘制列的箱形图?

hgncfbus  于 2022-11-15  发布在  其他
关注(0)|答案(2)|浏览(139)

我在数据框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])

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

vyu0f0g1

vyu0f0g11#

您可以直接绘制数据框,而无需通过循环
示例代码:

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()

输出量:

83qze16e

83qze16e2#

要绘制每列的图形,请在循环内使用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])

相关问题