quinta-feira, 7 de maio de 2020

Mais texto com Matplotlib

Mais texto com Matplotlib

A biblioteca matplotlib nos permite fazer várias modificações no texto que queremos adicionar no gráfico. Além de definir a posição podemos definir o seu alinhamento e adicionar uma marcação no texto.

Alinhamento

O texto que será adicionado ao gráfico é limitado por uma caixa imaginaria. Utilizamos essa caixa para posicionar o texto no gráfico, em relação as coordenadas que passamos para o método text. Assim usamos o posicionamento horizontal e vertical para definir como o alinhamento será feito.
Essas são as opções de alinhamento vertical:

  • 'center': Relativo ao centro da caixa imaginaria do texto.
  • 'top': Relativo ao topo da caixa imaginaria do texto.
  • 'bottom': Relativo a parte de baixo da caixa imaginaria do texto.
  • 'baseline': Relativo a base do texto.

Opções de alinhamento horizontal:

  • 'center': relativo ao centro da caixa de texto.
  • 'left': relativo ao lado esquerdo da caixa de texto.
  • 'rigth': relativo ao lado direito da caixa de texto.

Personalizando caixa de texto

Para personalizamos a caixa de texto utilizamos o parâmetro bbox. O parâmetro bbox recebe um dicionario com as configurações de aparência da caixa de texto.

Exemplo
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.cm as cm

x = np.linspace(-4, 4, 1024)
y = .25 * (x + 4.) * (x + 1.) * (x - 2.)

box_setup = {
  'facecolor': '.75',
  'edgecolor': 'k',
  'boxstyle': 'round'
}

plt.text(0.5, -0.25, 'Vale', bbox=box_setup)
plt.scatter(x, y, c = x, cmap = cm.hot)
plt.show()

Executando o exemplo acima o resultado deve ser um gráfico igual a esse:

Como funciona…

O dicionário passado ao parâmetro bbox define as configurações de aparência da caixa de texto. Veja quais são os valores que o parâmetro aceita:
facecolor: define a cor de fundo usado na caixa de texto.
Edgecolor: define a cor que circunda a caixa de texto.
Boxstyle: define a aparência da caixa, se ela vai ser aredondada (round) ou quadrada (square).

0 comentários:

Postar um comentário