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

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

结果:
利用sns.boxplot绘制箱型图的时候报错:AttributeError: ‘numpy.ndarray‘ object has no attribute ‘boxplot‘_第1张图片

你可能感兴趣的:(编程报错合集,numpy,python)