python绘图3d彩色地图

python绘图3d彩色地图,python,matplotlib,Python,Matplotlib,我有3个一维数组,用于X值、Y值和Z值。 我想用X和Y做一个二维图,用Z的颜色 但是每次我试着跑的时候我都会 AttributeError: 'list' object has no attribute 'shape' 目前我有: X=np.array(X) Y=np.array(Y) Z=np.array(Z) fig = pyplot.figure() ax = fig.add_subplot(111) p = ax.scatter(X,Y,Z) 我也试过了 fig, ax = pyp

我有3个一维数组,用于X值、Y值和Z值。 我想用X和Y做一个二维图,用Z的颜色

但是每次我试着跑的时候我都会

AttributeError: 'list' object has no attribute 'shape'
目前我有:

X=np.array(X)
Y=np.array(Y)
Z=np.array(Z)

fig = pyplot.figure()
ax = fig.add_subplot(111)
p = ax.scatter(X,Y,Z)
我也试过了

fig, ax = pyplot.figure()
p = ax.pcolor(X,Y,Z,cmap = cm.RdBu)
cb = fig.colorbar(p,ax=ax)
两者都给了我相同的错误。

输入的文档如下:

matplotlib.pyplot.scatter(x, y, s=20, ...)
它不是
(x,y,z)
。您正在将点的大小
s
设置为Z值。要给出颜色的“Z”值,请将其作为
c
参数传递:

import numpy as np
import pylab as plt

# Example points that use a color proportional to the radial distance
N = 2000
X = np.random.normal(size=N)
Y = np.random.normal(size=N)
Z = (X**2+Y**2)**(1/2.0)

plt.scatter(X,Y,c=Z,linewidths=.1)
plt.axis('equal')
plt.show()

@bobruels44有什么新错误?我没有看到其他评论或编辑。不管怎样,都应该提出一个全新的问题-一个全新的问题。很抱歉,我仍然对它们进行了排序,我注意到了一个更详细的编辑,我只是在快速尝试一些愚蠢的事情。即使我使用numpy数组,我仍然会遇到属性错误。如果没有更完整的示例,就无法诊断问题。如果你把你的问题编辑成一个产生错误的最小的例子,我们可以看一看。这基本上就是整个绘图程序。代码的其余部分将构建这些数组。