Visualización de Python: explicación detallada de los parámetros básicos del dibujo matplotlib.pyplot

Tabla de contenido

1. Introducción a matplotlib

2. Uso de funciones de componentes gráficos

2.1 figura(): color de fondo

2.2 xlim() y ylim(): establece el rango de visualización numérica de los ejes x e y

2.3 xlabel() e ylabel(): establece el texto de la etiqueta de los ejes x e y

2.4 grid(): Dibuja las líneas de cuadrícula de las marcas de verificación

2.5 axhline(): Dibuja una línea de referencia horizontal paralela al eje x

2.6 axvspan(): Dibuja un área de referencia perpendicular al eje x

2.7 xticks(),yticks()

2.8 anotar (): agregue texto de anotación de punto a punto para detalles de contenido gráfico

2.9 bbox: agregar un marco al título

2.10.text(): un texto de comentario no señalador (marca de agua) que agrega detalles de contenido gráfico

2.11 title(): Agrega el título del contenido gráfico

2.12. legend(): marca la leyenda de la etiqueta de texto de diferentes gráficos

2.13 table(): agrega una tabla al subgrafo

3. Pantalla de código completo

4. El estilo de línea del gráfico de líneas.

5. Abreviaturas de color de uso común

6. Resumen


1. Introducción a matplotlib

La biblioteca matplotlib es una herramienta de visualización de datos para dibujar gráficos 2D y 3D en Python

Características:
    Use instrucciones de dibujo simples para lograr efectos de dibujo complejos  Use
    operaciones interactivas para lograr efectos gráficos cada vez más finos 
    Use LaTex incrustado para generar gráficos, expresiones científicas y textos simbólicos con calificaciones impresas
    Obtenga un control detallado sobre los elementos constituyentes de los gráficos

Tres interfaces de dibujo

        pyplot: enfrenta la trama actual

        ejes: orientado a objetos

        Pylab: sigue el estilo matlab

Este artículo utiliza el dibujo gráfico ( que muestra el cambio de tendencia de las variables ) para mostrar los parámetros básicos del dibujo, y utiliza la biblioteca numpy para obtener los datos del dibujo (al azar). Los gráficos finales no están cuidadosamente pensados, y todo es principalmente para mostrar los parámetros gráficos! ! !

Bibliotecas utilizadas:

import matplotlib.pyplot as plt
import numpy as np

2. Uso de funciones de componentes gráficos

  plot (): muestra el cambio de tendencia de las variables

   Uso: plt.plot(x, y, c, ls, lw, etiqueta, alfa, **kwargs)       
          x, y: el valor en el eje x, y
          c: establecer el color
          ls: el estilo de línea del gráfico de líneas
          lw: el ancho de línea del gráfico de líneas
          etiqueta: el texto de la etiqueta que marca el contenido gráfico
          alfa: transparencia
          **kwargs: especifica el uso del atributo line2D
        

 2.1 figura(): color de fondo

        Cómo usar: figure(num=Ninguno, figsize=Ninguno, dpi=Ninguno, facecolor=Ninguno,
edgecolor=Ninguno, frameon=Verdadero, FigureClass=Figura, clear=False, **kwargs)  
número:
        Si no se proporciona este parámetro, se creará un nuevo objeto de figura y se incrementará el valor de recuento de figuras, que se almacena en una propiedad de número del objeto de figura. Si existe este parámetro y hay un objeto de figura correspondiente a id, active el objeto de figura para id. Si no existe un objeto de figura para id, créelo y devuélvalo. Si el valor de num es una cadena, establezca el título de la ventana en esta cadena
figsize: ancho y alto en pulgadas, el valor predeterminado es rc figure.figsize (1 pulgada equivale a 2,54 cm)
dpi: resolución de gráficos, el valor predeterminado es rc figure.dpi
color de cara: color de fondo
plt.figure(figsize=(10, 10))
x = np.linspace(0.05, 10, 1000)  # 在0.05到10的区间中,等差选取1000个,端点不属于
y = np.sin(x)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.plot(x, y,
         color='red',
         ls='-',
         label='sinx')
