pygmt.Figure.contour

Figure.contour(data=None, x=None, y=None, z=None, \*, annotation=None,
frame=None, levels=None, label_placement=None, projection=None,
triangular_mesh_pen=None, no_clip=None, region=None, skip=None, verbose=None,
pen=None, binary=None, panel=None, nodata=None, find=None, coltypes=None,
header=None, incols=None, label=None, perspective=None, transparency=None,
\**kwargs)

Données de table de contour par triangulation directe.

Prend une matrice, des triplets (x, y, z) ou un nom de fichier en entrée et des tracés, des lignes, des polygones ou des symboles à ces emplacements sur une carte.

Doit fournir data soit x, y, et z.

Paramètre

  • data ( str ou numpy.ndarray ou pandas.DataFrame ou xarray.Dataset ou geopandas.GeoDataFrame ) – Passez des valeurs (x, y, z) ou (longitude, latitude, élévation) en fournissant un nom de fichier à une table de données

  • x/y/z ( tableaux 1-D ) – Tableaux de coordonnées x et y et valeurs z des points de données.

  • projection ( str ) – Sélectionnez la projection cartographique .

  • region ( chaîne ou liste ) – xmin/xmax/ymin/ymax [ +r ][ +u unité ]. Spécifiez la région d’intérêt.

  • annotation ( str ou int ) – Spécifie ou désactive les niveaux de contour annotés, modifie les contours annotés spécifiés dans levels.
    • Spécifiez un intervalle d’annotation fixe annot_int ou un seul niveau d’annotation + annot_int .

  • frame ( bool ou str ou list ) – Définit le cadre de délimitation de la carte et les attributs des axes .

  • levels ( str ou int ) - Spécifiez les lignes de contour à générer.
    • Le nom de fichier d’un fichier CPT où les limites de couleur seront utilisées comme niveaux de contour.

    • Le nom de fichier d’un fichier à 2 (ou 3) colonnes contenant les niveaux de contour (col 1), ( C )ontour ou ( A )nnotate (col 2) et l’angle optionnel (col 3).

    • Un intervalle de contour fixe cont_int ou un contour unique avec + cont_int .

  • D ( str ) – Vider les coordonnées du contour.

  • E ( str ) – Informations sur le réseau.

  • label_placement ( str ) - [ ré | f | n | l | L | x | X ] arguments . Contrôlez le placement des étiquettes le long des lignes entre guillemets. Il prend en charge cinq algorithmes de contrôle.

  • I ( bool ) – Colorie les triangles à l’aide de CPT.

  • triangular_mesh_pen ( str ) – Stylo pour dessiner la triangulation sous-jacente [la valeur par défaut est None].

  • no_clip ( bool ) – Ne coupez pas les contours ou l’image aux limites du cadre [la valeur par défaut est Falsede tenir à l’intérieur region].

  • Q ( float ou str ) – [ cut ][ +z ]. Ne dessinez pas de contours avec un nombre de points inférieur au nombre de points réduit .

  • skip ( bool ou str ) – [ p | t ]. Ignorer les points d’entrée en dehors de la région.

  • pen ( str ) – Définissez les attributs du stylo pour les lignes ou le contour des symboles.

  • label ( str ) – Ajoutez une entrée de légende pour le contour tracé. Normalement, le contour annoté est sélectionné pour la légende. Vous pouvez sélectionner le contour régulier à la place, ou les deux, en considérant que le label est au format [ annotcontlabel ][/ contlabel ]. Si l’une des étiquettes contient une barre oblique (/), utilisez-la | plutôt comme séparateur pour les deux étiquettes.

  • verbose ( bool ou str ) –

