X Tutup
Skip to content

Various examples updates.#10326

Merged
jklymak merged 1 commit intomatplotlib:masterfrom
anntzer:examples
Jan 27, 2018
Merged

Various examples updates.#10326
jklymak merged 1 commit intomatplotlib:masterfrom
anntzer:examples

Conversation

@anntzer
Copy link
Copy Markdown
Contributor

@anntzer anntzer commented Jan 26, 2018

  • don't import out of pyplot or numpy, import as plt/np.
  • move some examples to use subplots() instead of add_subplot.
  • set random seed for some examples.
  • fix some docstrings.

PR Summary

PR Checklist

  • Has Pytest style unit tests
  • Code is PEP 8 compliant
  • New features are documented, with examples if plot related
  • Documentation is sphinx and numpydoc compliant
  • Added an entry to doc/users/next_whats_new/ if major new feature (follow instructions in README.rst there)
  • Documented in doc/api/api_changes.rst if API changed in a backward-incompatible way

@anntzer anntzer added this to the v2.2 milestone Jan 26, 2018

fig = plt.figure(1, figsize=(6, 3))
fig, (ax1, ax2) = plt.subplots(1, 2)
fig.subplots_adjust(wspace=0.5)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Could be added to subplots via gridspec_kw.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Not convinced it's an improvement in legibility...

import matplotlib.pyplot as plt
from numpy import nonzero
from numpy.random import rand
from matplotlib import colors as mcolors, path, pyplot as plt
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Not sure if mixed import and import as are easy to read.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

disagree, but still split it out

"""
from matplotlib.pyplot import figure, show

from matplotlib import pyplot as plt
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

import matplotlib.pyplot as plt (also in various other locations, please search/replace)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

fixed

# plot specifying units
ax2.plot(x, y, 'o', xunits=2.0)
ax2.set_title("xunits = 2.0")
plt.setp(ax2.get_xticklabels(), rotation=30, ha='right')
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Broadcasting explicitly to a list of tick labels feels a bit clumsy. Is there maybe a method to set this for all tick labels, e.g. tick_params or similar?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

tick_params can set labelrotation, but not horizontalalignment (and I don't think it's worth changing that, IMO setp actually does this job perfectly well...).

label.set_ha('right')
ax1.plot(x, y) # uses default units
ax1.set_title('default units')
plt.setp(ax1.get_xticklabels(), rotation=30, ha='right')
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

see above

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

ditto

t = arange(0.0, 3.0, 0.01)
s = sin(2*pi*t)
t = np.arange(0.0, 3.0, 0.01)
s = np.sin(2*np.pi*t)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Do we have a convention, if this should include spaces around the operators? PEP8 would want them. Throughout the examples both variants are used.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

See discussion at #7562 (comment) which I now agree with: I still believe spaces are in general good, but in some cases no spaces read better.
See also https://www.python.org/dev/peps/pep-0008/#other-recommendations ("use your own judgment", hehe).

Copy link
Copy Markdown
Member

@jklymak jklymak left a comment

Choose a reason for hiding this comment

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

These changes are all fine +/- @timhoffm suggestions. Probably could make more, but overall the movement away from the pyplot interface is helpful.

- don't import out of pyplot or numpy, import as plt/np.
- move some examples to use subplots() instead of add_subplot.
- set random seed for some examples.
- fix some docstrings.
@jklymak jklymak merged commit 358e087 into matplotlib:master Jan 27, 2018
@anntzer anntzer deleted the examples branch January 27, 2018 06:04
@QuLogic QuLogic modified the milestones: needs sorting, v2.2.0 Feb 12, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

X Tutup