What is the difference between importing matplotlib and matplotlib.pyplot?

别等时光非礼了梦想. 提交于 2021-02-07 12:18:31

问题


I'm still fairly new to python and am wondering if the x.y statement means y is a submodule of x? And if so, doesn't the command:

import matplotlib.pyplot as plt

only import this particular submodule and nothing else? I had to do this in order to get access to the hist function. How does that affect the modules normally imported when calling import matplotlib as plt? Can I get all the modules in matplotlib together under the plt name?

I'm aware that this question is related to what is the difference between importing python sub-modules from NumPy, matplotlib packages But the answer in this question does not tell me if nothing else in matplotlib is imported and how to just import all of matplotlib without worrying about submodules being left out.


回答1:


I don't know of any way to import all the functions from every submodule. Importing all the functions from a submodule is possible the way you suggested with e.g. from matplotlib.pyplot import *.

Be noted of a potential problem with importing every function; you may override imported functions by defining your own functions with the same name. E.g:

from matplotlib.pyplot import *

def plot():
    print "Hello!"

plot()

would output

Hello!



回答2:


Have a look at this codebase tree: matplotlib contains a library of code, while pyplot is only a file of this lib.

import matplotlib

will imports all the files inside this repo. For example to use it:

import matplotlib as mpl
mpl.pyplot.plot(...)

To import pyplot:

from matplotlib import pyplot as plt
# or
import matplotlib.pyplot as plt
plt.plot(...)

One question for you: what console do you use? I guess it's Ipython console or something?

Edit:

To import all:

from matplotlib import *
pyplot(...)

Why do I guess you are using Ipython? Ipython console imports all modules from numpy and some other libraries by default on launch, so that in Ipython console you can simple use: sqrt, instead of import math; math.sqrt, etc. matplotlib is imported in Ipython be default.




回答3:


I had conda installed, which has added stuff to ~/.bashrc.

Commenting that made it work for me.



来源:https://stackoverflow.com/questions/36661876/what-is-the-difference-between-importing-matplotlib-and-matplotlib-pyplot

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!