Resumen de métodos para dibujar gráficos de líneas en matplotlib en Python

Resumen del método de dibujar un gráfico de líneas en matplotlib en Python (basta con leer este blog)

    Este artículo registra principalmente cómo dibujar un gráfico de líneas con la biblioteca integrada matplotlib en Python.

1. Importar biblioteca

    Importe la biblioteca matplotlib directamente.

import matplotlib.pyplot as plt

2. Preparación de datos

    Utilice la lista para preparar datos para la abscisa y la ordenada respectivamente.

X1 = [-5,-4,-3,-2,-1,0,1,2,3,4,5]
Y1 = [971,1344,1953,3064,4766,15522,4389,2615,1696,1210,798]
X2 = [-5,-4,-3,-2,-1,0,1,2,3,4,5]
Y2 = [554,861,1238,1979,3206,10663,2916,1639,1047,704,489]
X3 = [-5,-4,-3,-2,-1,0,1,2,3,4,5]
Y3 = [363,547,801,1254,2205,7535,1984,1115,677,464,340]
X4 = [-5,-4,-3,-2,-1,0,1,2,3,4,5]
Y4 = [293,478,681,1070,1819,6563,1750,953,583,410,287]

3. Dibujo de imagen

    Dibuja un gráfico de líneas directamente.

plt.figure()

# X1的分布
plt.plot(X1, Y1, label="X1", color="#FF3B1D", marker='*', linestyle="-")

# X2的分布
plt.plot(X2, Y2,label="X2",  color="#3399FF", marker='o', linestyle="-")

# X3的分布
plt.plot(X3, Y3, label="X3",  color="#F9A602", marker='s', linestyle="-")

# X4的分布
plt.plot(X4, Y4, label="X4",  color="#13C4A3", marker='d', linestyle="-")
# plt.gca().xaxis.set_major_locator(ticker.MultipleLocator(1))   # 将横坐标的值全部显示出来
X_labels = ['-5','-4','-3','-2','-1','0','1','2','3','4','5']
plt.xticks(X1,X_labels,rotation=0)
plt.legend()
plt.title("Lake.bmp")
plt.xlabel("X")
plt.ylabel("Y")
plt.show()

    Los resultados anteriores son válidos a favor de la prueba.

4. Código completo (copiar y ejecutar directamente)

import matplotlib.pyplot as plt
X1 = [-5,-4,-3,-2,-1,0,1,2,3,4,5]
Y1 = [971,1344,1953,3064,4766,15522,4389,2615,1696,1210,798]
X2 = [-5,-4,-3,-2,-1,0,1,2,3,4,5]
Y2 = [554,861,1238,1979,3206,10663,2916,1639,1047,704,489]
X3 = [-5,-4,-3,-2,-1,0,1,2,3,4,5]
Y3 = [363,547,801,1254,2205,7535,1984,1115,677,464,340]
X4 = [-5,-4,-3,-2,-1,0,1,2,3,4,5]
Y4 = [293,478,681,1070,1819,6563,1750,953,583,410,287]

plt.figure()

# X1的分布
plt.plot(X1, Y1, label="X1", color="#FF3B1D", marker='*', linestyle="-")

# X2的分布
plt.plot(X2, Y2,label="X2",  color="#3399FF", marker='o', linestyle="-")

# X3的分布
plt.plot(X3, Y3, label="X3",  color="#F9A602", marker='s', linestyle="-")

# X4的分布
plt.plot(X4, Y4, label="X4",  color="#13C4A3", marker='d', linestyle="-")
# plt.gca().xaxis.set_major_locator(ticker.MultipleLocator(1))   # 将横坐标的值全部显示出来
X_labels = ['-5','-4','-3','-2','-1','0','1','2','3','4','5']
plt.xticks(X1,X_labels,rotation=0)
plt.legend()
plt.title("Lake.bmp")
plt.xlabel("X")
plt.ylabel("Y")
plt.show()

    El efecto de dibujo se muestra en la siguiente figura:

inserte la descripción de la imagen aquí

5. Cómo configurar el tipo de línea, el color de línea, la marca de punto en la línea y las etiquetas del eje X

5.1 Cómo configurar el tipo de línea

La configuración del tipo de línea se establece principalmente a través plt.plot(X1, Y1, label="X1", color="#FF3B1D", marker='*', linestyle="-")del parámetro en     la declaración: el valor del parámetro y su tipo de significado se comparan de la siguiente manera:linestyle=
inserte la descripción de la imagen aquí

5.2 Cómo configurar el color de la línea

La configuración del color de la línea se establece principalmente a través de plt.plot(X1, Y1, label="X1", color="#FF3B1D", marker='*', linestyle="-")los parámetros en     la declaración: el valor del parámetro y su tipo de significado se comparan de la siguiente manera:     Además, el color se puede establecer a través del valor RGB del color, por ejemplo, la declaración: es para establecer el valor RGB del color: #FF3B1D, Registre los valores RGB de varios colores de uso común, de la siguiente manera:color=
inserte la descripción de la imagen aquí
plt.plot(X1, Y1, label="X1", color="#FF3B1D", marker='*', linestyle="-")

