[Bug]: missing return type from pyplot.subplot overloads
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 1/5
- Temps estimé
- Moins d'une heure
- Accessibilité débutants
- 78/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- python
- Domaine
- data-visualization
Piste de recherche
Les surcharges subplot se trouvent dans lib/matplotlib/pyplot.py autour des lignes 1485-1499, et le rapporteur y renvoie. Compare-les à la signature réelle de subplot, qui déclare déjà un type de retour, et ajoute la même annotation de retour à chaque @overload. Exécute ensuite le script de reproduction avec un vérificateur de types comme pyrefly ou mypy pour confirmer que l'erreur NoneType a disparu.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Bug summary
The overloads for the subplot function don't have the return type annotation as the real function signature does:
This confuses pyrefly (an I suppose other type checkers, too), believing that the function returns None.
Code for reproduction
from matplotlib import pyplot as plt
ax = plt.subplot(122, aspect="equal")
ax.set_xlim(-100, 100)
Actual outcome
running pyrefly check script.py returns this:
ERROR Object of class `NoneType` has no attribute `set_xlim` [missing-attribute]
--> mre.py:4:1
|
4 | ax.set_xlim(-100, 100)
| ^^^^^^^^^^^
INFO 1 error
Expected outcome
No type checking errors should be returned.
Additional information
Not sure when this issue surfaced, since I previously used mypy with ignored imports from matplotlib (I set this up a while ago when matplotlib typing and stubs were not available).
All the overloads need to have the return type, even if it is the same as the main function signature.
I didn't check, but this issue may be present in other places.
Operating system
not relevant
Matplotlib Version
3.11.2
Matplotlib Backend
not relevant
Python version
not relevant
Jupyter version
not relevant
Installation
uv
- Langage dominant
- Python
- Étoiles
- 23.4k
- Forks
- 8.5k
- Merge moyen
- 1 j 11 h
- PR mergées (30 j)
- 75
Préparer son environnement
Lance le conteneur de développement du projet dans votre navigateur, avec votre propre compte GitHub.
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de matplotlib/matplotlib
-
[Bug]: twin axes ignore the navigation opt-outsPeut-être pris @NaumanRafay l’a pris il y a 7 jours. Ouvertetopic: toolbar
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
matplotlib/matplotlib#32528 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: `boxplot_stats` raises IndexError when all values are maskedPeut-être pris @mansi-tomar-sudo l’a pris il y a 13 jours. Ouvertefirst-contribution status: confirmed bug
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
matplotlib/matplotlib#32508 · 6 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: macOS font discovery raises KeyError('_items') for an incomplete system_profiler font recordOuvertefirst-contribution OS: Apple status: needs clarification topic: text/fonts
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
matplotlib/matplotlib#32328 · 4 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: Modifying NumPy array after passing to set_xticks() unexpectedly alters plot ticksPeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouvertetopic: ticks axis labels
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
matplotlib/matplotlib#32313 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
[Bug]: boxplot errors when `x` and `tick_labels` are emptyPeut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouvertetopic: plotting methods topic: ticks axis labels
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
matplotlib/matplotlib#32304 · 4 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de matplotlib/matplotlib
Issues similaires
-
Backend issue lists report in-patch warnings and out-of-patch errors as not publishablePeut-être pris @RaphaelFakhri l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
mozilla/code-review#3794 ·
Les mainteneurs répondent en général sous 1 jour
-
[oblt-aw][autodoc] Update docs that still describe the security registry as emptyPeut-être pris @github-actions l’a pris aujourd’hui. Ouverte
Difficulté 1/5 1-3 heures Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour
-
[Bug] adb backup script reports "Done" & exits 0 when the backup failsPeut-être pris @bhattmanthan l’a pris aujourd’hui. Ouverterequest-issue-assignment
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
OWASP/mastg#4034 · 5 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
agent-ui bug p2
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
amd/gaia#6580 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
correction metadata
Difficulté 1/5 Moins d'une heure Accessibilité débutants 72/100
acl-org/acl-anthology#10768 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour