2017-02-23 49 views
2

我正在尝试制作三维图,但我无法创建3D轴。无法在matplotlib中创建3D轴

当我尝试时,它给了我一个错误,指出“ValueError:Unknown projection'3d'”。

下面是我试图创建轴对象

import matplotlib.pyplot as plt 

fig = plt.figure() 
ax = fig.add_subplot(111, projection='3d') 

plt.show() 

如何创建一个matplotlib 3D轴对象?

+0

你必须导入3D轴像'从mpl_toolkits.mplot3d import Axes3D' – Serenity

回答

0

Matplotlib documentation开始,“投影的有效值为:['aitoff','hammer','lambert','mollweide','polar','rectilinear']”。

您正在为add_subplot()方法提供无效的关键字参数。它看起来像你试图创建一个笛卡尔坐标3D图。投影关键字不需要做出这样的情节。

+1

这没有错,但如果导入了正确的工具包,'3D'可以是一个有效的投影。看到我的答案。 –

+1

啊,很高兴知道。谢谢你的澄清。 – Brian

4

为了创建一个三维坐标轴,你需要导入mplot3d工具包:

from mpl_toolkits.mplot3d import Axes3D 
import matplotlib.pyplot as plt 

fig = plt.figure() 
ax = fig.add_subplot(111, projection='3d') 

plt.show() 

有在画廊几个3D例子: http://matplotlib.org/examples/mplot3d