import numpy as np import matplotlib.pyplot as plt from matplotlib import cm from mpl_toolkits.mplot3d import Axes3D # 导入该函数是为了绘制3D图 import matplotlib as mpl ######### # 将数据绘图出来 # 生成X和Y的数据 X = np.arange(-5, 5, 0.1) # -5到5的等距数组,距离为0.1,注意区分开range(),它返回的是一个列表 Y = np.arange(-5, 5, 0.1) X, Y = np.meshgrid(X, Y) # 该函数用来生成网格点坐标矩阵。 # 目标函数 Z = X ** 2 + Y ** 2 + X # 绘图 fig = plt.figure() # 创立一个画布 ax = Axes3D(fig) # 在这个画布里,生成一个三维的空间 surf = ax.plot_surface(X, Y, Z, cmap=cm.coolwarm) # 该函数是为了将数据在这三维空间里可视化出来。 plt.show() ###########该代码显示不了3位图
时间: 2023-12-28 11:06:23 浏览: 105
import numpy as np import matplotlib.pyplot as plt import math
这段代码的问题可能是缺少了一行 `plt.show()`,请在绘制完图像后添加该行代码,例如:
```
fig = plt.figure()
ax = Axes3D(fig)
surf = ax.plot_surface(X, Y, Z, cmap=cm.coolwarm)
plt.show() # 添加该行代码
```
如果还是无法显示图像,可能是matplotlib需要更新或者缺少必要的依赖库,请检查一下。
阅读全文