Curso matplotlib - Gráfico de dispersão (editando os pontos do gráfico)

2 minute read


O matplotlib permite a edição dos pontos, ou marcadores, de um gráfico de dispersão de forma bastante simples. Esta edição é feita através de alguns parâmetros que são adicionados em plt.scatter(). A edição dos marcadores permite uma melhor representação das informações contidas nos gráficos.

Por exemplo, caso tenhamos dois grupos diferentes, podemos separa-los por cores, facilitando a sua interpretação. Com utilidade similar, também podemos utilizar diferentes marcadores. O tamanho dos marcadores também pode ser utilizado para representar o valor de uma variável que temos em um conjunto de dados (gráfico de bolhas).

Alterando a cor do marcador

banner provisório

Adicionar cores em um gráfico é uma das formas mais eficientes para expressar o que o gráfico deve representar.

Para alterar a cor dos marcadores, devemos passar o parâmetro color ou apenas c, para o plt.scatter(). Este parâmetro deve receber o nome da cor em formato de str. Por padrão, a cor dos marcadores do gráfico de dispersão é azul.

Por exemplo, para deixar os pontos do gráfico preenchidos na cor preta, devemos utilizar:

plt.figure(figsize=(8,6))
plt.scatter(x=x, y=y, color="black")
plt.show()

Figura 1 - Gráfico de dispersão com marcadores na cor preta.

gráfico de dispersão desenhado utilizando o **matplotlib** com os marcadores na cor preta

De forma análoga, mas utilizando a abreviação c = "black":

plt.figure(figsize=(8,6))
plt.scatter(x=x, y=y, c="black")
plt.show()

Figura 2 - Gráfico de dispersão com marcadores na cor preta utilizando o parâmetro c.

gráfico de dispersão desenhado utilizando o **matplotlib** com os marcadores na cor preta utilizando o parâmetro c ao invés do parâmetro color


É através deste parâmetro c ou color que passamos uma str que representa o nome da cor desejada para alterar a cor dos marcadores. Para as cores primárias (abaixo), temos opção de utilizar uma abreviação do nome da cor:


  • "b" ou blue (azul);
  • "g" ou green (verde);
  • "r" ou red (vermelho);
  • "c" ou cyan (ciano);
  • "m" ou magenta (magenta);
  • "y" ou yellow (amarelo);
  • "k" ou black (preto);
  • "w" ou white (branco).

Por exemplo, para deixar os marcadores com a cor magenta, basta passar a str 'm' ou 'margenta':

plt.figure(figsize=(8,6))
plt.scatter(x=x, y=y, c="m")
plt.show()

Figura 3 - Gráfico de dispersão com marcadores na cor 'm'.

gráfico de dispersão desenhado utilizando o **matplotlib** com os marcadores na cor magenta utilizando o parâmetro c

Para as demais cores podemos utilizar o nome da cor, a representação hexadecimal ou valores de RGB. Uma excelente fonte de exemplo das cores disponíveis com seus respectivos nomes esta apresentado na figura abaixo:

Figura 4 - Lista de nomes de cores disponíveis para o matplotlib.

lista exemplificando os nomes das cores disponíveis com a respectiva cor ao lado para referência.

Fonte - documentação matplotlib.

Para imprimir todos os nomes disponíveis com seus respectivos valores hexadecimais, basta rodar o código abaixo.

import matplotlib
for name, hex in matplotlib.colors.cnames.items():
    print(name, hex)


Também podemos passar uma sequência (list, tuple, ndarray, etc) com diversas cores para alterar cada ponto do gráfico. Cada elemento dessa sequência deve conter uma str com o nome da cor desejada para cada ponto. É importante ressaltar que o tamanho desta sequência deve coincidir com o número de pontos do gráfico.

Por exemplo, a lista cores tem, em cada elemento, uma str que representa uma cor:

cores = ['k', 'k', 'b', 'b', 'y', 'y', 'm', 'r', 'r', 'g', 'g']

Podemos utilizar esta lista para alterar a cor de cada ponto, o que é feito atribuindo a lista cores para o parâmetro c:

plt.figure(figsize=(8,6))
plt.scatter(x=x, y=y, c=cores)
plt.show()

Figura 5 - Gráfico de dispersão com marcadores desenhados com diversas cores.

gráfico de dispersão desenhado utilizando uma lista contendo diversas cores, o que resulta em um gráfico com cada ponto colorido com uma cor diferente

Observe que o tamanho da lista cores é o mesmo da lista x.

len(cores) == len(x)

True

Qual é o parâmetro utilizado para alterar a cor dos marcadores ao gerar um elemento de plt.scatter()?

c

cores

cafézinho

color


Anterior Próximo

Updated: