matplotlib.axes.Axes.contour #
- Haches. contour ( * args , data = None , ** kwargs ) [source] #
Tracer les courbes de niveau.
Signature d'appel :
contour([X, Y,] Z, [levels], **kwargs)
contour
etcontourf
dessinez des lignes de contour et des contours remplis, respectivement. Sauf indication contraire, les signatures de fonction et les valeurs de retour sont les mêmes pour les deux versions.- Paramètres :
- X, Y comme un tableau, facultatif
Les coordonnées des valeurs dans Z .
X et Y doivent tous deux être 2D avec la même forme que Z (par exemple, créés via
numpy.meshgrid
), ou ils doivent tous deux être 1-D tels que le nombre de colonnes dans Z et le nombre de lignes dans Z .len(X) == N
len(Y) == M
X et Y doivent tous deux être ordonnés de manière monotone.
S'ils ne sont pas donnés, ils sont supposés être des indices entiers, c'est-à-dire , .
X = range(N)
Y = range(M)
- Z (M, N) en forme de tableau
Les valeurs de hauteur sur lesquelles le contour est dessiné. Le mappage des couleurs est contrôlé par cmap , norm , vmin et vmax .
- niveaux int ou de type tableau, facultatif
Détermine le nombre et les positions des lignes de contour/régions.
S'il s'agit d'un int n , utilisez
MaxNLocator
, qui essaie de choisir automatiquement pas plus de n+1 niveaux de contour "agréables" entre vmin et vmax .S'il s'agit d'un tableau, dessinez des lignes de contour aux niveaux spécifiés. Les valeurs doivent être dans l'ordre croissant.
- Retours :
- Autres paramètres :
- corner_mask booléen , par défaut :
rcParams["contour.corner_mask"]
(par défaut :True
) Activer/désactiver le masquage des coins, qui n'a d'effet que si Z est un tableau masqué. Si
False
, tout quad touchant un point masqué est masqué. SiTrue
, seuls les coins triangulaires des quads les plus proches de ces points sont toujours masqués, les autres coins triangulaires comprenant trois points non masqués sont contournés comme d'habitude.- couleurs chaîne de couleurs ou séquence de couleurs, facultatif
Les couleurs des niveaux, c'est-à-dire les lignes pour
contour
et les zones pourcontourf
.La séquence est cyclée pour les niveaux dans l'ordre croissant. Si la séquence est plus courte que le nombre de niveaux, elle est répétée.
Comme raccourci, des chaînes de couleur unique peuvent être utilisées à la place des listes à un élément, c'est-à-dire
'red'
au lieu de['red']
colorer tous les niveaux avec la même couleur. Ce raccourci ne fonctionne que pour les chaînes de couleur, pas pour les autres façons de spécifier les couleurs.Par défaut (valeur None ), la palette de couleurs spécifiée par cmap sera utilisée.
- flottant alpha , par défaut : 1
La valeur de fusion alpha, entre 0 (transparent) et 1 (opaque).
- cmap str ou
Colormap
, par défaut :rcParams["image.cmap"]
(par défaut :'viridis'
) L'instance Colormap ou le nom de la palette de couleurs enregistrée utilisée pour mapper les données scalaires aux couleurs.
Ce paramètre est ignoré si les couleurs sont définies.
- norm str ou
Normalize
, facultatif La méthode de normalisation utilisée pour mettre à l'échelle les données scalaires dans la plage [0, 1] avant le mappage aux couleurs à l'aide de cmap . Par défaut, une mise à l'échelle linéaire est utilisée, mappant la valeur la plus basse à 0 et la plus élevée à 1.
S'il est donné, il peut s'agir de l'un des éléments suivants :
Une instance de
Normalize
ou une de ses sous-classes (voir Colormap Normalization ).Un nom d'échelle, c'est-à-dire "linéaire", "log", "symlog", "logit", etc. Pour une liste des échelles disponibles, appelez
matplotlib.scale.get_scale_names()
. Dans ce cas, une sous-classe appropriéeNormalize
est générée et instanciée dynamiquement.
Ce paramètre est ignoré si les couleurs sont définies.
- vmin, flotteur vmax, facultatif
Lorsque vous utilisez des données scalaires et aucune norme explicite , vmin et vmax définissent la plage de données couverte par la palette de couleurs. Par défaut, la palette de couleurs couvre toute la plage de valeurs des données fournies. C'est une erreur d'utiliser vmin / vmax lorsqu'une instance de norme est donnée (mais l'utilisation d'un nom de norme avec vmin / vmax est acceptable).
str
Si vmin ou vmax ne sont pas donnés, la mise à l'échelle des couleurs par défaut est basée sur les niveaux .
Ce paramètre est ignoré si les couleurs sont définies.
- origin { Aucun , 'supérieur', 'inférieur', 'image'}, par défaut : Aucun
Détermine l'orientation et la position exacte de Z en spécifiant la position de . Ceci n'est pertinent que si X , Y ne sont pas donnés.
Z[0, 0]
Aucun : est à X=0, Y=0 dans le coin inférieur gauche.
Z[0, 0]
'inférieur' : est à X=0.5, Y=0.5 dans le coin inférieur gauche.
Z[0, 0]
'supérieur' : est à X=N+0,5, Y=0,5 dans le coin supérieur gauche.
Z[0, 0]
'image' : utilise la valeur de
rcParams["image.origin"]
(par défaut :'upper'
).
- étendue (x0, x1, y0, y1), facultatif
Si origin n'est pas None , alors extent est interprété comme in
imshow
: il donne les limites extérieures des pixels. Dans ce cas, la position de Z[0, 0] est le centre du pixel, pas un coin. Si origin vaut None , alors ( x0 , y0 ) est la position de Z[0, 0] et ( x1 , y1 ) est la position de Z[-1, -1].Cet argument est ignoré si X et Y sont spécifiés dans l'appel à contour.
- ticker de localisateur.Sous -classe de localisateur, facultatif
Le localisateur est utilisé pour déterminer les niveaux de contour s'ils ne sont pas donnés explicitement via les niveaux . La valeur par défaut est
MaxNLocator
.- étendre {'aucun', 'les deux', 'min', 'max'}, par défaut : 'aucun'
Détermine la
contourf
coloration des valeurs qui sont en dehors de la plage des niveaux .Si 'ni', les valeurs en dehors de la plage de niveaux ne sont pas colorées. Si 'min', 'max' ou 'les deux', colore les valeurs en dessous, au dessus ou en dessous et au dessus de la plage des niveaux .
Les valeurs inférieures
min(levels)
et supérieuresmax(levels)
sont mappées sur les valeurs inférieures/ supérieures deColormap
. Notez que la plupart des palettes de couleurs n'ont pas de couleurs dédiées pour celles-ci par défaut, de sorte que les valeurs supérieures et inférieures sont les valeurs de bord de la palette de couleurs. Vous pouvez définir ces valeurs explicitement à l'aide deColormap.set_under
etColormap.set_over
.Noter
Un existant
QuadContourSet
n'est pas averti si les propriétés de sa palette de couleurs sont modifiées. Par conséquent, un appel expliciteQuadContourSet.changed()
est nécessaire après la modification de la palette de couleurs. L'appel explicite peut être omis, si une barre de couleurs est assignée àQuadContourSet
parce qu'elle appelle en interneQuadContourSet.changed()
.Exemple:
x = np.arange(1, 10) y = x.reshape(-1, 1) h = x * y cs = plt.contourf(h, levels=[10, 30, 50], colors=['#808080', '#A0A0A0', '#C0C0C0'], extend='both') cs.cmap.set_over('red') cs.cmap.set_under('blue') cs.changed()
- xunits, yunits unités enregistrées, facultatif
Remplacez les unités d'axe en spécifiant une instance d'un fichier
matplotlib.units.ConversionInterface
.- booléen anticrénelé , facultatif
Activez l'anticrénelage, en remplaçant les valeurs par défaut. Pour les contours remplis, la valeur par défaut est True . Pour les contours linéaires, il est extrait de
rcParams["lines.antialiased"]
(par défaut :True
).- chunk int >= 0, facultatif
Si 0, pas de subdivision du domaine. Spécifiez un entier positif pour diviser le domaine en sous-domaines de chunk par chunk quads. La segmentation réduit la longueur maximale des polygones générés par l'algorithme de contournage, ce qui réduit la charge de travail de rendu transmise au backend et nécessite également un peu moins de RAM. Il peut cependant introduire des artefacts de rendu aux limites des blocs en fonction du backend, du drapeau anticrénelé et de la valeur de alpha .
- largeurs de ligne flottantes ou de type tableau, par défaut :
rcParams["contour.linewidth"]
(par défaut :None
) S'applique uniquement à
contour
.La largeur de ligne des lignes de contour.
S'il s'agit d'un nombre, tous les niveaux seront tracés avec cette largeur de ligne.
S'il s'agit d'une séquence, les niveaux dans l'ordre croissant seront tracés avec les largeurs de ligne dans l'ordre spécifié.
Si aucun, cela revient à
rcParams["lines.linewidth"]
(par défaut :1.5
).- linestyles { Aucun , 'solid', 'dashed', 'dashdot', 'dotted'}, facultatif
S'applique uniquement à
contour
.Si linestyles vaut None , la valeur par défaut est 'solid' sauf si les lignes sont monochromes. Dans ce cas, les contours négatifs prendront plutôt leur style de ligne à partir de l' argument negative_linestyles .
linestyles peut également être un itérable des chaînes ci-dessus spécifiant un ensemble de styles de ligne à utiliser. Si cet itérable est plus court que le nombre de niveaux de contour, il sera répété si nécessaire.
- negative_linestyles { Aucun , 'solid', 'dashed', 'dashdot', 'dotted'}, facultatif
S'applique uniquement à
contour
.Si linestyles vaut None et que les lignes sont monochromes, cet argument spécifie le style de ligne pour les contours négatifs.
Si negative_linestyles vaut None , la valeur par défaut est tirée de
rcParams["contour.negative_linestyles"]
.negative_linestyles peut également être un itérable des chaînes ci-dessus spécifiant un ensemble de styles de ligne à utiliser. Si cet itérable est plus court que le nombre de niveaux de contour, il sera répété si nécessaire.
- liste de hachures [str], facultatif
S'applique uniquement à
contourf
.Une liste de motifs de hachures croisées à utiliser sur les zones remplies. Si Aucun, aucune hachure ne sera ajoutée au contour. Le hachurage est pris en charge uniquement dans les backends PostScript, PDF, SVG et Agg.
- algorithme {'mpl2005', 'mpl2014', 'série', 'threadé'}, facultatif
Quel algorithme de contournage utiliser pour calculer les courbes de niveau et les polygones. Les algorithmes sont implémentés dans ContourPy , consultez la documentation ContourPy pour plus d'informations.
La valeur par défaut est tirée de
rcParams["contour.algorithm"]
(par défaut :'mpl2014'
).- objet de données indexable, facultatif
S'ils sont donnés, tous les paramètres acceptent également une chaîne
s
, qui est interprétée commedata[s]
(sauf si cela déclenche une exception).
- corner_mask booléen , par défaut :
Remarques
contourf
diffère de la version MATLAB en ce qu'il ne dessine pas les bords du polygone. Pour dessiner des bords, ajoutez des contours de ligne avec des appels àcontour
.contourf
remplit les intervalles fermés en haut ; c'est-à-dire que pour les frontières z1 et z2 , la région remplie est :z1 < Z <= z2
sauf pour l'intervalle le plus bas, qui est fermé des deux côtés (c'est-à-dire qu'il inclut la valeur la plus basse).
contour
etcontourf
utiliser un algorithme de carrés de marche pour calculer les emplacements des contours. Plus d'informations peuvent être trouvées dans la documentation de ContourPy .
Exemples utilisant matplotlib.axes.Axes.contour
#
Contourner l'espace de solution des optimisations
Mélangez la transparence avec la couleur dans les images 2D
Tracé de contour de données irrégulièrement espacées
Montre comment tracer des courbes de contour (niveau) en 3D
Illustre le tracé de courbes de contour (niveau) en 3D à l'aide de l'option extend3d
Projection de profils de contour sur un graphique