Zoeken…


Opmerkingen

Matplotlib heeft vier verschillende coördinatensystemen die kunnen worden gebruikt om de positionering van verschillende objecten, bijvoorbeeld tekst, te vergemakkelijken. Elk systeem heeft een overeenkomstig transformatieobject dat coördinaten transformeert van dat systeem naar het zogenaamde weergavecoördinatenstelsel.

Gegevenscoördinatenstelsel is het systeem dat wordt gedefinieerd door de gegevens op de respectieve assen. Dit is handig wanneer u een object ten opzichte van de geplotte gegevens probeert te positioneren. Het bereik wordt gegeven door de xlim en ylim eigenschappen van Axes . Het bijbehorende transformatieobject is ax.transData .

Assen coördinatensysteem is het systeem dat is gekoppeld aan het Axes object. Punten (0, 0) en (1, 1) definiëren de hoeken linksonder en rechtsboven van de assen. Als zodanig is het handig bij het positioneren ten opzichte van de assen, zoals bovenaan in het midden van de plot. Het overeenkomstige transformatie object ax.transAxes .

Figuurcoördinatenstelsel is analoog aan het assencoördinatenstelsel, behalve dat het is gekoppeld aan de Figure . Punten (0, 0) en (1, 1) vertegenwoordigen de hoeken linksonder en rechtsboven in de figuur. Dit is handig wanneer u iets probeert te positioneren ten opzichte van de hele afbeelding. Het bijbehorende transformatieobject is fig.transFigure .

Weergavecoördinatensysteem is het systeem van de afbeelding in pixels. Punten (0, 0) en (breedte, hoogte) zijn de pixels linksonder en rechtsboven in de afbeelding of weergave. Het kan absoluut worden gebruikt voor positionering. Aangezien transformatieobjecten coördinaten in dit coördinatensysteem transformeren, is aan het weergavesysteem geen transformatieobject gekoppeld. None of matplotlib.transforms.IdentityTransform() kan echter indien nodig worden gebruikt.

voer hier de afbeeldingsbeschrijving in

Meer details zijn hier beschikbaar.

Coördinatenstelsels en tekst

De coördinatensystemen van Matplotlib zijn erg handig bij het annoteren van de plots die u maakt. Soms wilt u tekst relatief ten opzichte van uw gegevens plaatsen, bijvoorbeeld wanneer u een specifiek punt probeert te labelen. Soms wilt u misschien een tekst bovenop de figuur toevoegen. Dit kan eenvoudig worden bereikt door een geschikt coördinatensysteem te selecteren door een transformatieobject door te geven aan de transform in aanroep naar text() .

import matplotlib.pyplot as plt

fig, ax = plt.subplots()

ax.plot([2.], [3.], 'bo')

plt.text(  # position text relative to data
    2., 3., 'important point',  # x, y, text,
    ha='center', va='bottom',   # text alignment,
    transform=ax.transData      # coordinate system transformation
)
plt.text(  # position text relative to Axes
    1.0, 1.0, 'axes corner',
    ha='right', va='top',
    transform=ax.transAxes
)
plt.text(  # position text relative to Figure
    0.0, 1.0, 'figure corner',
    ha='left', va='top',
    transform=fig.transFigure
)
plt.text(  # position text absolutely at specific pixel on image
    200, 300, 'pixel (200, 300)',
    ha='center', va='center',
    transform=None
)

plt.show()

voer hier de afbeeldingsbeschrijving in



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow