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

pylab imports replaced with matplotlib.pyplot, as strongly recommended #302

Merged
merged 1 commit into from
Jan 8, 2025

Conversation

alhom
Copy link
Contributor

@alhom alhom commented Jan 8, 2025

From matplotlib:

pylab is a historic interface and its use is strongly discouraged. The equivalent replacement is matplotlib.pyplot. See Matplotlib Application Interfaces (APIs) for a full overview of Matplotlib interfaces.

pylab was designed to support a MATLAB-like way of working with all plotting related functions directly available in the global namespace. This was achieved through a wildcard import (from pylab import *).

The use of pylab is discouraged for the following reasons:

from pylab import * imports all the functions from matplotlib.pyplot, numpy, numpy.fft, numpy.linalg, and numpy.random, and some additional functions into the global namespace.

Such a pattern is considered bad practice in modern python, as it clutters the global namespace. Even more severely, in the case of pylab, this will overwrite some builtin functions (e.g. the builtin sum will be replaced by numpy.sum), which can lead to unexpected behavior.

@alhom alhom merged commit c34c6a3 into fmihpc:master Jan 8, 2025
8 checks passed
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.

1 participant