axes
форма (nrows, ncols)
.В этом случае:
array([[<matplotlib.axes._subplots.AxesSubplot object at 0x7f4267f425f8>,
<matplotlib.axes._subplots.AxesSubplot object at 0x7f4267f1bb38>],
[<matplotlib.axes._subplots.AxesSubplot object at 0x7f4267ec95c0>,
<matplotlib.axes._subplots.AxesSubplot object at 0x7f4267ef9080>]],
dtype=object)
Итак, когда вы делаете ax=axes[0]
, вы получаете массив, а не оси.Попробуйте:
fig, axes = plt.subplots(2, 2)
ax = sns.boxplot(x="Species", y="SepalLengthCm", data=iris, orient='v',
ax=axes[0, 0])
ax = sns.boxplot(x="Species", y="SepalWidthCm", data=iris, orient='v',
ax=axes[0, 1])
ax = sns.boxplot(x="Species", y="PetalLengthCm", data=iris, orient='v',
ax=axes[1, 0])
ax = sns.boxplot(x="Species", y="PetalWidthCm", data=iris, orient='v',
ax=axes[1, 1])