Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Conversation

@anntzer
Copy link
Contributor

@anntzer anntzer commented Feb 11, 2022

plot([], [], foo=42) previously emitted

'Line2D' object has no property 'foo'

which refers to the Matplotlib-specific concept of "properties". It now
instead emits

Line2D.set() got an unexpected keyword argument 'foo'

which is modeled after the standard error message for unknown keyword
arguments.

(To maximize backcompat, the implementation goes through a new
_internal_update, which does not error when the same prop is passed
under different aliases. This could be changed later, but is not the
goal of this PR.)

(This was triggered by https://discourse.matplotlib.org/t/line2d-object-has-no-property-line-error/22585)

PR Summary

PR Checklist

Tests and Styling

  • Has pytest style unit tests (and pytest passes).
  • Is Flake 8 compliant (install flake8-docstrings and run flake8 --docstring-convention=all).

Documentation

  • New features are documented, with examples if plot related.
  • New features have an entry in doc/users/next_whats_new/ (follow instructions in README.rst there).
  • API changes documented in doc/api/next_api_changes/ (follow instructions in README.rst there).
  • Documentation is sphinx and numpydoc compliant (the docs should build without error).

lib/matplotlib/artist.py Outdated Show resolved Hide resolved
lib/matplotlib/artist.py Outdated Show resolved Hide resolved
lib/matplotlib/artist.py Outdated Show resolved Hide resolved
lib/matplotlib/artist.py Show resolved Hide resolved
lib/matplotlib/collections.py Outdated Show resolved Hide resolved
lib/matplotlib/artist.py Show resolved Hide resolved
`plot([], [], foo=42)` previously emitted
```
'Line2D' object has no property 'foo'
```
which refers to the Matplotlib-specific concept of "properties".  It now
instead emits
```
Line2D.set() got an unexpected keyword argument 'foo'
```
which is modeled after the standard error message for unknown keyword
arguments.

(To maximize backcompat, the implementation goes through a new
_internal_update, which does *not* error when the same prop is passed
under different aliases.  This could be changed later, but is not the
goal of this PR.)
@QuLogic QuLogic added this to the v3.6.0 milestone Feb 15, 2022
@QuLogic QuLogic merged commit e6794de into matplotlib:main Feb 15, 2022
@anntzer anntzer deleted the badkwerr branch February 15, 2022 11:24
yuzie007 added a commit to yuzie007/mpltern that referenced this pull request Feb 19, 2023
While `offset_transform` is introduced since `matplotlib>=3.6.0`,
(matplotlib/matplotlib#21965), `transOffset` can still be used. Also,
instead of `_internal_update` (matplotlib/matplotlib#22451), `update`
can still be used.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.