Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Support empty stairs. #19426

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Feb 3, 2021
Merged

Support empty stairs. #19426

merged 1 commit into from
Feb 3, 2021

Conversation

anntzer
Copy link
Contributor

@anntzer anntzer commented Feb 2, 2021

PR Summary

Closes #18934 (although @timhoffm has argued against supporting this case).

PR Checklist

  • Has pytest style unit tests (and pytest passes).
  • Is Flake 8 compliant (run flake8 on changed files to check).
  • New features are documented, with examples if plot related.
  • Documentation is sphinx and numpydoc compliant (the docs should build without error).
  • Conforms to Matplotlib style conventions (install flake8-docstrings and run flake8 --docstring-convention=all).
  • 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).

@anntzer anntzer added the Release critical For bugs that make the library unusable (segfaults, incorrect plots, etc) and major regressions. label Feb 2, 2021
@anntzer anntzer added this to the v3.4.0 milestone Feb 2, 2021
@dstansby
Copy link
Member

dstansby commented Feb 2, 2021

I'm struggling to think of a use case (I don't quite understand the discussion in #18934) for this, but also can't think of a good reason not to allow it through.

Could you add a little bit to the current test to check that autoscaling works correctly, ie. that

  • y-lims are unchanged
  • x-lims are autoscaled appropriately

@anntzer
Copy link
Contributor Author

anntzer commented Feb 2, 2021

I'm struggling to think of a use case

I have some process whose output is a stepwise constant function (f(x) = y0 from x0 to x1, = y1 from x1 to x2, etc.), so it can naturally be plotted using stairs(). Depending on the conditions, sometimes the process generates zero steps (so there's an x0 and things immediately stop, without even generating a y0). To handle that case I need stairs to support empty y's.

add a little bit to the current test

Sure.

@tacaswell tacaswell merged commit a2b924c into matplotlib:master Feb 3, 2021
@anntzer anntzer deleted the es branch February 3, 2021 22:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Release critical For bugs that make the library unusable (segfaults, incorrect plots, etc) and major regressions.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

stairs() crashes with no values and one edge
4 participants