报错描述
出于安全考虑,CSDN不让文章标题使用英文单引号
ValueError: Unknown projection '3d'
# -*- coding: utf-8 -*-
"""
@File : 1.py
@Time : 2020/5/25 21:33
@Author : Dontla
@Email : sxana@qq.com
@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()
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
解决办法
在开头加上这句代码
from mpl_toolkits.mplot3d import Axes3D
然后就可以运行了
参考文章1:深入浅出python机器学习_如何用python画三维图? add_subplot() Axes3D() plot_surface() gca()