J'essaie de faire un simple diagramme en boîte d'une variable "x" contenue dans deux trames de données, df1 et df2. Pour ce faire, j'utilise le code suivant:
fig, axs = plt.subplots()
axs[0, 0].boxplot([df1['x'], df2['x']])
plt.show();
Cependant, je reçois ceci:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-108-ce962754d553> in <module>()
----> 2 axs[0, 0].boxplot([df1['x'], df2['x']])
3 plt.show();
4
TypeError: 'AxesSubplot' object is not subscriptable
Des idées?
fig, axs = plt.subplots()
renvoie un chiffre avec un seul sous-tracé, donc axs le contient déjà sans indexation.
fig, axs = plt.subplots(3)
renvoie un tableau 1D de sous-tracés.
fig, axs = plt.subplots(3, 2)
renvoie un tableau 2D de sous-tracés.
Notez que cela est uniquement dû au paramètre par défaut du kwarg squeeze=True
.
En le définissant sur False
, vous pouvez forcer le résultat à être un tableau 2D, indépendamment du nombre ou de la disposition des sous-tracés.