仅导入matplotlib时pyplot是否被导入?matplotlib与pyplot导入区别
问题解答:仅导入matplotlib时pyplot是否会被一并导入?
不会。当你只执行import matplotlib语句时,pyplot子模块并不会自动被加载,这就是你遇到AttributeError: module 'matplotlib' has no attribute 'pyplot'错误的核心原因。
matplotlib采用模块化架构设计,主模块仅加载最基础的核心功能,不会自动导入所有子模块(包括pyplot)。要使用pyplot的绘图功能,必须显式导入它。
你的代码问题修正
你当前的代码把matplotlib别名为plt,然后试图通过plt.pyplot.plot调用绘图函数,这是错误的。正确的写法有两种:
写法一:直接导入pyplot并设置别名(最常用)
import numpy as np import matplotlib.pyplot as plt # 显式导入pyplot并别名为plt print(np.sin(180)) x_sin = np.arange(0, 3*3.14, 0.1) print(x_sin) y_sin = np.sin(x_sin) print(y_sin) plt.plot(x_sin, y_sin) # 直接用plt调用plot方法 plt.show() # 必须调用show()才能显示绘制的图像
写法二:先导入matplotlib,再手动导入pyplot
import numpy as np import matplotlib import matplotlib.pyplot # 手动导入pyplot子模块 print(np.sin(180)) x_sin = np.arange(0, 3*3.14, 0.1) print(x_sin) y_sin = np.sin(x_sin) print(y_sin) matplotlib.pyplot.plot(x_sin, y_sin) matplotlib.pyplot.show()
内容的提问来源于stack exchange,提问作者Soham Holkar
相关产品推荐
相关产品推荐

