Skip to content
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

Cleanup stem docs and simplify implementation. #18937

Merged
merged 1 commit into from Nov 14, 2020
Merged

Conversation

anntzer
Copy link
Contributor

@anntzer anntzer commented Nov 11, 2020

On the implementation side, we can use vlines/hlines to generate the
correct LineCollection.

On the documentation side, it seems perfectly valid to only specify a
linestyle and no color in linefmt (e.g.
stem([0, 1], [2, 3], linefmt="-.") works just fine). On the other
hand markers are indeed silently dropped (possibly we could emit a
warning there, but that should be another PR). So reword accordingly;
and also slighly reword the doc for markerfmt.

Noted while reviewing #18310.
@timhoffm You wrote in #10154 that just setting the linestyle (-.) is "beyond the intention of the method" but did I miss something?

PR Summary

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).

On the implementation side, we can use `vlines`/`hlines` to generate the
correct `LineCollection`.

On the documentation side, it seems perfectly valid to only specify a
linestyle and no color in `linefmt` (e.g.
`stem([0, 1], [2, 3], linefmt="-.")` works just fine).  On the other
hand markers are indeed silently dropped (possibly we could emit a
warning there, but that should be another PR).  So reword accordingly;
and also slighly reword the doc for `markerfmt`.
@timhoffm
Copy link
Member

@timhoffm You wrote in #10154 that just setting the linestyle (-.) is "beyond the intention of the method" but did I miss something?

Seems like an error on my side, probably should have been '-o'. The new wording is ok.

label='_nolegend_')
self.add_collection(stemlines)
xlines = self.vlines if orientation == "vertical" else self.hlines
stemlines = xlines(
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to be sure:

            self.update_datalim(corners)
            self._request_autoscale_view()

used in xlines does not have any unintended side-effect?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are always going to plot the markers and the baseline, which necessarily bracket the stemlines, so the autolims set by the markers and baseline will be as big as those set by the stemlines anyways.

@QuLogic QuLogic merged commit 17c82a3 into matplotlib:master Nov 14, 2020
@QuLogic QuLogic added this to the v3.4.0 milestone Nov 14, 2020
@anntzer anntzer deleted the stem branch November 14, 2020 11:46
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.

None yet

3 participants