Use diferentes ejes y a la izquierda y a la derecha de un diagrama de Matplotlib

En este artículo, vamos a discutir cómo crear ejes y de ambos lados de un diagrama de Matplotlib.

A veces, para un análisis rápido de datos, se requiere crear un solo gráfico que tenga dos variables de datos con diferentes escalas. Para este propósito , se utilizan métodos de ejes gemelos , es decir, ejes dobles X o Y. La función matplotlib.axes.Axes.twinx() en el módulo de ejes de la biblioteca matplotlib se usa para crear ejes gemelos que comparten el eje X.

Sintaxis:

matplotlib.axes.Axes.twinx(self)

Este método no toma ningún parámetro, genera un error si se proporciona. Devuelve el objeto ax_twin que indica que se crea una nueva instancia de Axes. Los siguientes ejemplos ilustran la función matplotlib.axes.Axes.twinx() en matplotlib.axes :

Ejemplo 1:

Python3

# import libraries
import numpy as np
import matplotlib.pyplot as plt
 
# Creating dataset
x = np.arange(1.0, 100.0, 0.191)
dataset_1 = np.exp(x**0.25) - np.exp(x**0.5)
dataset_2 = np.sin(0.4 * np.pi * x**0.5) + np.cos(0.8 * np.pi * x**0.25)
 
# Creating plot with dataset_1
fig, ax1 = plt.subplots()
 
color = 'tab:red'
ax1.set_xlabel('X-axis')
ax1.set_ylabel('Y1-axis', color = color)
ax1.plot(x, dataset_1, color = color)
ax1.tick_params(axis ='y', labelcolor = color)
 
# Adding Twin Axes to plot using dataset_2
ax2 = ax1.twinx()
 
color = 'tab:green'
ax2.set_ylabel('Y2-axis', color = color)
ax2.plot(x, dataset_2, color = color)
ax2.tick_params(axis ='y', labelcolor = color)
 
# Adding title
plt.title('Use different y-axes on the left and right of a Matplotlib plot', fontweight ="bold")
 
# Show plot
plt.show()

Producción:

Ejemplo 2:

Python3

# import libraries
import numpy as np
import matplotlib.pyplot as plt
from matplotlib import rc
rc('mathtext', default='regular')
 
# Creating dataset
x = np.arange(10)
dataset_1 = np.random.random(10)*30
dataset_2 = np.random.random(10)*60
dataset_3 = np.random.random(10)*100
 
# Creating figure
fig = plt.figure()
 
# Plotting dataset_2
ax = fig.add_subplot(111)
ax.plot(x, dataset_2, '-', label='dataset_2')
ax.plot(x, dataset_3, '-', label='dataset_3')
 
# Creating Twin axes for dataset_1
ax2 = ax.twinx()
ax2.plot(x, dataset_1, '-r', label='dataset_1')
 
# Adding title
plt.title('Use different y-axes on the left and right of a Matplotlib plot',
          fontweight="bold")
 
# Adding legend
ax.legend(loc=0)
ax2.legend(loc=0)
 
# adding grid
ax.grid()
 
# Adding labels
ax.set_xlabel("X-axis")
ax.set_ylabel(r"Y1-axis")
ax2.set_ylabel(r"Y2-axis")
 
# Setting Y limits
ax2.set_ylim(0, 35)
ax.set_ylim(-20, 100)
 
# Show plot
plt.show()

Producción:

Publicación traducida automáticamente

Artículo escrito por jeeteshgavande30 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *