Démonstration de l'axe parasite #

Cet exemple illustre l'utilisation de l'axe parasite pour tracer plusieurs ensembles de données sur un seul tracé.

Remarquez comment dans cet exemple, par1 et par2 sont tous deux obtenus en appelant twinx(), ce qui lie leurs limites x avec l'axe x de l'hôte. À partir de là, chacun de ces deux axes se comporte séparément l'un de l'autre : différents ensembles de données peuvent être tracés et les limites y sont ajustées séparément.

Notez que cette approche utilise le mpl_toolkits.axes_grid1.parasite_axes' host_subplotet mpl_toolkits.axisartist.axislines.Axes. Une approche alternative utilisant les parasite_axes's HostAxeset ParasiteAxesest l' exemple de démonstration Parasite Axes . Une approche alternative utilisant les sous-parcelles Matplotlib habituelles est illustrée dans l' exemple Multiple Yaxis With Spines .

démo parasite axes2
from mpl_toolkits.axes_grid1 import host_subplot
from mpl_toolkits import axisartist
import matplotlib.pyplot as plt

host = host_subplot(111, axes_class=axisartist.Axes)
plt.subplots_adjust(right=0.75)

par1 = host.twinx()
par2 = host.twinx()

par2.axis["right"] = par2.new_fixed_axis(loc="right", offset=(60, 0))

par1.axis["right"].toggle(all=True)
par2.axis["right"].toggle(all=True)

p1, = host.plot([0, 1, 2], [0, 1, 2], label="Density")
p2, = par1.plot([0, 1, 2], [0, 3, 2], label="Temperature")
p3, = par2.plot([0, 1, 2], [50, 30, 15], label="Velocity")

host.set_xlim(0, 2)
host.set_ylim(0, 2)
par1.set_ylim(0, 4)
par2.set_ylim(1, 65)

host.set_xlabel("Distance")
host.set_ylabel("Density")
par1.set_ylabel("Temperature")
par2.set_ylabel("Velocity")

host.legend()

host.axis["left"].label.set_color(p1.get_color())
par1.axis["right"].label.set_color(p2.get_color())
par2.axis["right"].label.set_color(p3.get_color())

plt.show()

Galerie générée par Sphinx-Gallery