Requisitos previos: Matplotlib , NumPy
Las representaciones gráficas son siempre fáciles de entender y se adoptan y son preferibles a cualquier comunicación escrita o verbal. Con Matplotlib podemos dibujar diferentes tipos de datos gráficos. En este artículo, intentaremos comprender cómo podemos crear un hermoso gráfico usando matplotlib y crear un gráfico animado en 3D usando Matplotlib.
Acercarse:
- Importar módulo requerido.
- Crear una figura 3d
- Crear datos de muestra
- Animar 360 vistas del gráfico.
- Mostrar gráfico.
Paso 1: Importar biblioteca.
Python3
from numpy import linspace import matplotlib.pyplot as plt from mpl_toolkits import mplot3d
Paso 2: El propósito de usar plt.figure() es crear un objeto de figura. Usaremos plt.axes() para crear conjuntos separados de ejes en los que dibujará cada uno.
Python3
from numpy import linspace import matplotlib.pyplot as plt from mpl_toolkits import mplot3d fig = plt.figure(figsize = (8,8)) ax = plt.axes(projection = '3d')
Paso 3: En este paso, crearemos nuestros datos y trazaremos diferentes gráficos.
Python3
from numpy import linspace import matplotlib.pyplot as plt from mpl_toolkits import mplot3d from scipy import signal fig = plt.figure(figsize = (8,8)) ax = plt.axes(projection='3d') t = np.linspace(0, 1, 1000, endpoint=True) ax.plot3D(t, signal.square(2 * np.pi * 5 * t))
Paso 4: movimiento de 360 grados del gráfico.
view_init(elev=, azim=) Esto se puede usar para rotar los ejes programáticamente. ‘elev’ almacena el ángulo de elevación en el plano z. ‘azim’ almacena el ángulo de acimut en el constructor x,y plane.D. La función dibujar() en el módulo pyplot de la biblioteca matplotlib se usa para volver a dibujar la figura actual
Python3
from numpy import linspace import matplotlib.pyplot as plt from mpl_toolkits import mplot3d from scipy import signal fig = plt.figure(figsize = (8,8)) ax = plt.axes(projection='3d') t = np.linspace(0, 1, 1000, endpoint=True) ax.plot3D(t, signal.square(2 * np.pi * 5 * t)) for angle in range(0, 360): ax.view_init(angle,30) plt.draw() plt.pause(.001)
Ejemplo 1: En este ejemplo, trazamos una onda cuadrada y veremos su vista de 360 grados.
Linspace(): una función de linspace es una herramienta en Python para crear secuencias numéricas. La función plot3D() de la biblioteca matplotlib se usa para hacer un trazado 3D.
Python3
from numpy import linspace import numpy as np import matplotlib.pyplot as plt from mpl_toolkits import mplot3d from scipy import signal # Creating 3D figure fig = plt.figure(figsize = (8, 8)) ax = plt.axes(projection = '3d') # Creating Dataset t = np.linspace(0, 1, 1000, endpoint = True) ax.plot3D(t, signal.square(2 * np.pi * 5 * t)) # 360 Degree view for angle in range(0, 360): ax.view_init(angle, 30) plt.draw() plt.pause(.001) plt.show()
Producción:
Ejemplo 2: En este ejemplo, trazamos un gráfico en espiral y veremos su vista de 360 grados.
Python3
from numpy import linspace import numpy as np import matplotlib.pyplot as plt from mpl_toolkits import mplot3d from scipy import signal # Creating 3D figure fig = plt.figure(figsize = (8,8)) ax = plt.axes(projection='3d') # Creating Dataset z = np.linspace(0, 15, 1000) x = np.sin(z) y = np.cos(z) ax.plot3D(x, y, z, 'green') # 360 Degree view for angle in range(0, 360): ax.view_init(angle, 30) plt.draw() plt.pause(.001) plt.show()
Producción:
Ejemplo 3: En este ejemplo, mostraremos el gráfico de parábola.
plt.rcParams(axes.prop_cycle): – Llamar a ‘axes.prop_cycle’ que devuelve un itertools.cycle.
Linspace(): una función de linspace es una herramienta en Python para crear secuencias numéricas.
Python3
from numpy import linspace import numpy as np import matplotlib.pyplot as plt from mpl_toolkits import mplot3d from scipy import signal # Creating 3D figure fig = plt.figure(figsize = (8,8)) ax = plt.axes(projection = '3d') # Creating Dataset color_cycle = plt.rcParams['axes.prop_cycle']() x = linspace(0, 1, 51) a = x*( 1 - x) b = 0.25 - a c = x*x*(1 - x) d = 0.25-c ax.plot3D(x, a, **next(color_cycle)) # 360 Degree view for angle in range(0, 360): ax.view_init(angle, 30) plt.draw() plt.pause(.001) plt.show()
Producción: