English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

接口面向对象Matplotlib

Aunque es fácil generar dibujos rápidamente usando el módulo matplotlib.pyplot, se recomienda usar el método orientado a objetos porque permite un mejor control y personalización de los dibujos. También se proporcionan la mayoría de las funciones en la clase matplotlib.axes.Axes.

La idea principal detrás de usar un método orientado a objetos más formal es crear un objeto gráfico y luego llamar solo a los métodos o propiedades de ese objeto. Este método ayuda a manejar mejor los lienzo que tienen múltiples dibujos.

En la interfaz orientada a objetos, Pyplot se utiliza solo para algunas funciones, como la creación de gráficos, la creación y el seguimiento explícito de objetos gráficos y ejes por parte del usuario. En este nivel, el usuario crea gráficos a través de los cuales se pueden crear uno o más objetos ejes. Luego, estos objetos ejes se utilizan para la mayoría de las operaciones de dibujo.

Primero, cree una instancia de gráfico que proporcione un lienzo vacío.

# Nombre de archivo: example.py
# Derechos de autor : 2020 Por w3codebox
# Autor por: es.oldtoolbag.com
# Fecha : 2020-08-08
fig = plt.figure()

Agregar el eje al gráfico. El método add_axes() necesita un4un objeto lista de elementos, que corresponde a la izquierda, la parte inferior, el ancho y la altura del gráfico. Cada número debe estar entre 0 y1entre -

# Nombre de archivo: example.py
# Derechos de autor : 2020 Por w3codebox
# Autor por: es.oldtoolbag.com
# Fecha : 2020-08-08
ax=fig.add_axes([0,0,1,1])

Configurar las etiquetas del eje x e y y el título -

# Nombre de archivo: example.py
# Derechos de autor : 2020 Por w3codebox
# Autor por: es.oldtoolbag.com
# Fecha : 2020-08-08
ax.set_title("onda sinusoidal")
 ax.set_xlabel('angle')
 ax.set_ylabel('sine')

llame al método plot() del objeto axes.

# Nombre de archivo: example.py
# Derechos de autor : 2020 Por w3codebox
# Autor por: es.oldtoolbag.com
# Fecha : 2020-08-08
ax.plot(x,y)

Si se utiliza Jupyter notebooksi es necesario, agregar la instrucción %matplotlib inline; la función show() del módulo pyplot muestra el gráfico.

Leer y ejecutar el siguiente código -

# Nombre de archivo: example.py
# Derechos de autor : 2020 Por w3codebox
# Autor por: es.oldtoolbag.com
# Fecha : 2020-08-08
#! /usr/bin/env python
 #coding=utf-8
 from matplotlib import pyplot as plt
 import numpy as np
 import math
 # Mostrar configuración de chino...
 plt.rcParams['font.sans']-fuente serif] = ['SimHei'] # Paso uno (reemplazo de sans)-fuente serif)
 plt.rcParams['axes.unicode_minus'] = False # Paso dos (solución al problema de visualización de números negativos en el eje de coordenadas)
 %matplotlib inline
 x = np.arange(0, math.pi*2, 0.05])
 y = np.sin(x)
 fig = plt.figure()
 ax = fig.add_axes([0,0,1,1])
 ax.plot(x,y)
 ax.set_title("Onda senoidal")
 ax.set_xlabel('Ángulo')
 ax.set_ylabel('Seno')
 plt.show()

El código de la línea superior genera la siguiente salida -

en Jupyter notebookdel código que se ejecuta en el entorno de ejecución similar -

# Nombre de archivo: example.py
# Derechos de autor : 2020 Por w3codebox
# Autor por: es.oldtoolbag.com
# Fecha : 2020-08-08
#! /usr/bin/env python
 #coding=utf-8
 from matplotlib import pyplot as plt
 import numpy as np
 import math
 # Mostrar configuración de chino...
 plt.rcParams['font.sans']-fuente serif] = ['SimHei'] # Paso uno (reemplazo de sans)-fuente serif)
 plt.rcParams['axes.unicode_minus'] = False # Paso dos (solución al problema de visualización de números negativos en el eje de coordenadas)
 %matplotlib inline
 x = np.arange(0, math.pi*2, 0.05])
 y = np.sin(x)
 fig = plt.figure()
 ax = fig.add_axes([0,0,1,1])
 ax.plot(x,y)
 ax.set_title("Onda senoidal")
 ax.set_xlabel('Ángulo')
 ax.set_ylabel('Seno')
 plt.show()

Mostrar salida como se muestra a continuación -