Curso matplotlib - Gráfico de dispersão (alterando os marcadores)
Os marcadores tem uma grande importância no entendimento dos gráficos. Dependendo do tipo de dado, é preferivel utilizar algum tipo de marcador, que talvez não seja adequado para outros tipos de dados. Além disso, utilizar marcadores diferentes é uma das melhores formas de diferenciar séries diferentes em um mesmo gráfico.
Alterando o tipo do marcador

Para alterar o tipo do marcador utilizamos o parâmetro marker, que deve receber uma str contendo o símbolo desejado ou um número inteiro (int) da lista de referências de marcadores.
Os marcadores mais utilizados são:
"."(ponto);"o"(circulo);"v"(triângulo para cima);"s"(quadrado);"\* "(estrela);"D"(diamante);"+"(mais);
Na Figura abaixo você pode visualizar todos os marcadores disponíveis:

O script utilizado para desenhar o gráfico acima pode ser acessado neste link.
Você encontra maiores informações na documentação.
Por exemplo, para deixar os marcadores em formato de diamante:
plt.figure(figsize=(8,6))
plt.scatter(x,y, c='red', s = 100.1, marker = "D")
plt.show()
Figura 1 - Gráfico de dispersão com o marcador em formato de diamante.

Veremos como deixar os marcadores com símbolos diferentes mais a frente.
Alterando a cor da linha do marcador (bordas do marcador)

Também é possível alterar a cor das linhas (bordas) dos marcadores de forma bem simples, bastando passar o nome da cor desejada (como uma str) através do parâmetro edgecolors. As cores seguem o mesmo padrão apresentado no item alterando a cor do marcador.
Por exemplo, para deixar a borda na cor preta:
plt.figure(figsize=(8,6))
plt.scatter(x,y, c='red', s = 100.1, marker = "D", edgecolors = 'k')
plt.show()
Figura 2 - Gráfico de dispersão com marcadores com bordas na cor preta.

Também podemos passar uma sequência de elementos (list, tuple, ndarray, etc) com os nomes das cores para alterar a cor da borda de cada ponto do gráfico.
Utilizando a lista cores criada anteriormente:
plt.figure(figsize=(8,6))
plt.scatter(x,y, c='red', s = 100.1, marker = "D", edgecolors = cores)
plt.show()
Figura 3 - Gráfico de dispersão com marcadores com bordas com diversas cores.

Alterando a espessura da linha do marcador (espessura da borda)

Também é possível alterar a espessura da borda dos marcadores, o que é feito passando um número inteiro (int) ou decimal (float) através do parâmetro linewidths.
plt.figure(figsize=(8,6))
plt.scatter(x,y, c='red', s = 100.1, marker = "D", edgecolors = cores, linewidths=2.5)
plt.show()
Figura 4 - Gráfico de dispersão com marcadores com bordas com diversas cores com a borda mais espessa.

Também podemos passar uma sequência (list, tuple, etc) com diversos valores para a espessura das bordas. Por exemplo, podemos utilizar a list:
espessura_marcador = [1, 1.2, 1.4, 1.6, 1.8, 2, 2.2, 2.4, 2.6, 2.8, 3.0]
que contém apenas valores numéricos e o mesmo tamanho de x para alterar a espessura da borda de cada marcador indivualmente:
plt.figure(figsize=(8,6))
plt.scatter(x,y, c='red', s = 100.1, marker = "D", edgecolors = cores, linewidths=espessura_marcador)
plt.show()
Figura 5 - Gráfico de dispersão com marcadores com bordas com diversas cores com a borda com espessura variada.

Alterando a cor de preenchimento do marcador

É possível alterar a cor de dentro (interior) dos marcadores, o que é feito passando o nome da cor desejada através do parâmetro facecolors. As cores seguem o mesmo padrão apresentado no item alterando a cor do marcador.
Entretanto, não devemos passar o parâmetro color, pois ele tem prioridade mais elevada no código e irá sobrescrever as cores.
Por exemplo, se adicionarmos o facecolors='g' no gráfico que estamos construindo, não teremos mudanças visuais no gráfico:
plt.figure(figsize=(8,6))
plt.scatter(x,y, c = 'red', s = 100.1, marker = "D", edgecolors = 'k', facecolors='g')
plt.show()
Figura 6 - Gráfico de dispersão com marcadores com o parâmetro color tendo precedencia ao parâmetro facecolors.

Como foi utilizado o parâmetro facecolors='g', era esperado que as cores das faces ficassem verdes, o que não aconteceu. Mas ao remover parâmetro c, teremos o resultado desejado:
plt.figure(figsize=(8,6))
plt.scatter(x,y, s = 100.1, marker = "D", edgecolors = 'k', facecolors='g')
plt.show()
Figura 7 - Gráfico de dispersão com marcadores na cor verde desenhado utilizando o parâmetro facecolors.

Também é possível passar uma sequência (list, tuple, ndarray, etc) com os nomes das cores para alterar a cor de preenchimento de cada marcador do gráfico individualmente. Utilizando a lista cores criada anteriormente, obtemos o seguinte gráfico:
plt.figure(figsize=(8,6))
plt.scatter(x,y, s = 100.1, marker = "D", edgecolors = 'k', facecolors=cores)
plt.show()
Figura 8 - Gráfico de dispersão com marcadores com diversas cores.

Também é possível remover a cor do marcador, de forma a deixar ele “aberto”. Para fazer isto, basta passar facecolors = "none" ou facecolors = "None":
plt.figure(figsize=(8,6))
plt.scatter(x,y, s = 100.1, marker = "D", edgecolors = 'k', facecolors='None')
plt.show()
Figura 9 - Gráfico de dispersão com marcadores abertos.
