twinx e twiny in Matplotlib
-
matplotlib.axes.Axes.twinx()
in Matplotlib Python -
matplotlib.axes.Axes.twiny()
in Matplotlib Python -
Matplotlib Usa
twinx()
etwiny()
insieme
Questo tutorial spiega come possiamo creare assi gemelli in Matplotlib con asse X o asse Y comune usando matplotlib.axes.Axes.twinx()
e matplotlib.axes.Axes.twiny()
in Python.
matplotlib.axes.Axes.twinx()
in Matplotlib Python
La funzione matplotlib.axes.Axes.twinx()
crea altri assi in una figura Matplotlib che condividono il comune asse X
con gli assi iniziali.
import matplotlib.pyplot as plt
students = ["Anil", "Sohit", "Hrishav", "Ayush", "Sunil"]
heights_in_cms = [165, 160, 140, 150, 130]
fig, axes = plt.subplots()
fig.set_size_inches(8, 6)
axes.bar(students, heights_in_cms)
y1, y2 = axes.get_ylim()
axes.set_xlabel("Students", fontsize=12)
axes.set_ylabel("Height in cms", fontsize=12)
twin_axes = axes.twinx()
twin_axes.set_ylim(y1 * 0.394, y2 * 0.394)
twin_axes.set_ylabel("Height in Inches", fontsize=12)
fig.suptitle("Plot using matplotlib.axes.Axes.twinx()", fontsize=15)
plt.show()
Produzione:
Crea un grafico a barre dell’altezza degli studenti. Le etichette dell’asse Y a sinistra rappresentano l’altezza degli studenti in cm
mentre le etichette dell’asse Y a destra rappresentano l’altezza degli studenti in inches
.
In questo caso, creiamo un nuovo asse, twin_axes
, condividendo l’asse X con gli axes
. L’asse Y di axes
ha la sua etichetta impostata su Height in cms
mentre l’Asse Y
di twin_axes
è impostato su Height in Inches
.
matplotlib.axes.Axes.twiny()
in Matplotlib Python
La funzione matplotlib.axes.Axes.twiny()
crea altri assi in una figura Matplotlib che condividono l’asse Y comune con gli assi iniziali.
import matplotlib.pyplot as plt
distance_in_kms = [10, 20, 30, 40, 50]
fare_in_dollars = [2, 3.5, 5, 7, 10]
fig, axes = plt.subplots()
fig.set_size_inches(10, 8)
axes.plot(distance_in_kms, fare_in_dollars)
x1, x2 = axes.get_xlim()
axes.set_xlabel("Distance in kms", fontsize=12)
axes.set_ylabel("Fare ($)", fontsize=12)
twin_axes = axes.twiny()
twin_axes.set_xlim(x1 * 0.62, x2 * 0.62)
twin_axes.set_xlabel("Distance in miles", fontsize=12)
fig.suptitle("Plot using matplotlib.axes.Axes.twiny()", fontsize=15)
plt.show()
Produzione:
Creiamo un nuovo asse, twin_axes
, condividendo l’asse Y con gli axes
. L’asse X di axes
ha la sua etichetta impostata su Distance in kms
mentre l’asse X di twin_axes
è impostata su Distance in miles
.
Matplotlib Usa twinx()
e twiny()
insieme
import matplotlib.pyplot as plt
distance_in_kms = [10, 20, 30, 40, 50]
fare_in_dollars = [2, 3.5, 5, 7, 10]
fig, axes = plt.subplots()
fig.set_size_inches(10, 8)
axes.plot(distance_in_kms, fare_in_dollars)
x1, x2 = axes.get_xlim()
y1, y2 = axes.get_ylim()
axes.set_xlabel("Distance in kms", fontsize=12)
axes.set_ylabel("Fare ($)", fontsize=12)
twin_axes = axes.twinx().twiny()
twin_axes.set_ylim(y1 * 0.85, y2 * 0.85)
twin_axes.set_ylabel("Fare in Euros", fontsize=12)
twin_axes.set_xlim(x1 * 0.62, x2 * 0.62)
twin_axes.set_xlabel("Distance in miles", fontsize=12)
fig.suptitle("Matplotlib use twinx() and twiny() together", fontsize=15)
plt.show()
Produzione:
Crea una figura Matplotlib con segni di graduazione su tutti i lati della figura. Gli axes
controlleranno l’asse X sinistro e l’asse Y inferiore, mentre i twin_axes
controlleranno l’asse X destro e l’asse Y superiore.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn