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