Matplotlib Tutorial - Colocar Texto no Terreno

Jinku Hu 15 fevereiro 2024
  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
Matplotlib Tutorial - Colocar Texto no Terreno

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

Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook