Como anotar gráficos de dispersão do matplotlib


Você pode usar a seguinte sintaxe básica para anotar gráficos de dispersão no Matplotlib:

 #add 'my text' at (x, y) coordinates = (6, 9.5)
plt. text (6, 9.5, ' my text ')

Os exemplos a seguir mostram como usar essa sintaxe na prática.

Crie uma nuvem de pontos básica

O código a seguir mostra como criar um gráfico de dispersão básico usando Matplotlib:

 import matplotlib.pyplot as plt

#createdata
x = [3, 6, 8, 12, 14]
y = [4, 9, 14, 12, 9]

#create scatterplot
plt. scatter (x,y)

Anotar um único ponto

Podemos usar o seguinte código para adicionar uma anotação a um único ponto no gráfico:

 import matplotlib.pyplot as plt

#create data
x = [3, 6, 8, 12, 14]
y = [4, 9, 14, 12, 9]

#create scatterplot
plt. scatter (x,y)

#add text 'Here' at (x, y) coordinates = (6, 9.5)
plt. text (6, 9.5, ' Here ')

Gráfico de dispersão com anotação em Matplotlib

Anotar vários pontos

Podemos usar o seguinte código para adicionar anotações a vários pontos do gráfico:

 import matplotlib.pyplot as plt

#create data
x = [3, 6, 8, 12, 14]
y = [4, 9, 14, 12, 9]

#create scatterplot
plt. scatter (x,y)

#add text to certain points
plt. text (3, 4.5, ' This ')
plt. text (6, 9.5, ' That ')
plt. text (8.2, 14, ' Those ')

Anote vários pontos na nuvem de pontos Matplotlib

Anote todos os pontos

Podemos usar o seguinte código para adicionar anotações a cada ponto do gráfico:

 import matplotlib.pyplot as plt

#createdata
x = [3, 6, 8, 12, 14]
y = [4, 9, 14, 12, 9]
labs = ['A', 'B', 'C', 'D', 'E']

#create scatterplot
plt. scatter (x,y)

#use for loop to add annotations to each point in plot 
for i, txt in enumerate(labs):
    plt. annotate (txt, (x[ i ], y[ i ])) 

Anote a nuvem de pontos Matplotlib

Por padrão, as anotações são colocadas diretamente acima dos pontos na nuvem de pontos e o tamanho da fonte padrão é 10.

O código a seguir mostra como ajustar essas duas configurações para que as anotações fiquem ligeiramente à direita dos pontos e o tamanho da fonte seja um pouco maior:

 import matplotlib.pyplot as plt

#create data
x = [3, 6, 8, 12, 14]
y = [4, 9, 14, 12, 9]
labs = ['A', 'B', 'C', 'D', 'E']

#create scatterplot
plt. scatter (x,y)

#use for loop to add annotations to each point in plot 
for i, txt in enumerate(labs):
    plt. annotate (txt, (x[ i ]+.25, y[ i ]), fontsize=12) 

Matplotlib anota cada ponto da trama

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns no Matplotlib:

Como adicionar legenda ao gráfico de dispersão no Matplotlib
Como colorir um gráfico de dispersão por valor no Matplotlib
Como adicionar uma linha média aos gráficos no Matplotlib

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *