Noter
Cliquez ici pour télécharger l'exemple de code complet
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_subplot
et
mpl_toolkits.axisartist.axislines.Axes
. Une approche alternative utilisant les
parasite_axes
's
HostAxes
et
ParasiteAxes
est 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 .
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()