Mop*_*per 8 python plot matplotlib
我仍然是python的新手,我想知道xy语句是否意味着y是x的子模块?如果是这样,那么命令不是:
import matplotlib.pyplot as plt
Run Code Online (Sandbox Code Playgroud)
只导入这个特定的子模块而没有别的?我必须这样做才能访问该hist功能.这对调用时正常导入的模块import matplotlib as plt有何影响?我可以在plt名称下将matplotlib中的所有模块放在一起吗?
我知道这个问题与从NumPy,matplotlib包导入python子模块之间的区别有什么不同但是这个问题的答案并没有告诉我matplotlib中是否有其他内容被导入以及如何导入所有matplotlib不用担心子模块被遗漏了.
看看这个代码库树:matplotlib包含一个代码库,而pyplot只是这个lib的一个文件.
import matplotlib
Run Code Online (Sandbox Code Playgroud)
将导入此仓库中的所有文件.例如,使用它:
import matplotlib as mpl
mpl.pyplot.plot(...)
Run Code Online (Sandbox Code Playgroud)
要导入pyplot:
from matplotlib import pyplot as plt
# or
import matplotlib.pyplot as plt
plt.plot(...)
Run Code Online (Sandbox Code Playgroud)
一个问题:你使用什么控制台?我想这是Ipython控制台还是什么的?
编辑:
要全部导入:
from matplotlib import *
pyplot(...)
Run Code Online (Sandbox Code Playgroud)
为什么我猜你正在使用Ipython?Ipython控制台默认在启动时从numpy和其他一些库导入所有模块,因此在Ipython控制台中你可以简单地使用:sqrt而不是import math; math.sqrt等等.默认情况下,在Ipython中导入matplotlib.
我不知道有什么方法可以从每个子模块导入所有函数。可以按照您建议的方式从子模块导入所有函数,例如from matplotlib.pyplot import *。
注意导入每个函数的潜在问题;您可以通过定义自己的同名函数来覆盖导入的函数。例如:
from matplotlib.pyplot import *
def plot():
print "Hello!"
plot()
Run Code Online (Sandbox Code Playgroud)
会输出
Hello!
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12742 次 |
| 最近记录: |