Notas de estudo Python para o sexagésimo sexto dia (gráfico de dispersão Matplotlib)

Gráfico de dispersão Matplotlib

Podemos usar o método scatter() em pyplot para desenhar gráficos de dispersão.

Gráfico de dispersão dispersão()

A sintaxe do método scatter() é a seguinte:

matplotlib.pyplot.scatter(x, y, s=None, c=None, marker=None, cmap=None, norm=None, vmin=None, vmax=None, alpha=None, linewidths=None, *, edgecolors=None, plotnonfinite=False, data=None, **kwargs)

Descrição do parâmetro:

  • x, y: Matrizes do mesmo comprimento, que são os pontos de dados que estamos prestes a desenhar no gráfico de dispersão, insira os dados.
  • s: O tamanho do ponto, o padrão é 20, também pode ser um array, cada parâmetro do array é o tamanho do ponto correspondente.
  • c: A cor do ponto, o padrão é azul 'b', também pode ser um número de linha bidimensional RGB ou RGBA.
  • marcador: estilo de ponto, pequeno círculo padrão 'o'.
  • cmap: Mapa de cores, padrão Nenhum, escalar ou o nome de um mapa de cores, usado apenas quando c é uma matriz de números de ponto flutuante. Se não houver declaração, é image.cmap.
  • norma: Normalizar, padrão Nenhum, o brilho dos dados está entre 0-1, usado apenas quando c é uma matriz de números de ponto flutuante.
  • vmin, vmax:: Configuração de brilho, ignorada quando existe o parâmetro norm.
  • alfa:: Configuração de transparência, entre 0-1, padrão Nenhum, que é opaco.
  • linewidths::O comprimento do ponto marcado.
  • edgecolors:: Cor ou sequência de cores, o padrão é 'face', os valores opcionais são 'face', 'none', None.
  • plotnonfinite: valor booleano, define se deve usar c não finito (inf, -inf ou nan) para plotar pontos.
  • **kwargs:: Outros parâmetros.

O exemplo de função scatter() a seguir recebe argumentos de array do mesmo comprimento, um para os valores no eixo x e outro para os valores no eixo y:

# 实例 1
import matplotlib.pyplot as plt
import numpy as np

x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([1, 4, 9, 16, 7, 11, 23, 18])

plt.scatter(x, y)
plt.show()

Definir tamanho do ícone

# 实例 2
import matplotlib.pyplot as plt
import numpy as np

x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([1, 4, 9, 16, 7, 11, 23, 18])
sizes = np.array([20,50,100,200,500,1000,60,90])
plt.scatter(x, y, s=sizes)
plt.show()

Cor de ponto personalizada

# 实例 3
import matplotlib.pyplot as plt
import numpy as np

x = np.array([1, 2, 3, 4, 5, 6, 7, 8])
y = np.array([1, 4, 9, 16, 7, 11, 23, 18])
colors = np.array(["red","green","black","orange","purple","beige","cyan","magenta"])

plt.scatter(x, y, c=colors)
plt.show()

Configure dois conjuntos de gráficos de dispersão

# 实例 4
import matplotlib.pyplot as plt
import numpy as np

x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
plt.scatter(x, y, color = 'hotpink')

x = np.array([2,2,8,1,15,8,12,9,7,3,11,4,7,14,12])
y = np.array([100,105,84,105,90,99,90,95,94,100,79,112,91,80,85])
plt.scatter(x, y, color = '#88c999')

plt.show()

Use números aleatórios para configurar um gráfico de dispersão

# 实例 5
import numpy as np
import matplotlib.pyplot as plt
# 随机数生成器的种子
np.random.seed(19680801)


N = 50
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
area = (30 * np.random.rand(N))**2  # 0 to 15 point radii

plt.scatter(x, y, s=area, c=colors, alpha=0.5) # 设置颜色及透明度

plt.title("RUNOOB Scatter Test") # 设置标题

plt.show()

Barra de coresMapa de cores

O módulo Matplotlib fornece muitas barras de cores disponíveis.

Uma barra de cores é como uma lista de cores, onde cada cor possui um valor que varia de 0 a 100.

Aqui está um exemplo de barra de cores:

Para definir a barra de cores, você precisa usar o parâmetro cmap. O valor padrão é 'viridis' e, em seguida, o valor da cor é definido como uma matriz de 0 a 100.

# 实例 6
import matplotlib.pyplot as plt
import numpy as np

x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
colors = np.array([0, 10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100])

plt.scatter(x, y, c=colors, cmap='viridis')

plt.show()

Se quiser exibir a barra de cores, você precisa usar o método plt.colorbar():

# 实例 7
import matplotlib.pyplot as plt
import numpy as np

x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
colors = np.array([0, 10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100])

plt.scatter(x, y, c=colors, cmap='viridis')

plt.colorbar()

plt.show()

Altere os parâmetros da barra de cores e defina cmap como afmhot_r:

# 实例 8
import matplotlib.pyplot as plt
import numpy as np

x = np.array([5,7,8,7,2,17,2,9,4,11,12,9,6])
y = np.array([99,86,87,88,111,86,103,87,94,78,77,85,86])
colors = np.array([0, 10, 20, 30, 40, 45, 50, 55, 60, 70, 80, 90, 100])

plt.scatter(x, y, c=colors, cmap='afmhot_r')
plt.colorbar()
plt.show()

Os valores dos parâmetros da barra de cores podem ser os seguintes:

nome da cor palavras-chave reservadas
Sotaque Acento_r
Blues Azul_r
BRBG BrBG_r
hoje BuGn_r
BuPu BuPu_r
Mapa CMR CMRmap_r
Escuro2 Escuro2_r
GnBu GnBu_r
Verdes Verdes_r
Cinzas Greys_r
OuRd OuRd_r
Laranjas Laranjas_r
PRGn PRGn_r
Emparelhado Emparelhado_r
Pastel1 Pastel1_r
Pastel2 Pastel2_r
PiYG PiYG_r
bar PuBu_r
PuBuGn PuBuGn_r
PuOr PuOr_r
PuRd PuRd_r
Roxos Roxos_r
RdBu RdBu_r
RdGy RdGy_r
RdPu RdPu_r
RdYlBu RdYlBu_r
RdYlGn RdYlGn_r
Vermelhos Vermelhos_r
Conjunto1 Conjunto1_r
Conjunto 2 Conjunto2_r
Conjunto3 Conjunto3_r
Espectral Espectral_r
Vístia Wistia_r
YlGn YlGn_r
YlGnBu YlGnBu_r
YlOrBr YlOrBr_r
YlOrRd YlOrRd_r
muito quente afmhot_r
outono outono_r
binário binário_r
osso osso_r
brg brg_r
br rebarba
cidadãos cividis_r
legal legal_r
legalquente coolwarm_r
cobre cobre_r
hélice cúbica cubohélice_r
bandeira bandeira_r
essência_earth essência_earth_r
essência_cinza essência_cinza_r
essência_heat essência_heat_r
essência_ncar essência_ncar_r
essência_rainbow essência_rainbow_r
essência_stern essência_stern_r
essência_yarg essência_juiz_r
gnuplot gnuplot_r
gnuplot2 gnuplot2_r
gray gray_r
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_r
twilight twilight_r
twilight_shifted twilight_shifted_r
viridis viridis_r
winter winter_r

后记

今天学习的是Python Matplotlib 散点图学会了吗。 今天学习内容总结一下:

  1. Matplotlib 散点图
  2. 散点图 scatter()
  3. 颜色条 Colormap

Acho que você gosta

Origin blog.csdn.net/qq_54129105/article/details/132394451
Recomendado
Clasificación