... | @@ -238,13 +238,12 @@ La méthode précédente fonctionne, mais elle a l'inconvénient de faire des ca |
... | @@ -238,13 +238,12 @@ La méthode précédente fonctionne, mais elle a l'inconvénient de faire des ca |
|
De même que précédemment, on va d'abord aller au plus simple, et comprendre le principe du Picker [en raisonnant en distances en coordonnées des données](https://gitlab.irstea.fr/christine.poulard/atelier-matplotlib/-/blob/master/test_picker_simple_avec_annotation.py). Ensuite, on va [comparer les résultats en distance "données" et "écran"](https://gitlab.irstea.fr/christine.poulard/atelier-matplotlib/-/blob/master/test_picker_pk6700_avec_annotation.py).
|
|
De même que précédemment, on va d'abord aller au plus simple, et comprendre le principe du Picker [en raisonnant en distances en coordonnées des données](https://gitlab.irstea.fr/christine.poulard/atelier-matplotlib/-/blob/master/test_picker_simple_avec_annotation.py). Ensuite, on va [comparer les résultats en distance "données" et "écran"](https://gitlab.irstea.fr/christine.poulard/atelier-matplotlib/-/blob/master/test_picker_pk6700_avec_annotation.py).
|
|
|
|
|
|
![sélection picker](uploads/510c61180d0c1d51a059871fed23ab1c/selection_picker.png)
|
|
![sélection picker](uploads/510c61180d0c1d51a059871fed23ab1c/selection_picker.png)
|
|
|
|
_comparaison des points sélectionnés avec chacune des 2 distances par rapport au clic de souris, matérialisé ici par une croix bleue_
|
|
|
|
|
|
Si on a plusieurs courbes, on peut ne lier le Picker qu'à certaines d'entre elles. Si plusieurs sont réceptives au Picker, la fonction liée sera déclenchée une fois pour chacune, ce qui empêche de calculer facilement "le" point le plus proche. Si vous ajoutez simplement une ou plusieurs courbes, l'action va être exécutée une fois par courbe "réceptive" ; pour notre objectif, cela ne permet pas de déterminer "LE" point le plus proche, mais un point par courbe. En plus, comme dans ce code on modifie une annotation vous ne verrez que le résultat pour la dernière courbe... Pour voir tous les résultats il faut une annotation par courbe, on ne donne pas notre code ici car c'est inutilement compliqué.
|
|
Si on a plusieurs courbes, on peut ne lier le Picker qu'à certaines d'entre elles. Si plusieurs sont réceptives au Picker, la fonction liée sera déclenchée une fois pour chacune, ce qui empêche de calculer facilement "le" point le plus proche. Si vous ajoutez simplement une ou plusieurs courbes, l'action va être exécutée une fois par courbe "réceptive" ; pour notre objectif, cela ne permet pas de déterminer "LE" point le plus proche, mais un point par courbe. En plus, comme dans ce code on modifie une annotation vous ne verrez que le résultat pour la dernière courbe... Pour voir tous les résultats il faut une annotation par courbe, on ne donne pas notre code ici car c'est inutilement compliqué.
|
|
Notre conclusion est que cette fonction semble intéressante quand il y a une seule courbe ; sinon le plus simple est d'utiliser l'événement MouseEvent, comme ci-dessus. Picker est sans doute adaptée à d'autres usages, comme identifier les courbes qui ont un point proche du clic de souris par exemple.
|
|
Notre conclusion est que cette fonction semble intéressante quand il y a une seule courbe ; sinon le plus simple est d'utiliser l'événement MouseEvent, comme ci-dessus. Picker est sans doute adaptée à d'autres usages, comme identifier les courbes qui ont un point proche du clic de souris par exemple.
|
|
|
|
|
|
|
|
|
|
_comparaison des points sélectionnés avec chacune des 2 distances par rapport au clic de souris, matérialisé ici par une croix bleue_
|
|
|
|
|
|
|
|
### 1. il faut rendre l'objet attentif au clic de souris...
|
|
### 1. il faut rendre l'objet attentif au clic de souris...
|
|
|
|
|
|
```python
|
|
```python
|
... | | ... | |