Matplotlib Tutorial - Colocar Texto no Terreno

  1. Eixos Matplotlib Text
  2. Eixos Matplotlib Text Exemplo básico
  3. Eixos Matplotlib Text Rotação
  4. Eixos Matplotlib text Explicação do ângulo de rotação

Neste tutorial vamos aprender sobre como colocar texto no enredo. Você pode adicionar texto e dar a esse texto uma localização coordenada ou também pode adicionar texto a um enredo específico e talvez desenhar uma seta que aponte diretamente para esse enredo.

Eixos Matplotlib Text

matplotlib.axes.Axes.text(x, y, s, fontdict=None, withdash=False, **kwargs)

Adicione o texto s aos eixos no local (x, y) em coordenadas de dados.

Parâmetros*

Nome Tipo de dados Descrição
x, y scalars A posição para colocar o texto
s str O texto da anotação
fontdict dic Um dicionário para substituir as propriedades padrão da fonte de texto

Eixos Matplotlib Text Exemplo básico

# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 4 * np.pi, 1000)  
y = 10 * np.sin(x)

fig, ax = plt.subplots(1, figsize=(6, 4.5))
ax.plot(x, y, "r")
ax.text(2.0, 9.5, "Peak Value",fontsize=14)

ax.grid(True)

plt.show()

Texto Matplotlib

Eixos Matplotlib Text Rotação

Os eixos text têm um argumento de palavra-chave - rotation que especifica o ângulo de rotação do texto no gráfico. O ângulo de rotation está entre 0 e 360 (grau).

# -*- coding: utf-8 -*-
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 4 * np.pi, 1000)  
y = 10 * np.sin(x)

fig, ax = plt.subplots(1, figsize=(6, 4.5))
ax.plot(x, y, "r")
ax.text(1.3, 9.0, "Peak Value", fontsize=16, rotation = 270)

ax.grid(True)

plt.show()

Matplotlib Texto_Rotação

Eixos Matplotlib text Explicação do ângulo de rotação

O ângulo de rotação é no sentido contrário ao dos ponteiros do relógio. Fazemos um roteiro de demonstração para ilustrar a definição do ângulo de rotação.

import matplotlib.pyplot as plt
import numpy as np


def addtext(ax, props):
    for x in range(8):
        angle = 45 * x
        ax.text(0.5+x, 0.5, '{} degree'.format(angle), props, rotation=angle)
        ax.scatter(x + 0.5, 0.5, color='r')
        
    ax.set_yticks([0, .5, 1])
    ax.set_xlim(0, 8)
    ax.grid(True)


# the text bounding box
bbox = {'fc': '0.8', 'pad': 0}

fig, axs = plt.subplots(1, 1, figsize=(8, 3))

addtext(axs, {'ha': 'center', 'va': 'center', 'bbox': bbox})
axs.set_xticks(np.arange(0, 8.1, 0.5), [])
axs.set_ylabel('center / center')

plt.show()

Matplotlib Text_Rotation Angle Demonstration

O texto é alinhado pela sua caixa de delimitação que é a caixa rectangular que rodeia o rectângulo de texto. O texto será primeiro rodado e depois alinhado. Basicamente, o texto é centralizado em (x, y) localização, girado em torno deste ponto, e depois alinhado de acordo com a caixa de delimitação do texto girado.

Então, se você especificar alinhamento à esquerda, a parte inferior esquerda da caixa de delimitação do texto rotacionado estará na coordenada (x, y) do texto.