pygmt.Figure.rose

Figure.rose(data=None, length=None, azimuth=None, *,
sector=None, frame=None, cmap=None, shift=None, vectors=None,
no_scale=None, fill=None, inquire=None, diameter=None, labels=None,
vector_params=None, alpha=None, region=None, norm=None,
orientation=None, verbose=None, pen=None, scale=None,
binary=None, nodata=None, find=None, header=None, incols=None,
panel=None, perspective=None, transparency=None, wrap=None, **kwargs)

Tracez des diagrammes en rose des vents ou des histogrammes polaires.

Prend une matrice, des paires (longueur, azimut) ou un nom de fichier en entrée et trace des diagrammes de rose des vents ou des histogrammes polaires (diagramme de secteur ou diagramme de rose).

Doit fournir soit dataou lengthet azimuth.

Les options incluent des tracés en cercle complet et en demi-cercle. Le contour de la rose des vents est dessiné avec la même couleur que MAP_DEFAULT_PEN .

Paramètre

  • data ( str ou list ou numpy.ndarray ou pandas.DataFrame ou xarray.Dataset ou geopandas.GeoDataFrame ) – Transmettez soit un nom de fichier à une table de données ASCII, une liste Python, un 2-D numpy.ndarray, un pandas.DataFrame, un xarray.Dataset composé de Variables de données 1D xarray.DataArray ou a geopandas.GeoDataFrame contenant les données tabulaires.

  • length/azimuth ( tableaux flottants ou 1-D ) – Valeurs de longueur et d’azimut, ou tableaux de valeurs de longueur et d’azimut.

  • orientation ( bool ) – Spécifiez que les données d’entrée sont des données d’orientation (c’est-à-dire qu’elles ont une ambiguïté de 180 degrés) au lieu de véritables directions de 0 à 360 degrés [la valeur par défaut est 0 à 360 degrés]. Nous compensons en comptant chaque enregistrement deux fois : le premier en tant qu’azimut et le second en tant qu’azimut +180. Ignoré si region est donné comme (-90, 90) ou (0, 180).

  • region ( str ou liste ) – r0/r1/az0/az1 ou [ r0 , r1 , az0 , az1 ]. Requis s’il s’agit de la première commande de tracé . Spécifiez l” espace region d’intérêt dans ( r , azimut ). Ici, r0 vaut 0 et r1 est la longueur maximale en unités. Pour az0 et az1 , spécifiez (-90, 90) ou (0, 180) pour un tracé en demi-cercle ou (0, 360) pour un cercle complet.

  • diameter ( str ) – Définissez le diamètre du diagramme de rose. S’il n’est pas indiqué, nous utilisons par défaut un diamètre de 7,5 cm.

  • sector ( float ou str ) – Donne la largeur du secteur en degrés pour le secteur et le diagramme en rose. La valeur par défaut 0 signifie le diagramme de la rose des vents. Ajoutez +r pour dessiner un diagramme en rose au lieu d’un diagramme en secteur (par exemple « 10+r »).

  • norm ( bool ) - Normalise les rayons d’entrée (ou les nombres de bins s’ils sector sont utilisés) par la valeur la plus élevée afin que tous les rayons (ou bin counts) soient compris entre 0 et 1.

  • frame ( str ) – Définit le cadre de délimitation de la carte et les attributs des axes. Rappelez-vous que x ici est la distance radiale et y est l’azimut. Le ylabel peut être utilisé pour tracer une légende de figure. La longueur de la barre d’échelle est déterminée par l’espacement radial du quadrillage.

  • scale ( float ou str ) – Multiplie les rayons de données par l’échelle. Par exemple, utilisez scale=0.001pour convertir vos données de m en km. Pour exclure les rayons de la prise en compte, réglez-les tous sur l’unité avec scale= »u » [La valeur par défaut est sans mise à l’échelle].

  • fill ( str ) – Définit la couleur ou le motif des barres de remplissage [par défaut, pas de remplissage].

  • cmap ( str ) – Donnez un CPT. La valeur r pour chaque secteur est utilisée pour rechercher la couleur du secteur. Ne peut pas être utilisé avec un diagramme en rose.

  • pen ( str ) – Définissez les attributs du stylo pour le contour du secteur ou le tracé en rose, par exemple pen= »0.5p ». [La valeur par défaut est sans contour]. Pour changer le stylet utilisé pour dessiner le vecteur (nécessite vectors) [la valeur par défaut est identique au contour du secteur], utilisez par exemple pen= »v0.5p ».

  • label ( str ) – wlabel,elabel,slabel,nlabel . Spécifiez des étiquettes pour les repères 0, 90, 180 et 270 degrés. Pour un tracé en cercle complet, la valeur par défaut est « West,East,South,North » et pour un demi-cercle, la valeur par défaut est « 90W,90E,-,0 ». Un « -«  dans n’importe quelle entrée désactive cette étiquette (par exemple labels= »W,E,-,N »). Utilisez labels= » » pour désactiver les quatre étiquettes. Notez que le paramètre GMT_LANGUAGE affectera les mots utilisés.

  • no_scale ( bool ) – Ne dessinez PAS la barre de longueur d’échelle ( no_scale=True ). L’échelle de tracés par défaut dans le coin inférieur droit fournie frame est utilisée.

  • shift ( bool ) – Décaler les secteurs de manière à ce qu’ils soient centrés sur l’intervalle bin (par exemple, le premier secteur est centré sur 0 degré).

  • vectors ( str ) – mode_file . Tracer des vecteurs montrant les directions principales données dans le fichier mode_file . Vous pouvez également spécifier vectors de calculer et de tracer la direction moyenne. Voir vector_params pour contrôler les attributs vectoriels. Enfin, pour enregistrer à la place la direction moyenne calculée et d’autres statistiques, utilisez vectors= »+wmode_file ». Les huit éléments enregistrés dans un seul enregistrement sont : mean_az , mean_r , mean_resultant , max_r , scaled_mean_r , length_sum , n , sign@alpha, où le dernier terme vaut 0 ou 1 selon que la résultante moyenne est significative ou non au niveau de confiance fixé par alpha.

  • vector_params ( str ) – Utilisé avec vectors pour modifier les paramètres vectoriels. Pour les têtes vectorielles, ajoutez la taille de la tête vectorielle [la valeur par défaut est 0, c’est-à-dire une ligne]. Si vectors n’est pas donné et que le mode de tracé actuel consiste à dessiner un diagramme en rose des vents, l’utilisation vector_params ajoutera des têtes vectorielles à toutes les directions individuelles à l’aide des attributs fournis.

  • alpha ( float ou str ) – Définissez le niveau de confiance utilisé pour déterminer si le résultat moyen est significatif (c’est-à-dire, test de Lord Rayleigh pour l’uniformité) [la valeur par défaut est alpha=0.05].

    Remarque : Les valeurs critiques sont approchées [Berens, 2009] et nécessitent au moins 10 points ; les résultats critiques sont précis à au moins 3 chiffres significatifs. Pour les ensembles de données plus petits, vous devriez consulter des tableaux statistiques exacts.

  • 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.

  • 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.

  • 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]].

  • transparency ( 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).

  • envelopper ( str ) – y | un | w | d | h | m | s | c période [/ phase ][ +c col ]. Convertissez la coordonnée x d’entrée en une coordonnée cyclique, ou une colonne différente si elle est sélectionnée via +c col . Les transformations de coordonnées cycliques suivantes sont prises en charge :
    • y - cycle annuel (normalisé)

    • a - cycle annuel (mensuel)

    • w - cycle hebdomadaire (jour)

    • d - cycle quotidien (heure)

    • h - cycle horaire (minute)

    • m - cycle minute (seconde)

    • s - deuxième cycle (seconde)

