pycharm matplotlib.pyplot.figure().add_subplot()绘制三维图时报错:ValueError: Unknown projection 3d(bug)

本文介绍了一个常见的Python绘图错误“Unknown projection '3d'”的原因及解决方法,通过引入mpl_toolkits.mplot3d库中的Axes3D类,成功解决了3D图形绘制的问题,并提供了详细的代码示例。

报错描述

出于安全考虑,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()

参考文章2:python画图报错:Unknown projection ‘3d’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dontla

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值