Curso matplotlib - Gráfico de dispersão (editando os pontos do gráfico)
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
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.
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
.
É 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"
oublue
(azul);"g"
ougreen
(verde);"r"
oured
(vermelho);"c"
oucyan
(ciano);"m"
oumagenta
(magenta);"y"
ouyellow
(amarelo);"k"
oublack
(preto);"w"
ouwhite
(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'
.
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.
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.
Observe que o tamanho da lista cores
é o mesmo da lista x
.
len(cores) == len(x)
True