Scatter Matplotlib
Criando Plots Scatter (Espalhamento)
Com Pyplot, você pode usar a função scatter() para desenhar um plot.
A função scatter() plota um ponto para cada observação. Ela precisa de dois arrays de mesmo tamanho, um para os valores do eixo-x, e outro para valores do eixo-y:
EXEMPLO: Um plot scatter simples:
A observação no exemplo acima é o resultado das velocidades de 13 carros passando pelo radar.
O eixo-X mostra quão velho o carro é.
O eixo-Y mostra a velocidade do carro quando passa pelo radar.
Existe alguma relação entre estas observações?
Parece que quanto mais novo o carro, mais veloz ele é dirigido, mas isto poderia ser uma coincidência, afinal registramos somente 13 carros.
Comparar Gráficos
No exemplo acima, parece haver uma relação entre a velocidade e a idade, mas e se traçarmos as observações de outro dia também? O gráfico de dispersão (scatter) nos dirá mais alguma coisa?
EXEMPLO: Desenhe dois plots na mesma figura:
NOTA: Os dois plots foram plotados com duas cores diferentes, por default azul e laranja, você aprenderá como mudar as cores mais tarde neste capítulo.
Comparando os dois plots, acho que é seguro dizer que ambos nos dão a mesma conclusão: quanto mais novo o carro, mais rápido ele é dirigido.
Cores
Você pode configurar sua própria cor para cada scatter com o argumento color ou c.
EXEMPLO: Configure sua própria cor dos marcadores:
Colorir Cada Ponto
Você pode até definir uma cor específica para cada ponto usando um array de cores como valor para o argumento c.
NOTA: Você não pode usar o argumento color para isto, somente o argumento c.
EXEMPLO: Defina sua própria cor dos marcadores:
Mapa de Cores
O módulo Matplotlib tem vários mapas de cores disponíveis.
Um mapa de cor é como uma lista de cores, onde cada cor tem um valor na faixa de 0 a 100.
Aqui está um exemplo de um mapa de cor:
Este mapa de cores é chamado ‘viridis’ e como você pode ver ele vai de 0, que é a cor roxa, até 100, que é a cor amarela.
Como Usar o Mapa de Cores
Você pode especificar o mapa de cor com o argumento cmap com o valor do mapa de cores, neste caso ‘viridis’ que é um dos mapas de cores embutidos disponíveis no Matplotlib.
Além disso você tem de criar um array com os valores (de 0 a 100), um valor para cada um dos pontos no plot scatter.
EXEMPLO: Crie um array de cores, e especifique um mapa de cores no scatter plot:
Você pode incluir o mapa de cores no desenho colocando a declaração plt.colorbar().
EXEMPLO: Incluir o mapa de cores real:
Mapa de Cores Disponíveis
Você pode escolher qualquer dos mapas de cores embutidos:
Nome | Reverso |
---|---|
Accent | Accent_r |
Blues | Blues_r |
BrBG | BrBG_r |
BuGn | BuGn_r |
BuPu | BuPu_r |
CMRmap | CMRmap_r |
Dark2 | Dark2_r |
GnBu | GnBu_r |
Greens | Greens_r |
Greys | Greys_r |
OrRd | OrRd_r |
Oranges | Oranges_r |
PRGn | PRGn_r |
Paired | Paired_r |
Pastel1 | Pastel1_r |
Pastel2 | Pastel2_r |
PiYG | PiYG_r |
PuBu | PuBu_r |
PuBuGn | PuBuGn_r |
PuOr | PuOr_r |
PuRd | PuRd_r |
Purples | Purples_r |
RdBu | RdBu_r |
RdGy | RdGy_r |
RdPu | RdPu_r |
RdPu | RdPu_r |
RdYlBu | RdYlBu_r |
RdYlGn | RdYlGn_r |
Reds | Reds_r |
Set1 | Set1_r |
Set2 | Set2_r |
Set3 | Set3_r |
Spectral | Spectral_r |
Wistia | Wistia |
YlGn | YlGn_r |
YlGnBu | YlGnBu_r |
YlOrBr | YlOrBr_r |
YlOrRd | YlOrRd_r |
afmhot | afmhot_r |
autumn | autumn_r |
binary | binary_r |
bone | bone_r |
brg | brg_r |
bwr | bwr_r |
cividis | cividis_r |
cool | cool_r |
coolwarm | coolwarm_r |
copper | copper_r |
cubehelix | cubehelix_r |
flag | flag_r |
gist_earth | gist_earth_r |
gist_gray | gist_gray_r |
gist_heat | gist_heat_r |
gist_ncar | gist_ncar_r |
gist_rainbow | gist_rainbow_r |
gist_stern | gist_stern_r |
gist_yarg | gist_yarg_r |
gnuplot | gnuplot_r |
gnuplot2 | gnuplot2_r |
gray | gray |
hot | hot_r |
hsv | hsv_r |
inferno | inferno_r |
jet | jet_r |
magma | magma_r |
nipy_spectral | nipy_spectral_r |
ocean | ocean_r |
pink | pink_r |
plasma | plasma_r |
prism | prism_r |
rainbow | rainbow_r |
seismic | seismic_r |
spring | spring_r |
summer | summer_r |
tab10 | tab10_r |
tab20 | tab20_r |
tab20b | tab20b_r |
tab20c | tab20c_r |
terrain | terrain |
twilight | twilight_r |
twilight_shifted | twilight_shifted_r |
viridis | viridis_r |
winter | winter_r |
Tamanho
Você pode mudar o tamanho dos pontos com o argumento s.
Exatamente como comas cores, certifique-se que o array para os tamanhos tem o mesmo tamanho que os arrays para os eixos x e y.
EXEMPLO: Defina seu próprio tamanho para os marcadores:
Alpha
Você pode ajustar a transparência dos pontos com o argumento alpha.
Exatamente como com cores, certifique-se que o array para os tamanhos são iguais aqueles dos arrays para os eixos x e y.
EXEMPLO: Defina seu próprio size para os marcadores:
Combinar Tamanho de Cor e Alpha
Você pode combinar um mapa de cores com diferentes tamanhos nos pontos. Isto é melhor visualizado se os pontos forem transparentes:
EXEMPLO: Crie um array randômico com 100 valores para pontos-x, pontos-y, cores e tamanhos: