Dans cette discussion j'ai essayé de résoudre un problème dans le traçage des limites pour l'axe des y, après que la twiny()
fout mon tracé. Je pensais ceci:
ax.set_ylim([y.min()-0.05, y.max()+0.05])
était une bonne solution. Et c'est probablement le cas pour un ensemble continu de données. Comme je l'ai dit dans cette discussion, de toute façon, mes données sont bruyantes et parfois avec des lacunes. Il arrive donc que certaines plages tracées n'aient pas de données. Dans ce cas, naturellement, l'utilisation de la .min()
déclenche l'erreur:
ValueError: zero-size array to reduction operation minimum which has no identity
parce que le tableau est vide. Comment contourner cela, de sorte que le code ne se soucie tout simplement pas de mettre des limites sur l'axe des y? (En espérant que ce soit le seul problème que le tableau vide causera)
Attrapez simplement l'exception et ignorez-la:
try:
ax.set_ylim([y.min()-0.05, y.max()+0.05])
except ValueError: #raised if `y` is empty.
pass