for 循环错误地在同一图形上绘制箱线图
for loop incorrectly plotting boxplot on same figure
我在下面的代码中尝试创建三个单独的图形。我正在尝试为列表中的每一列创建一个带有箱线图的图形。当我 运行 这段代码时,它会将同一图中的所有三个箱线图绘制在彼此之上。如果我改为将它更改为直方图,它会完美地工作,为每个直方图创建一个单独的图形。有人可以让我知道如何解决这个问题吗?我还在下面包含了一些示例数据。
代码:
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
你可以试试这个:
import matplotlib.pyplot as plt
df[['Fresh','Milk','Grocery']].plot.box(subplots=True)
plt.tight_layout()
输出:
我在下面的代码中尝试创建三个单独的图形。我正在尝试为列表中的每一列创建一个带有箱线图的图形。当我 运行 这段代码时,它会将同一图中的所有三个箱线图绘制在彼此之上。如果我改为将它更改为直方图,它会完美地工作,为每个直方图创建一个单独的图形。有人可以让我知道如何解决这个问题吗?我还在下面包含了一些示例数据。
代码:
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
你可以试试这个:
import matplotlib.pyplot as plt
df[['Fresh','Milk','Grocery']].plot.box(subplots=True)
plt.tight_layout()
输出: