matplotlib / matplotlib/cycler

Allow getitem from a cycler

Ouverte
#27 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Langage dominant
Python
Étoiles
83
Forks
51
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

It would be useful to add `__getitem__` functionality to `cycler`.

The use case is a "crowded" for loop where you want to get the cycler style without using a loop variable. Something like:

```
data_cycler = cycler('alpha', (0.2, 0.4, 0.6)) + cycler('color', ('r', 'g', 'b'))
fit_cycler = cycler('color', ('k', 'm', 'orange'))

for i, (data, fit) in enumerate(zip(data_list, fit_list)):
...
plt.plot('x', 'y', data=data, data_cycler[i])
plt.plot('x', 'y', data=data, fit_cycler[i])
...
```

In this case the index `i` is computed anyway, so using it for the cyclers would be handy, instead of adding the cycler inside `zip()`.

Ideally `mycycler[i]` should return the item with index `i % len(mycycler)`.

I haven't looked at the code yet. Would this be possible? Would a PR be welcome?

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par lire l’implémentation de cycler et ses tests existants, en vous concentrant sur la façon dont les cycles sont parcourus et dont leur longueur est exposée. Ajoutez l’indexation avec le comportement modulo demandé et mettez à jour les tests pour montrer que mycycler[i] renvoie l’élément à la position i % len(mycycler).

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
tooling
Type d'issue
Fonctionnalité
Difficulté
3/5
Temps estimé
1-2 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.