número de serie valor RGB efecto de color
1 #FF3B1D rojo
2 #3399FF azul
3 #F9A602 amarillo
4 #13C4A3 verde
5 #FF652D naranja
6 #D09E88 Terroso
7 #CC7112 marron oscuro
8 #F2BDD0 Rosa

Para obtener colores más brillantes, consulte: Enlace del sitio web de Bright Color RGB Value

5.3 Cómo configurar la marca de punto en línea

plt.plot(X1, Y1, label="X1", color="#FF3B1D", marker='*', linestyle="-")La configuración del tipo de línea se establece principalmente a través de los parámetros en     la declaración: marker=Si no necesita marcar los puntos de datos con puntos, no necesita configurar este parámetro, simplemente elimine la configuración del parámetro directamente.La comparación entre el valor del parámetro y su tipo de significado es el siguiente:
inserte la descripción de la imagen aquí

5.4 Cómo configurar las etiquetas de escala del eje X

    Cuando la escala del eje X no se configura artificialmente, el eje X de la imagen dibujada omitirá ciertos valores. Por ejemplo, cuando el rango del eje X es [-5,5], solo -4, - 2, 0, 2, 4 estos puntos, y el valor en el medio se omite directamente. Si desea mostrar estos valores, hay tres soluciones: (1)
    convertir directamente el valor de escala de X en una cadena, es decir digamos, convertir directamente Cada elemento de las colecciones X1, X2, X3 y X4 se puede convertir directamente en un tipo de cadena. Agregue la siguiente línea de código después de la declaración de asignación para x1:

X1 = [str(i) for i in X1]    #为了让每个值不被省略,把list中所有的元素都转化成str格式
X2 = [str(i) for i in X2]    #为了让每个值不被省略,把list中所有的元素都转化成str格式
X3 = [str(i) for i in X3]    #为了让每个值不被省略,把list中所有的元素都转化成str格式
X4 = [str(i) for i in X4]    #为了让每个值不被省略,把list中所有的元素都转化成str格式

    El código completo es el siguiente:

import matplotlib.pyplot as plt
X1 = [-5,-4,-3,-2,-1,0,1,2,3,4,5]
Y1 = [971,1344,1953,3064,4766,15522,4389,2615,1696,1210,798]
X2 = [-5,-4,-3,-2,-1,0,1,2,3,4,5]
Y2 = [554,861,1238,1979,3206,10663,2916,1639,1047,704,489]
X3 = [-5,-4,-3,-2,-1,0,1,2,3,4,5]
Y3 = [363,547,801,1254,2205,7535,1984,1115,677,464,340]
X4 = [-5,-4,-3,-2,-1,0,1,2,3,4,5]
Y4 = [293,478,681,1070,1819,6563,1750,953,583,410,287]

X1 = [str(i) for i in X1]    #为了让每个值不被省略,把list中所有的元素都转化成str格式
X2 = [str(i) for i in X2]    #为了让每个值不被省略,把list中所有的元素都转化成str格式
X3 = [str(i) for i in X3]    #为了让每个值不被省略,把list中所有的元素都转化成str格式
X4 = [str(i) for i in X4]    #为了让每个值不被省略,把list中所有的元素都转化成str格式

plt.figure()

# X1的分布
plt.plot(X1, Y1, label="X1", color="#FF3B1D", marker='*', linestyle="-")

# X2的分布
plt.plot(X2, Y2,label="X2",  color="#3399FF", marker='o', linestyle="-")

# X3的分布
plt.plot(X3, Y3, label="X3",  color="#F9A602", marker='s', linestyle="-")

# X4的分布
plt.plot(X4, Y4, label="X4",  color="#13C4A3", marker='d', linestyle="-")
# plt.gca().xaxis.set_major_locator(ticker.MultipleLocator(1))   # 将横坐标的值全部显示出来
# X_labels = ['-5','-4','-3','-2','-1','0','1','2','3','4','5']
# plt.xticks(X1,X_labels,rotation=0)
plt.legend()
plt.title("Lake.bmp")
plt.xlabel("X")
plt.ylabel("Y")
plt.show()

    (2) Configure el intervalo de visualización de los datos del eje X directamente con el código, lo que MultipleLocator(1)significa que el intervalo entre los datos de visualización del eje X es 1.

import matplotlib.ticker as ticker
plt.gca().xaxis.set_major_locator(ticker.MultipleLocator(1))   # 将横坐标的值全部显示出来

    El código completo es el siguiente:

import matplotlib.ticker as ticker
import matplotlib.pyplot as plt
X1 = [-5,-4,-3,-2,-1,0,1,2,3,4,5]
Y1 = [971,1344,1953,3064,4766,15522,4389,2615,1696,1210,798]
X2 = [-5,-4,-3,-2,-1,0,1,2,3,4,5]
Y2 = [554,861,1238,1979,3206,10663,2916,1639,1047,704,489]
X3 = [-5,-4,-3,-2,-1,0,1,2,3,4,5]
Y3 = [363,547,801,1254,2205,7535,1984,1115,677,464,340]
X4 = [-5,-4,-3,-2,-1,0,1,2,3,4,5]
Y4 = [293,478,681,1070,1819,6563,1750,953,583,410,287]