Sélectionnez le niveau de verbosité [la valeur par défaut est w ], qui module les messages écrits sur stderr. Choisissez parmi 7 niveaux de verbosité :
  • q - Des messages d’erreur silencieux, même fatals, ne sont pas générés

  • e - Messages d’erreur uniquement

  • w - Avertissements [par défaut]

  • t - Timings (temps d’exécution des rapports pour les algorithmes chronophages)

  • i - Messages d’information (comme verbose=True)

  • c - Avertissements de compatibilité

  • d - Messages de débogage

  • binary ( bool ou str ) – i | o [ ncols ][ type ][ w ][ +l | b ]. Sélectionnez l’entrée binaire native (en utilisant binary= »i ») ou la sortie (en utilisant binary= »o »), où ncols est le nombre de colonnes de données de type , qui doit être l’une des suivantes :
    • c - int8_t (caractère signé 1 octet)

    • u - uint8_t (caractère non signé de 1 octet)

    • h - int16_t (entier signé sur 2 octets)

    • H - uint16_t (entier non signé sur 2 octets)

    • i - int32_t (entier signé sur 4 octets)

    • I - uint32_t (entier non signé de 4 octets)

    • l - int64_t (entier signé sur 8 octets)

    • L - uint64_t (entier non signé de 8 octets)

    • f - Flottant simple précision de 4 octets

    • d - Flottant double précision de 8 octets

    • x - utilisé pour ignorer les ncols n’importe où dans l’enregistrement

    Pour les enregistrements avec des types mixtes, ajoutez des combinaisons supplémentaires séparées par des virgules de type ncols (sans espace). Les modificateurs suivants sont pris en charge :

    • w après n’importe quel élément pour forcer l’échange d’octets.

    • +l | b pour indiquer que l’ensemble du fichier de données doit être lu respectivement en petit ou gros boutien.

  • panel ( bool ou int ou list ) – [ row,col | indice ]. Sélectionnez un panneau de sous-parcelle spécifique. Autorisé uniquement en mode sous-parcelle. Utilisez panel=True pour passer au panneau suivant dans l’ordre sélectionné. Au lieu de row,col, vous pouvez également donner un index de valeur scalaire qui dépend de l’ordre que vous autolabel avez défini lors de la définition de la sous-parcelle. Remarque : row , col et index commencent tous à 0.

  • nodata ( str ) – i | o aucune donnée . Remplacez les valeurs spécifiques par NaN (pour les données tabulaires). Par exemple, nodata= »-9999 » remplacera toutes les valeurs égales à -9999 par NaN lors de l’entrée et toutes les valeurs NaN par -9999 lors de la sortie. Ajoutez i à la valeur nodata pour les colonnes d’entrée uniquement. Ajoutez o à la valeur nodata pour les colonnes de sortie uniquement.

  • find ( chaîne ) – [ ~ ] « motif » | [ ~ ]/ expression régulière /[ i ]. Ne transmettez que les enregistrements qui correspondent au modèle ou aux expressions régulières donnés [par défaut, traite tous les enregistrements]. Ajoutez ~ au motif ou à l’expression régulière pour ne transmettre que les expressions de données qui ne correspondent pas au motif. Ajoutez i pour une correspondance insensible à la casse. Cela ne s’applique pas aux en-têtes ou aux en-têtes de segment.

  • coltypes ( str ) – [ i | o ] colinfo . Spécifiez les types de données des colonnes d’entrée et/ou de sortie (données temporelles ou géographiques).

  • header (str) – [i|o][n][+c][+d][+msegheader][+rremark][+ttitle]. Spécifiez que les fichiers d’entrée et/ou de sortie ont n enregistrements d’en-tête [la valeur par défaut est 0]. Préfixez i si seule l’entrée principale doit avoir des enregistrements d’en-tête. Préfixez o pour contrôler l’écriture des enregistrements d’en-tête, avec les modificateurs suivants pris en charge :
    • +d pour supprimer les enregistrements d’en-tête existants.

    • +c pour ajouter un commentaire d’en-tête avec des noms de colonne à la sortie [par défaut, aucun nom de colonne].

    • +m pour ajouter un en-tête de segment segheader à la sortie après le bloc d’en-tête [par défaut, pas d’en-tête de segment].

    • +r pour ajouter un commentaire de remarque à la sortie [par défaut, aucun commentaire]. La chaîne de remarque peut contenir n pour indiquer des sauts de ligne.

    • +t pour ajouter un commentaire de titre à la sortie [par défaut, pas de titre]. La chaîne de titre peut contenir n pour indiquer des sauts de ligne.

  • incols ( str ou tableau 1-D ) – Spécifiez les colonnes de données pour l’entrée principale dans un ordre arbitraire. Les colonnes peuvent être répétées et les colonnes non répertoriées seront ignorées [par défaut, toutes les colonnes sont lues dans l’ordre, en commençant par la première (c’est-à-dire la colonne 0)].
    • Pour un tableau 1-D : spécifiez les colonnes individuelles dans l’ordre d’entrée (par exemple, incols=[1,0] pour la 2ème colonne suivie de la 1ère colonne).

    • Pour str: spécifiez des colonnes individuelles ou des plages de colonnes au format start [: inc ]: stop , où inc prend par défaut la valeur 1 s’il n’est pas spécifié, avec des colonnes et/ou des plages de colonnes séparées par des virgules (par exemple, incols= »0:2,4+l » pour saisir les trois premières colonnes suivies du 5e colonne transformée en log). Pour lire à partir d’une colonne donnée jusqu’à la fin de l’enregistrement, laissez off stop lors de la spécification de la plage de colonnes. Pour lire le texte de fin, ajoutez la colonne t . Ajoutez le numéro de mot à t pour ingérer un seul mot du texte de fin. Au lieu de spécifier des colonnes, utilisez incols= »n » pour lire simplement l’entrée numérique et ignorer le texte de fin. Ajoutez éventuellement l’un des modificateurs suivants à n’importe quelle colonne ou plage de colonnes pour transformer les colonnes d’entrée :
      • +l pour prendre le log10 des valeurs d’entrée.

      • +d pour diviser les valeurs d’entrée par le facteur diviseur [la valeur par défaut est 1].

      • +s pour multiplier les valeurs d’entrée par l” échelle des facteurs [la valeur par défaut est 1].

      • +o pour ajouter le décalage donné aux valeurs d’entrée [la valeur par défaut est 0].

  • perspective ( liste ou chaîne ) – [ x | y | z ] azim [/ elev [/ zlevel ]][ +w lon0 / lat0 [/ z0 ]][ +v x0 / y0 ]. Sélectionnez la vue en perspective et définissez l’azimut et l’angle d’élévation du point de vue [la valeur par défaut est [180,90]].

  • transparence ( int ou float ) – Définissez le niveau de transparence, dans la plage [0-100] pour cent [la valeur par défaut est 0, c’est-à-dire opaque]. Uniquement visible lorsque la sortie au format PDF ou raster est sélectionnée. Seule la sélection du format PNG ajoute une couche de transparence dans l’image (pour un traitement ultérieur).

Exemple

import numpy as np
import pygmt

# build the contours underlying data with the function z = x^2 + y^2
X, Y = np.meshgrid(np.linspace(-10, 10, 50), np.linspace(-10, 10, 50))
Z = X**2 + Y**2
x, y, z = X.flatten(), Y.flatten(), Z.flatten()


fig = pygmt.Figure()
fig.contour(
    region=[-10, 10, -10, 10],
    projection="X10c/10c",
    frame="ag",
    pen="0.5p",
    # pass the data as 3 1-D data columns
    x=x,
    y=y,
    z=z,
    # set the contours z values intervals to 10
    levels=10,
    # set the contours annotation intervals to 20
    annotation=20,
)
fig.show()