Matplotlib - Transforms

O pacote matplotlib é construído em cima de uma estrutura de transformação para mover facilmente entre os sistemas de coordenadas. Quatro sistemas de coordenadas podem ser usados. Os sistemas são descritos resumidamente na tabela abaixo -

Coordenada Objeto de Transformação Descrição
Dados ax.transData

O sistema de coordenadas dos dados do terreno do usuário. controlado pelo xlim e ylim

Eixos ax.transAxes

O sistema de coordenadas dos eixos. (0,0) é a parte inferior esquerda e (1,1) é a parte superior direita dos eixos.

Figura fig.transFigure

O sistema de coordenadas da Figura. (0,0) é a parte inferior esquerda e (1,1) é a parte superior direita da figura

exibição Nenhum

Este é o sistema de coordenadas de pixel da tela. (0,0) é a parte inferior esquerda e (largura, altura) é a parte superior direita da exibição em pixels.

Como alternativa, (matplotlib.transforms.IdentityTransform ()) pode ser usado em vez de None.

Considere o seguinte exemplo -

axes.text(x,y,"my label")

O texto é colocado na posição teórica de um ponto de dados (x, y). Assim, falaríamos de "dados coords".

Usando outros objetos de transformação, o posicionamento pode ser controlado. Por exemplo, se o teste acima deve ser colocado no centro do sistema de coordenadas dos eixos, execute a seguinte linha de código -

axes.text(0.5, 0.5, "middle of graph", transform=axes.transAxes)

Essas transformações podem ser usadas para qualquer tipo de objeto Matplotlib. A transformação padrão paraax.text é ax.transData e a transformação padrão para fig.text é fig.transFigure.

O sistema de coordenadas dos eixos é extremamente útil ao colocar texto em seus eixos. Você pode querer frequentemente um balão de texto em um local fixo; por exemplo, no canto superior esquerdo do painel de eixos e manter esse local fixo ao aplicar panorâmica ou zoom.