Gráficos de dispersão com cores personalizadas
Assim como podemos personalizar as cores das retas no exercício anterior, podemos personalizar as cores dos pontos do nosso gráfico. É o que veremos a seguir.
Mãos a obra...
A função scatter disponibiliza duas opções para controlar as cores dos pontos através do seu parâmetro color: Uma cor para todos os pontos: se o valor passado para o parâmetro for uma cor valida, todos os pontos do gráfico vão ter a mesma cor. Uma cor diferente para cada ponto: também podemos criar cada ponto com uma cor especifica. Mas para fazer isso precisamos criar uma lista com cores matplotlib válidas.Como fazer pontos com diferentes cores
Nesse primeiro exemplo vamos criar um conjunto de dados, A e B. Cada conjunto vai ser desenhado no gráfico com uma cor diferente. Por isso vamos chamar a função scatter duas vezes, uma para cada cor.
Exemplo
A execução do código acima deve resultar num gráfico parecido com esse:
import matplotlib.pyplot as plt
from numpy.random import randn
a = randn(100, 2)
b = randn(100, 2)
plt.scatter(a[:,0], a[:,1], color = (.0, .10, 1.))
plt.scatter(b[:,0], b[:,1], color = (.0, .80, .2))
plt.show()
from numpy.random import randn
a = randn(100, 2)
b = randn(100, 2)
plt.scatter(a[:,0], a[:,1], color = (.0, .10, 1.))
plt.scatter(b[:,0], b[:,1], color = (.0, .80, .2))
plt.show()
Usando uma lista de cores
Para usar uma lista com cem cores, precisamos de cem coordenadas de pontos.Nesse exemplo vamos fazer um gráfico com cem pontos aleatórios e uma lista de cores com cem cores aleatórias.
Exemplo
O resultado deve ser um gráfico parecido com esse:
import matplotlib.pyplot as plt
from numpy.random import randn, rand
a = randn(100, 2)
lista_cor = rand(100, 3)
plt.scatter(a[:,0], a[:,1], color = lista_cor)
plt.show()
from numpy.random import randn, rand
a = randn(100, 2)
lista_cor = rand(100, 3)
plt.scatter(a[:,0], a[:,1], color = lista_cor)
plt.show()
Como o parâmetro color recebe os valores
O parâmetro color pode receber os valores isolados, como acontece no primeiro exemplo, e em listas, como acontece no segundo exemplo. Os valores passados podem ser tantos numéricos como strings (no caso de nomes de cores definidos).Tem mais...
Se por algum motivo você precisar criar uma borda nos pontos, isso é possível com o parâmetro edgecolor.O parâmetro edgecolor cria uma borda no ponto com a cor passada para o parâmetro. O valor passado para o parâmetro edgecolor segue o mesmo padrão do parâmetro color. Assim podemos usar cores triplas, quadruplas, com nomes definidos ou níveis de cinza.
Exemplo
O exemplo acima deve resulta num gráfico parecido com esse:
import matplotlib.pyplot as plt
from numpy.random import randn, rand
a = randn(100, 2)
plt.scatter(a[:,0], a[:,1], color = '1.0', edgecolor = '0.0')
plt.show()
from numpy.random import randn, rand
a = randn(100, 2)
plt.scatter(a[:,0], a[:,1], color = '1.0', edgecolor = '0.0')
plt.show()
Nesse exemplo, passamos o valor do parâmetro edgecolor em níveis de cinza. Mas você poderia usar outros modos para definir a cor da borda dos pontos.
Uma coisa importante de se notar é que o parâmetro edgecolor só existe na função scatter.
0 comentários:
Postar um comentário