Curso matplotlib - Gráfico de dispersão (editando o tamanho do marcador)
Existem basicamente dois motivos para alterar o tamanho padrão dos marcadores. O primeiro é por questões de design, de forma a deixar o marcador de um tamanho adequado para o leitor ter uma boa visualização do gráfico. O segundo é para destacar alguma informação a mais no gráfico. Por exemplo, caso tenha uma segunda variável dependente, é possível deixar o tamanho dos pontos relativo a esta outra variável, aumentando a quantidade de informações contidas no gráfico (gráfico de bolhas). Iremos abordar com detalhes este tipo de gráfico mais a frente.
Alterando o tamanho do marcador
O parâmetro que deve ser passado para alterar o tamanho dos marcadores é o parâmetro s
, que deve receber um número inteiro (int
) ou decimal (float
). O tamanho padrão dos marcadores 20
.
Por exemplo, para deixar os macadores menores (do que o padrão), basta passar um número menor do que 20
através do parâmetro s
:
plt.figure(figsize=(8,6))
plt.scatter(x,y, c='red', s = 10)
plt.show()
Figura 1 - Gráfico de dispersão com o tamanho dos marcadores alterado.
Observe que na célula acima, os valores de x
e y
foram passados diretamante para o plt.scatter()
. Antes, era feito desta forma:
plt.scatter(x=x, y=y)
E agora foi feito desta forma:
plt.scatter(x, y)
Obtemos o mesmo gráfico, independentemente da forma utilizada. Mas observe que isto funciona pois estou passando os valores de x
e y
na ordem esperada pelo plt.scatter()
. Caso fosse passado o y
para primeiro parâmetro e o x
como segundo parâmetro, desta forma:
plt.scatter(y, x)
Os valores de y
seriam utilizados no eixo x
, e os valores de x
seriam utilizados no eixo y
:
Figura 2 - Gráfico de dispersão invertido.
Observe a diferença entre a Figura 1 e a Figura 2.
Entretanto, a forma abaixo estaria correta, pois esta sendo efetivamente dito qual parâmetro esta sendo alterado, independentemente da ordem.
plt.scatter(y=y, x=x)
Este comportamento acontece pois os parâmetros podem ser passados para uma função na ordem esperada ou indicando explicitamente para qual parametro a variável esta sendo passada.
Para deixar os marcadores maiores (do que o padrão), basta passar um número maior do que 20
para o parãmetro s
:
plt.figure(figsize=(8,6))
plt.scatter(x,y, c='red', s = 100.1)
plt.show()
Figura 3 - Gráfico de dispersão com o tamanho dos marcadores alterado.
Também podemos passar uma sequência (list
, tuple
, ndarray
, etc) para o parâmetro s
, onde cada elemento deve ser um número correspondente ao tamanho do marcador. Esta sequência deve ter o mesmo tamanho que o número de pontos do gráfico.
Por exemplo, a lista tamanhos
, contém apenas valores númericos:
tamanhos = [40, 40, 50, 50, 60, 10, 10, 100, 100, 150, 150]
Podemos utilizar esta lista (tamanhos
) para alterar o tamanho de cada marcador, passando ela para o s
:
plt.figure(figsize=(8,6))
plt.scatter(x,y, c='red', s = tamanhos)
plt.show()
Figura 4 - Gráfico de dispersão com o tamanho dos marcadores alterado utilizando uma lista.
Observe que a lista tamanhos
e x
tem o mesmo número de elementos:
len(tamanhos) == len(x)
True