Tabla de contenido
- 1. Utilice matplotlib para la visualización de datos
- 2. Utilice Pandas para la visualización de datos
- 3. Utilice seaborn para la visualización de datos
- para resumir
- Adjunto: la elección de gráficos visuales
Las herramientas de visualización de datos de Python se basan principalmente en matplotlib, pandas y seaborn.
1. Utilice matplotlib para la visualización de datos
1.1 Conceptos básicos
- Lienzo / Tablero de pintura
- Sistema de coordenadas / intervalo de dibujo
1.2 Pasos principales: tres pasos para dibujar una imagen
Tome el gráfico de líneas como ejemplo
- Definir puntos de coordenadas (preparar datos)
plot(x, y)
Dibujar un gráfico (el predeterminado es un gráfico de líneas)plt.show()
Gráfico de visualización
Nota: No importa cuántos, xey en el gráfico corresponden uno a uno y aparecen en pares .
1.3 Introducción detallada:
Recuerde:
si no especifica la 画板figure()
suma 子图subplot
, se creará un tablero de dibujo figure(1)
y un subgrafo de forma predeterminadasubplot(1,1,1)
1. Construye el lienzo
Crear lienzo + establecer el tamaño del lienzo : plt.figure()
¡también puede pasar el parámetro de tamaño del lienzo figsize = (8, 6)
para ajustar el tamaño del lienzo!
2. Establecer un sistema de coordenadas (determinar el área de dibujo)
Hay varios métodos diferentes:
2.1 Segmentación del lienzo + retorno a todos los sistemas de coordenadas
plt.subplots()
El método de pasadas posteriores axes[x,y]
se traza para indicar un sistema de coordenadas que
2.2 Segmentación del lienzo + posición designada del sistema de coordenadas (para regresar)
ax= fig.add_subplot()
plt.subplot2grid()
plt.subplot()
El primer método pertenece a la programación de objetos, los tres últimos pertenecen a la programación funcional
Los siguientes tres ejemplos de código:
plt.subplot2grid()
plt.subplot2grid((2,2),(0,0))
plt.subplot2grid((2,2),(0,1))
plt.subplot2grid((2,2),(1,1))
Controlar la posición del sistema de coordenadas por coordenadas
subplot()
plt.subplot(2,2,1)
plt.subplot(2,2,2)
plt.subplot(2,2,4)
Por control digital de las coordenadas de posición de
combate:
for i in range(len(crops)): # crops 为 10 张堆叠的图片 , 大小:(10, 224, 224, 3)
plt.subplot(2,5,i+1)
plt.imshow(crops[i, :, :, :])
resultado:
subplots()
plt.subplots(2,2)
Devuelve todos los sistemas de coordenadas (2x2)
3. Establecer el eje de coordenadas
Establecer el título del eje
plt.xlabel("str")
plt.ylabel("str")
plt.title('str')
Los parámetros labelpad
también pueden establecer el título a la distancia del eje;
se string
pueden configurar otros parámetros de entrada
Establecer la escala del eje
Personalizar en qué escalas se muestra el valor de la escala
plt.xticks(ticks,labels)
plt.yticks(ticks,labels)
Consejo: Usted puede ocultar los valores del eje x / y
por el que pasa en una lista vacía para garantizar la seguridad de datos .
plt.xticks([])
plt.yticks([])
Establecer el rango del eje de coordenadas
plt.xlim()
plt.ylim()
Simplemente pase el punto de inicio y el punto final como parámetros directamente.
O utilice un método más simple:
axis[xmin, xmax, ymin, ymax]
por ejemplo,
plt.axis([0, 6, 0, 20])
Tenga en cuenta que, aunque la entrada aquí tiene la forma de una lista, en realidad se convertirá internamente en una forma de matriz numerosa para que sea más fácil para nosotros procesar los datos.
otros ajustes
-Apagar la pantalla del eje:plt.axis('off')
-Línea de cuadrícula abierta : plt.grid(b = 'True')
también se puede pasar axis参数
, especifique para abrir solo el eje especificado
- la leyenda
de plt.plot()
los parámetros de la etiqueta entrante , como el que label = ‘str’
se plt.legend()
muestra en ese momento
...
5. Dibuja un gráfico
plt.plot(x,y)
-Tabla de líneas: -Histograma: plt.bar(x,y)
-Tabla de dispersión: -Mapa de calor plt.scatter(x,y)
: plt.imshow(x,cmap)
…
- Parámetros opcionales utilizados en el dibujo de diagramas 2d:
6. Visualización de iconos
plt.show()
1.4 Preguntas frecuentes
- Es solucionar el problema de no mostrar la imagen.
%matplotlib inline
- Resolver chino confuso
plt.rcParams['font.sans-serif']='SimHei'
1.5 Implementación de código mínima
import numpy as np
import matplotlib.pyplot as plt
Un sistema de coordenadas
Como se mencionó anteriormente, algunas operaciones se pueden omitir
x = np.linspace(1, 20, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.plot(x, y1)
plt.plot(x, y2)
Múltiples sistemas de coordenadas
x = np.linspace(1, 20, 100)
y1 = np.sin(x)
y2 = np.cos(x)
plt.subplot(2,2,1)
plt.plot(x, y1)
plt.subplot(2,2,4)
plt.plot(x, y2)
2. Utilice Pandas para la visualización de datos
Pandas
El dibujo es un matplotlib
paquete hecho sobre la
sintaxis básica es:
df.plot(x='列名1', y='列名2', kind='图形类型', label=‘图例名称’)
gráfico de líneas
from numpy.random import randn
np.random.seed(1)
df = pd.DataFrame(np.random.randn(20,3),index=np.linspace(0,19,20), columns=list('ABC'))
df.plot()
Gráfico de barras
from numpy.random import randn
np.random.seed(1)
df = pd.DataFrame(np.random.randn(5,3)+10,index=np.linspace(0,4,5), columns=list('ABC'))
df.plot.bar()
Histograma
from numpy.random import randn
np.random.seed(1)
df = pd.DataFrame({
'A':np.random.randn(100),'B':np.random.randn(100)+1,'C':np.random.randn(100)+2})
df.hist(bins=20)
Diagrama de caja
from numpy.random import randn
np.random.seed(1)
df = pd.DataFrame(np.random.rand(10, 5), columns=['A', 'B', 'C', 'D', 'E'])
df.plot.box()
Gráfico de dispersión
from numpy.random import randn
np.random.seed(1)
df = pd.DataFrame(np.random.rand(50, 4), columns=['a', 'b', 'c', 'd'])
df.plot.scatter(x='a', y='b')
Gráfico circular
from numpy.random import randn
np.random.seed(1)
df = pd.DataFrame(3 * np.random.rand(4), index=['a', 'b', 'c', 'd'], columns=['x'])
df.plot.pie(subplots=True)
3. Utilice seaborn para la visualización de datos
Utilice Seaborn para la visualización de datos
para resumir
- Gráfico unidimensional: diagrama de caja de
datos unidimensional (no directamente significativo) - Gráficos bidimensionales Gráficos de
dispersión, gráficos lineales, histogramas, gráficos de barras - Diagrama tridimensional:
diagrama de burbujas
Continuará ~