plt.show()

 2.2  xlim() y ylim(): establece el rango de visualización numérica de los ejes x e y

 Cómo utilizar: plt.xlim(xmin,xmax)
        xmin: el valor mínimo en el eje x
        xmax: el valor máximo en el eje x

2.3  xlabel() e ylabel(): establece el texto de la etiqueta de los ejes x e y

Cómo usar: plt.xlabel (tamaño de fuente, alineación vertical, alineación horizontal, rotación, bbox)
 
tamaño de fuente: número o (pequeño, grande, mediano)
verticalalignment: la posición desde el eje de coordenadas (arriba, abajo, centro, línea de base)
alineación horizontal: posición (centro, derecha, izquierda)
Ración:位置(vertical,horizontal,vertical)
bbox: añadir un borde

2.4  grid(): Dibuja las líneas de cuadrícula de las marcas de verificación

Cómo usar: plt.grid (estilo de línea, color)

2.5  axhline(): Dibuja una línea de referencia horizontal paralela al eje x

Cómo usar: plt.axhline(y, c, ls, lw, etiqueta)
y: el punto de partida de la línea de referencia horizontal
plt.figure(figsize=(10, 10))
x = np.linspace(0.05, 10, 1000)  # 在0.05到10的区间中,等差选取1000个,端点不属于
y = np.sin(x)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.plot(x, y,
         color='red',
         ls='-',
         label='sinx')
plt.xlim(1, 10)
plt.ylim(-1, 1)
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.grid(ls=':',
         color='blue')  # 设置网格,颜色为蓝色
plt.axhline(0.5, color='green', lw=2, label="分割线")  # 绘制平行于x轴的水平参考线,绿色,名称
plt.show()

(La línea verde en la figura anterior es la línea de referencia añadida por axjline())

2.6  axvspan(): Dibuja un área de referencia perpendicular al eje x

Cómo usar: plt.axvspan (xmin, xmax, color de cara, alfa)
xmin: la posición inicial del área de referencia
xmax: la posición final del área de referencia
facecolor: el color de relleno del área de referencia
alfa: la transparencia del color de relleno del área de referencia, [0~1]
Nota: Su método de uso también se puede usar en axhspan()
En el código anterior agregar
plt.axvspan(xmin=2,
            xmax=5,
            facecolor='r',
            alpha=0.2)  # 绘制垂直于x轴的参考区域

Eso es obtener (nota: este párrafo es el área)

 2.7  xticks(),yticks()

        Obtener o establecer la posición y la etiqueta de la escala actual del eje x o el eje y (es decir, establecer la etiqueta del eje x o y)

Puede entenderse que establece el mismo efecto que xilim e ylim, pero puede especificar el rango y la distancia

plt.xticks(list(range(0, 12, 1)))  # 调整刻度范围和刻度标签

Preste atención al eje x, desde el 0~10 original hasta el 0~11 actual, puede establecer el tamaño del paso configurando el tercer parámetro, aquí se establece en 1

2.8  anotar (): agregue texto de anotación de punto a punto para detalles de contenido gráfico

Método de función: plt.annotate()

s: contenido del texto del comentario

xy: el punto de coordenadas que se va a anotar

