报错描述
1 | ValueError: Unknown projection '3d' |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | # -*- coding: utf-8 -*- """ @File : 1.py @Time : 2020/5/25 21:33 @Author : Dontla @Email : [email protected] @Software: PyCharm """ # 第一种创建3D图形的方法:创建子图 # 用创建子图的方法画出来感觉要比下面的方法小一点?? from matplotlib import pyplot as plt # 用来绘制图形 import numpy as np # 用来处理数据 fig = plt.figure() print('fig的类型:', type(fig), '\n') print('fig:\n', fig, '\n') ax = fig.add_subplot(111, projection='3d') print('ax的类型:', type(ax), '\n') print('ax:\n', ax, '\n') X = np.arange(-10, 10, 0.25) Y = np.arange(-10, 10, 0.25) X, Y = np.meshgrid(X, Y) Z = 3 * X ** 2 + 2 * Y ** 2 + 5 ax.plot_surface(X, Y, Z, cmap='rainbow') plt.show() |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | D:\20200228_play_with_pytorch\python\python.exe C:/Users/SIQI/Desktop/绘制神经网络输出函数图像/1.py Traceback (most recent call last): File "D:\20200228_play_with_pytorch\python\lib\site-packages\matplotlib\projections\__init__.py", line 58, in get_projection_class return projection_registry.get_projection_class(projection) File "D:\20200228_play_with_pytorch\python\lib\site-packages\matplotlib\projections\__init__.py", line 25, in get_projection_class return self._all_projection_types[name] KeyError: '3d' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "C:/Users/SIQI/Desktop/绘制神经网络输出函数图像/1.py", line 23, in <module> ax = fig.add_subplot(111, projection='3d') File "D:\20200228_play_with_pytorch\python\lib\site-packages\matplotlib\figure.py", line 1396, in add_subplot self._process_projection_requirements(*args, **kwargs) File "D:\20200228_play_with_pytorch\python\lib\site-packages\matplotlib\figure.py", line 1120, in _process_projection_requirements projection_class = projections.get_projection_class(projection) File "D:\20200228_play_with_pytorch\python\lib\site-packages\matplotlib\projections\__init__.py", line 60, in get_projection_class raise ValueError("Unknown projection %r" % projection) ValueError: Unknown projection '3d' fig的类型: <class 'matplotlib.figure.Figure'> fig: Figure(640x480) Process finished with exit code 1 |
解决办法
在开头加上这句代码
1 | from mpl_toolkits.mplot3d import Axes3D |
然后就可以运行了
参考文章1:深入浅出python机器学习_如何用python画三维图? add_subplot() Axes3D() plot_surface() gca()
参考文章2:python画图报错:Unknown projection ‘3d’