利用sns.boxplot绘制箱型图的时候报错:AttributeError: ‘numpy.ndarray‘ object has no attribute ‘boxplot‘

本文解决了一个关于使用Seaborn库绘制鸢尾花数据集箱型图的问题。作者最初尝试在一维子图中绘制箱型图时遇到错误,并通过调整索引方式成功在二维子图中实现了绘制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1)问题介绍

最近在做一个机器学习入门项目,鸢尾花种类的预测,在利用sns.boxplot()绘制箱型图的时候,程序报错:

AttributeError: 'numpy.ndarray' object has no attribute 'boxplot'

我的原代码是:

fig, axes = plt.subplots(2,2,figsize=(15,8))
sns.boxplot(x="species", y ="sepal_length", data = df, palette="Pastel1" , ax = axes[0])
sns.boxplot(x="species", y ="sepal_width", data = df, palette="Pastel1" , ax = axes[1])
sns.boxplot(x="species", y ="petal_length", data = df, palette="Pastel1" , ax = axes[2])
sns.boxplot(x="species", y ="petal_width", data = df, palette="Pastel1" , ax = axes[3])

我的目的是想绘制出每种鸢尾花的四个特征的箱型图,在一张画步上进行绘制,我是参考了别人的代码。

(2)错误原因

画布是2维的,但是这里面我天真的以为ax = axes[0],按照一维的索引即可实现绘制,所这里面的索引需要按照二维进行处理。改正后的代码:

fig, axes = plt.subplots(2,2,figsize=(15,8))
sns.boxplot(x="species", y ="sepal_length", data = df, palette="Pastel1" , ax = axes[0,0])
sns.boxplot(x="species", y ="sepal_width", data = df, palette="Pastel1" , ax = axes[0,1])
sns.boxplot(x="species", y ="petal_length", data = df, palette="Pastel1" , ax = axes[1,0])
sns.boxplot(x="species", y ="petal_width", data = df, palette="Pastel1" , ax = axes[1,1])

结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值