plt.figure()

# X1的分布
plt.plot(X1, Y1, label="X1", color="#FF3B1D", marker='*', linestyle="-")

# X2的分布
plt.plot(X2, Y2,label="X2",  color="#3399FF", marker='o', linestyle="-")

# X3的分布
plt.plot(X3, Y3, label="X3",  color="#F9A602", marker='s', linestyle="-")

# X4的分布
plt.plot(X4, Y4, label="X4",  color="#13C4A3", marker='d', linestyle="-")
plt.gca().xaxis.set_major_locator(ticker.MultipleLocator(1))   # 将横坐标的值全部显示出来,X轴数据显示间隔为1
plt.legend()
plt.title("Lake.bmp")
plt.xlabel("X")
plt.ylabel("Y")
plt.show()

    (3) Al restablecer directamente la lista de etiquetas X_labels para el eje X, la visualización del eje X se puede modificar, no solo se puede cambiar a una cadena de valores, sino que también se puede cambiar a otras formas de cadena. rotation=0Indica que la visualización de la etiqueta del eje X se gira 0 grados. La rotación es para evitar que algunas etiquetas del eje X sean demasiado largas y la visualización se superponga. Por lo tanto, se gira para liberar más espacio de visualización.

import matplotlib.ticker as ticker
X_labels = ['-5','-4','-3','-2','-1','0','1','2','3','4','5']
plt.xticks(X1,X_labels,rotation=0)

    El efecto de visualización se muestra en la siguiente figura:
inserte la descripción de la imagen aquí

    Después de reescribir rotación = 0 a rotación = 20, el efecto de visualización de la etiqueta del eje X cambia de la siguiente manera:
    el código es:

X_labels = ['-5','-4','-3','-2','-1','0','1','2','3','4','5']
plt.xticks(X1,X_labels,rotation=20)

    El efecto de visualización es:
inserte la descripción de la imagen aquí
    También puede reescribir la coordenada X en la forma de etiqueta deseada según sus necesidades, por ejemplo, cambiarla a una letra:

X_labels = ['-a','-b','-c','-d','-e','a','b','c','d','e','f']
plt.xticks(X1,X_labels,rotation=20)

    El efecto de visualización es:
inserte la descripción de la imagen aquí

    El código completo es:

import matplotlib.ticker as ticker
import matplotlib.pyplot as plt
X1 = [-5,-4,-3,-2,-1,0,1,2,3,4,5]
Y1 = [971,1344,1953,3064,4766,15522,4389,2615,1696,1210,798]
X2 = [-5,-4,-3,-2,-1,0,1,2,3,4,5]
Y2 = [554,861,1238,1979,3206,10663,2916,1639,1047,704,489]
X3 = [-5,-4,-3,-2,-1,0,1,2,3,4,5]
Y3 = [363,547,801,1254,2205,7535,1984,1115,677,464,340]
X4 = [-5,-4,-3,-2,-1,0,1,2,3,4,5]
Y4 = [293,478,681,1070,1819,6563,1750,953,583,410,287]

# X1 = [str(i) for i in X1]    #为了让每个值不被省略,把list中所有的元素都转化成str格式
# X2 = [str(i) for i in X2]    #为了让每个值不被省略,把list中所有的元素都转化成str格式
# X3 = [str(i) for i in X3]    #为了让每个值不被省略,把list中所有的元素都转化成str格式
# X4 = [str(i) for i in X4]    #为了让每个值不被省略,把list中所有的元素都转化成str格式

plt.figure()

# X1的分布
plt.plot(X1, Y1, label="X1", color="#FF3B1D", marker='*', linestyle="-")

# X2的分布
plt.plot(X2, Y2,label="X2",  color="#3399FF", marker='o', linestyle="-")

# X3的分布
plt.plot(X3, Y3, label="X3",  color="#F9A602", marker='s', linestyle="-")

# X4的分布
plt.plot(X4, Y4, label="X4",  color="#13C4A3", marker='d', linestyle="-")
# plt.gca().xaxis.set_major_locator(ticker.MultipleLocator(1))   # 将横坐标的值全部显示出来
X_labels = ['-5','-4','-3','-2','-1','0','1','2','3','4','5']
plt.xticks(X1,X_labels,rotation=20)
plt.legend()
plt.title("Lake.bmp")
plt.xlabel("X")
plt.ylabel("Y")
plt.show()

6. Enlace de referencia

    Existen principalmente los siguientes cuatro enlaces de referencia:
    (1) Función Python xticks() para establecer el método del eje X: escala, etiqueta
    (2) Dibujo de Python (plt.) ¿Qué debo hacer si se omite la abscisa del eje X ( interrumpido) | Cómo hacer que se muestren todos los valores x de la abscisa | Cómo ajustar el ángulo de la abscisa
    (3) Explicación detallada de los parámetros de matplotlib.pyplot.plot()
    (4) Análisis de datos de Python: dibujar gráficos de líneas y diagramas de dispersión

Supongo que te gusta

Origin blog.csdn.net/weixin_43981621/article/details/123095683
Recomendado
Clasificación