Exemple

import pygmt

# Load sample compilation of fracture lengths and azimuth as
# hypothetically digitized from geological maps
data = pygmt.datasets.load_sample_data(name="fractures")

fig = pygmt.Figure()

fig.rose(
    # use columns of the sample dataset as input for the length and azimuth
    # parameters
    length=data.length,
    azimuth=data.azimuth,
    # specify the "region" of interest in the (r,azimuth) space
    # [r0, r1, az0, az1], here, r0 is 0 and r1 is 1, for azimuth, az0 is 0 and
    # az1 is 360 which means we plot a full circle between 0 and 360 degrees
    region=[0, 1, 0, 360],
    # set the diameter of the rose diagram to 7.5 cm
    diameter="7.5c",
    # define the sector width in degrees, we append +r here to draw a rose
    # diagram instead of a sector diagram
    sector="10+r",
    # normalize bin counts by the largest value so all bin counts range from
    # 0 to 1
    norm=True,
    # use red3 as color fill for the sectors
    fill="red3",
    # define the frame with ticks and gridlines every 0.2
    # length unit in radial direction and every 30 degrees
    # in azimuthal direction, set background color to
    # lightgray
    frame=["x0.2g0.2", "y30g30", "+glightgray"],
    # use a pen size of 1p to draw the outlines
    pen="1p",
)

fig.show()