Tracer les valeurs masquées et NaN #

Parfois, vous devez tracer des données avec des valeurs manquantes.

Une possibilité consiste simplement à supprimer les points de données indésirables. La ligne tracée à travers les données restantes sera continue et n'indiquera pas où se trouvent les données manquantes.

S'il est utile d'avoir des espaces dans la ligne où les données sont manquantes, les points indésirables peuvent être indiqués à l'aide d'un tableau masqué ou en définissant leurs valeurs sur NaN. Aucun marqueur ne sera dessiné là où x ou y sont masqués et, si vous tracez avec une ligne, il sera interrompu à cet endroit.

L'exemple suivant illustre les trois cas :

  1. Suppression de points.

  2. Points de masquage.

  3. Réglage sur NaN.

Données masquées et NaN
import matplotlib.pyplot as plt
import numpy as np


x = np.linspace(-np.pi/2, np.pi/2, 31)
y = np.cos(x)**3

# 1) remove points where y > 0.7
x2 = x[y <= 0.7]
y2 = y[y <= 0.7]

# 2) mask points where y > 0.7
y3 = np.ma.masked_where(y > 0.7, y)

# 3) set to NaN where y > 0.7
y4 = y.copy()
y4[y3 > 0.7] = np.nan

plt.plot(x*0.1, y, 'o-', color='lightgrey', label='No mask')
plt.plot(x2*0.4, y2, 'o-', label='Points removed')
plt.plot(x*0.7, y3, 'o-', label='Masked values')
plt.plot(x*1.0, y4, 'o-', label='NaN values')
plt.legend()
plt.title('Masked and NaN data')
plt.show()

Galerie générée par Sphinx-Gallery