xytext: la posición de las coordenadas del texto de la anotación
peso: establezca el estilo de línea de fuente (Ultralight, light, normal, regular, book, medium, roman, semibold, semibold, demi, bold, heavy, extrabold, black)
color: Establezca el color de la fuente; también puede establecer el color de tipo RGB o RGBA; pero debe ser un número de punto flotante entre [0,1]         
Los parámetros xycoords= son los siguientes
     puntos de figura: el punto en la esquina inferior izquierda de la figura
     píxeles de la figura: los píxeles en la esquina inferior izquierda de la figura
     fracción de figura: la parte inferior izquierda de la figura
     Puntos de ejes: el punto en la parte inferior izquierda del eje de coordenadas
     Píxeles de ejes: el píxel en la parte inferior izquierda del eje de coordenadas
     datos: utilice el sistema de coordenadas del objeto anotado
     arrowprops: parámetros de flecha, el tipo de parámetro es dictado por diccionario
     ancho: el ancho de la flecha
     ancho de cabeza: el ancho en puntos de la parte inferior de la flecha
     longitud de la cabeza: la longitud de la flecha
     encoger: una parte de la longitud total que se "encoge" desde ambos extremos
     facecolor: color de la flecha (si se establece la palabra clave arrowstyle, no se puede usar ninguno de los parámetros anteriores, puede
para usar estos:
                                -
                                ->
                                -[
                                |-|
                                -|>
                                <->
                                <|-
                                <|-|>
                                elegante
                                simple
                                cuña )
plt.annotate('local',
             xy=(2, 1),
             xytext=(0.5, 0.5),
             weight='bold',
             color='red',
             xycoords="data",
             arrowprops=
             dict(arrowstyle="->", connectionstyle='arc3', color='b'),
             bbox=
             dict(boxstyle="rarrow",
                  pad=0.6,
                  fc="yellow",
                  ec='k',
                  lw=1,
                  alpha=0.5)
             )

 La flecha amarilla y la línea delgada azul aquí son los parámetros agregados por el método de parámetro. En el proceso de uso real, se puede usar de acuerdo con sus necesidades reales. Se puede considerar que agrega algunas explicaciones a la imagen.

2.9  bbox: agregar un marco al título

(estilo de caja: forma de caja; círculo: elipse; flecha: flecha bidireccional; flecha: flecha hacia la izquierda; flecha: flecha

cabeza a la derecha; redondo: rectángulo redondeado; redondo4: ovalado; diente redondo: borde ondulado 1; diente de sierra:

Borde ondulado 2; cuadrado: rectángulo)

2.10.text(): un texto de comentario no señalador (marca de agua) que agrega detalles de contenido gráfico

Método de función: plt.text()

x, y: representan el valor en el eje de coordenadas
peso:
            ultraligero
            normal
            regular
            libro
            medio
            romano
            seminegrita
            media negrita
            demi
            atrevido
            pesado
            extra negrita
            negro
xycoodrds:
    puntos de figura: el punto en la esquina inferior izquierda de la figura
    píxeles de la figura: los píxeles en la esquina inferior izquierda de la figura
    fracción de figura: la parte inferior izquierda de la figura
    Puntos de ejes: el punto en la parte inferior izquierda del eje de coordenadas
    Píxeles de ejes: el píxel en la parte inferior izquierda del eje de coordenadas
                        
datos: utilice el sistema de coordenadas del objeto anotado
                
bbox: añade un marco al título
           boxstyle: forma de caja
           círculo: elipse
           flecha: flecha bidireccional
           larrow: Flecha que apunta a la izquierda
           estrecho: Flecha apuntando a la derecha
           redondo: rectángulo redondeado
           round4: Elipse
           diente redondo: borde ondulado 1
           diente de sierra: borde ondulado 2
           cuadrado: rectángulo         
plt.text(1, 1,
         "y=sinx",
         weight='bold',
         color ='b')

    Aquí se establece en las coordenadas (1, 1), que es el campo azul de y=senx debajo del texto

2.11 title(): Agrega el título del contenido gráfico

plt.title("正弦函数")

2.12. legend(): marca la leyenda de la etiqueta de texto de diferentes gráficos

Cómo usar: plt.legeng()

La posición geográfica de la leyenda en la figura:
                        mejor
                        superior derecha
                        arriba a la izquierda
                        abajo a la izquierda
                        inferior derecha
                        bien
                        centro izquierda
                        centro derecha
                        centro inferior
                        centro superior
                        centro
plt.legend(loc="lower left")  # 设置图例位置

2.13  table(): agrega una tabla al subgrafo

plt.table(cellText=Ninguno, cellColours=Ninguno, cellloc='right' ,colWidths=Ninguno,
rowLabels=Ninguno, rowColours=Ninguno, collLabels=Ninguno, colColours=Ninguno,
collloc='centro', loc='bpttpm', bbox=Ninguno, bordes='cerrado', **kwargs)
cellText: texto de la celda de la tabla. El tipo es una lista bidimensional de cadenas
cellColours: color de fondo de la celda de la tabla. Una lista de valores de color de dos bits de tipo
cellloc: Alineación del texto de las celdas de la tabla. El valor por defecto es correcto
                                izquierda
                                bien
                                centro
colWidths: ancho de celda de la tabla. type es una lista de flotantes
rowLabels: texto del encabezado de la fila de la tabla. el tipo es una lista de cadenas
rowColours: el color de fondo del encabezado de la fila de la tabla. tipo es una lista de colores
colLabels: texto del encabezado de la columna de la tabla. el tipo es una lista de cadenas
colLoc: Alineación del texto del encabezado de la fila de la tabla. derecho predeterminado
                                izquierda
                                bien
                                centro
colColours: color de fondo del encabezado de la tabla. tipo es una lista de colores
loc: la ubicación de la celda en relación con la subparcela
bbox: dibuje el cuadro delimitador de la tabla, si este parámetro no es Ninguno, anulará el parámetro loc
      bordes: bordes de celda, este atributo afectará el color de fondo de varias celdas
                        BRTL
                        abierto
                        cerrado
                        horizontal
                        vertical

3. Pantalla de código completo

import matplotlib.pyplot as plt
import numpy as np

plt.figure(figsize=(10, 10))
x = np.linspace(0.05, 10, 1000)  # 在0.05到10的区间中,等差选取1000个,端点不属于
y = np.sin(x)
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
plt.plot(x, y,
         color='red',
         ls='-',
         label='sinx')
plt.xlim(1, 10)
plt.ylim(-1, 1)
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.grid(ls=':',
         color='blue')  # 设置网格,颜色为蓝色
plt.axhline(0.5, color='green', lw=2, label="分割线")  # 绘制平行于x轴的水平参考线,绿色,名称
plt.axvspan(xmin=2,
            xmax=5,
            facecolor='r',
            alpha=0.2)  # 绘制垂直于x轴的参考区域
plt.axhspan(ymin=(-3**0.5)/2,
            ymax=(3**0.5)/2,
            facecolor='w',
            alpha=0.2)

plt.legend(loc="lower left")  # 设置图例位置
plt.annotate('local',
             xy=(2, 1),
             xytext=(0.5, 0.5),
             weight='bold',
             color='red',
             xycoords="data",
             arrowprops=
             dict(arrowstyle="->", connectionstyle='arc3', color='b'),
             bbox=
             dict(boxstyle="rarrow",
                  pad=0.6,
                  fc="yellow",
                  ec='k',
                  lw=1,
                  alpha=0.5)
             )
plt.xticks(list(range(0, 12, 1)))  # 调整刻度范围和刻度标签
plt.text(1, 1,
         "y=sinx",
         weight='bold',
         color ='b')
plt.title("正弦函数")
plt.show()

Esta cadena de códigos se utiliza para mostrar caracteres chinos

plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

No importa qué imagen se dibuje, se debe usar plt.show () para mostrar la imagen al final; de lo contrario, la salida está vacía

4. El estilo de línea del gráfico de líneas.

     
   -:实线样式
   --:短横线样式
   -.:点划线样式
   ::虚线样式
    .:点标记
    O:圆标记
    V:倒三角标记
    ^:正三角标记
    <:左三角标记
    >:右三角表示
    1:下箭头标记13
    2:上箭头标记
    3:左箭头标记
    4:右箭头标记
    S:正方形标记
    p:五边形标记
    *:星形标记
    H:六边形标记
    +:加号标记
    X:x 标记
    D:菱形标记
    |:竖直线标记
    _:水平线标记

5. Abreviaturas de color de uso común

b 蓝色
g 绿色
r 红色
c 青色
m 品红色·
y 黄色
k 黑色
w 白色

6. Resumen

        Muchos parámetros son a veces inutilizables, pero debe saber que existen, y es razonable que existan. Diferentes parámetros tienen diferentes funciones y funciones. No agregue demasiados parámetros a ningún gráfico. Generalmente, hay leyendas, títulos y xy- rangos de ejes.

        No importa cuál use, se recomienda probarlo primero, ¡la práctica es el único criterio para probar la verdad! ! !

        Espero que los lectores me perdonen por la mala escritura. También estoy andando a tientas paso a paso. Si tiene alguna pregunta, por favor discútala en el área de comentarios.

Supongo que te gusta

Origin blog.csdn.net/qq_60471758/article/details/122752184
Recomendado
Clasificación