Python 带色条的三维曲面打印问题

Python 带色条的三维曲面打印问题,python,matplotlib,plot,surface,colorbar,Python,Matplotlib,Plot,Surface,Colorbar,我试图绘制x=y平面上晶体的电荷密度值。我已经能够绘制电荷密度的等高线图和线框(如下) 但是看起来有点乱。我想做一个表面图,这样你就可以看到晶体中原子的位置更好(而不是能够“看穿”导线图) 当我使用代码(此描述的底部)时,我得到以下图像: 显然没有颜色变化。我做错了什么?任何帮助都会很好 代码如下。注:函数“chgdens2”计算平面内各点的电荷密度值 fig = pyplot.figure() x = numpy.linspace(-0.5*A,0.5*A,10) #Range of x

我试图绘制x=y平面上晶体的电荷密度值。我已经能够绘制电荷密度的等高线图和线框(如下)

但是看起来有点乱。我想做一个表面图,这样你就可以看到晶体中原子的位置更好(而不是能够“看穿”导线图)

当我使用代码(此描述的底部)时,我得到以下图像:

显然没有颜色变化。我做错了什么?任何帮助都会很好

代码如下。注:函数“chgdens2”计算平面内各点的电荷密度值

fig = pyplot.figure()
x = numpy.linspace(-0.5*A,0.5*A,10) #Range of x vals 
z = numpy.linspace(-0.5*A,0.5*A,10) #Range of z vals
p = numpy.sqrt(2) * x
P, Z = numpy.meshgrid(p,z)
DENS = numpy.zeros((len(p), len(z)),dtype=numpy.float32)

for i in range (len(p)):
    for j in range(len(z)):
        DENS[i, j] = chgdens2(N,n,numpy.array([x[i],x[i],z[j]]),m)

ax = fig.gca(projection='3d')
surf = ax.plot_surface(P,Z,DENS, cmap=cm.coolwarm,
                   linewidth=0, shade=True)
fig.colorbar(surf, shrink=0.5, aspect=5)
pyplot.show()

如果将rstride=1,cstride=1添加到ax.plot\u surface()函数中,它会起作用吗