Plotar um array em Python
A visualização de dados melhora o entendimento geral dos dados e ajuda com a memória porque os humanos tendem a se lembrar mais das imagens do que dos textos. A visualização dos dados é crucial porque temos muitos dados disponíveis e precisamos de um formato bem estruturado para entendê-los. Essa atividade faz parte da rotina diária de todo cientista de dados e entusiasta do aprendizado de máquina. Eles precisam visualizar os dados para entendê-los melhor e construir modelos de aprendizado de máquina bons e eficientes.
Freqüentemente, os dados são representados na forma de arrayes, e acabamos em situações em que temos que plotá-los. Este artigo fala sobre como podemos plotar esses dados usando Python.
Antes de prosseguirmos com o código, temos que entender uma coisa. Os arrays podem ser n-dimensionais
, o que significa que podemos ter arrays dentro de arrays (arrays 2-D) ou arrays dentro de arrays que ainda têm arrays dentro deles (arrays 3D) e assim por diante. E conforme o número de dimensões aumenta, a complexidade de plotar as matrizes aumenta. Nesses casos, as matrizes devem ser convertidas em outro formato adequado para plotar ou plotar algum outro tipo de gráfico que torne a visualização melhor. Este artigo falará sobre como plotar matrizes 1D e 2D.
Usaremos Matplotlib
, uma biblioteca abrangente baseada em python para fins de visualização, e NumPy
para plotar matrizes.
Você pode ler mais sobre elas aqui (Matplotlib
) e aqui (NumPy
).
Plotar matrizes 1-D em Python
Para plotar um array unidimensional, consulte o código a seguir.
import numpy as np
import matplotlib.pyplot as plt
x = np.array(range(0, 10))
y = np.array([100, 23, 44, 12, 55, 85, 69, 33, 75, 2])
plt.title("Plotting 1-D array")
plt.xlabel("X axis")
plt.ylabel("Y axis")
plt.plot(x, y, color="red", marker="o", label="Array elements")
plt.legend()
plt.show()
A variável y
contém os dados que devem ser plotados, e a variável x
contém os índices. Aqui, também para fins de plotagem, a indexação baseada em 0 foi considerada. Observe que também se pode alterar a indexação de volta para a indexação baseada em 1 adicionando este x = np.array(range(1, 11))
. A função plot
obtém primeiro os dados para o eixo x
e depois para o eixo y
. O argumento color
define a cor do gráfico de linha, o argumento marker
define o símbolo a ser usado para marcar os pontos sobre o gráfico de linha e o argumento label
define o rótulo a ser mostrado para esta linha em particular. Observe que, sem plt.legend()
, nenhuma informação sobre o rótulo será mostrada no gráfico.
A saída do código acima será semelhante a esta.
Plotar matrizes 2-D em Python
Para plotar um array bidimensional, consulte o código a seguir.
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.pyplot import figure
figure(figsize=(8, 6))
x = np.array(range(0, 10))
y = np.array(
[
[32, 69, 92, 81, 27, 97, 64, 98, 26, 22],
[85, 76, 63, 44, 94, 52, 71, 66, 2, 62],
[45, 80, 46, 24, 10, 74, 10, 33, 12, 60],
[73, 94, 21, 6, 93, 74, 36, 47, 16, 99],
[96, 84, 66, 12, 43, 58, 17, 16, 28, 6],
[83, 4, 56, 94, 97, 36, 94, 41, 74, 14],
[90, 13, 11, 71, 79, 49, 9, 69, 73, 61],
[94, 52, 28, 18, 14, 15, 91, 95, 16, 42],
[73, 35, 40, 25, 46, 25, 33, 1, 99, 30],
[61, 7, 89, 33, 94, 64, 1, 60, 41, 81],
]
)
plt.title("Plotting a2-D array")
plt.xlabel("X axis")
plt.ylabel("Y axis")
for i, array in enumerate(y):
plt.plot(
x,
array,
color=np.random.rand(
3,
),
marker="o",
label=f"Array #{i}",
)
plt.legend(loc="center left", bbox_to_anchor=(1, 0.5))
plt.show()
A variável y
contém o array 2-D
. Nós iteramos sobre cada array do array 2-D
, plotamos com alguma cor aleatória e um rótulo único. Uma vez que a plotagem é feita, nós reposicionamos a caixa de legenda e mostramos a plotagem.
A saída do código acima será semelhante a esta.