Fazer a Lenda do Terreno de Dispersão em Matplotlib

  1. Adicionar uma legenda ao gráfico de dispersão 2D em Matplotlib
  2. Adicionar uma lenda ao gráfico de dispersão 3D em Matplotlib
Fazer a Lenda do Terreno de Dispersão em Matplotlib

A legenda é simplesmente a descrição de vários elementos de uma figura. Podemos gerar uma legenda do gráfico de dispersão utilizando a função matplotlib.pyplot.legend.

Adicionar uma legenda ao gráfico de dispersão 2D em Matplotlib

import numpy as np
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]

y1 = [i ** 2 for i in x]
y2 = [2 * i + 1 for i in x]

plt.scatter(x, y1, marker="x", color="r", label="x**2")
plt.scatter(x, y2, marker="o", color="b", label="2*x+1")
plt.legend()
plt.show()

Resultado:

Adicionar legenda a um gráfico de dispersão 2D

Temos duas parcelas de dispersão separadas na figura: uma representada por x e outra pela marca o. Atribuímos o label a cada gráfico de dispersão utilizado como uma etiqueta enquanto geramos a legenda. Depois, criamos a legenda na figura utilizando a função legend() e finalmente exibimos a figura inteira utilizando o método show().

Podemos também passar directamente um array de etiquetas como argumento para o método legend() e alterar a posição da legenda utilizando o parâmetro loc do método legend().

import numpy as np
import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]

y1 = [i ** 2 for i in x]
y2 = [2 * i + 1 for i in x]

plt.scatter(x, y1, marker="x", color="r")
plt.scatter(x, y2, marker="o", color="b")
plt.legend(("x**2", "2*x+1"), loc="center left")
plt.show()

Resultado:

Adicionar legenda a um gráfico de dispersão 2D especificando a localização em Matplotlib

Este processo cria uma figura com duas parcelas de dispersão e uma lenda colocada no centro à esquerda da caixa de fronteira dos eixos.

Adicionar uma lenda ao gráfico de dispersão 3D em Matplotlib

import matplotlib.pyplot as plt

x = [1, 2, 3, 4, 5]
y = [2, 1, 4, 5, 6]

z1 = [i + j for (i, j) in zip(x, y)]
z2 = [3 * i - j for (i, j) in zip(x, y)]

axes = plt.subplot(111, projection="3d")
axes.plot(x, y, z1, "x", label="x+y")
axes.plot(x, y, z2, "o", label="3*x-y")

plt.legend(loc="upper left")
plt.show()

Resultado:

Adicionar legenda a um gráfico de dispersão 3D

Para criar uma legenda para o gráfico de dispersão 3D, utilizamos o método plot() em vez do método scatter(); é porque o método legend() não suporta Patch3DCollection devolvido pelo método scatter() da instância Axes3D.

Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Artigo relacionado - Matplotlib Scatter Plot

Artigo relacionado - Matplotlib Legend