首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python绘图3d彩色地图

python绘图3d彩色地图
EN

Stack Overflow用户
提问于 2014-04-15 19:36:12
回答 1查看 2.2K关注 0票数 2

我有三维数组,用于X值、Y值和Z值.我想用X和Y做一个二维的情节,并有Z的颜色.

然而,每次我试着跑,我就会得到

代码语言:javascript
复制
AttributeError: 'list' object has no attribute 'shape'

目前我有:

代码语言:javascript
复制
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)

我也试过

代码语言:javascript
复制
fig, ax = pyplot.figure()
p = ax.pcolor(X,Y,Z,cmap = cm.RdBu)
cb = fig.colorbar(p,ax=ax)

都给了我同样的错误。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-15 20:01:19

plt.scatter的文档要求输入如下:

代码语言:javascript
复制
matplotlib.pyplot.scatter(x, y, s=20, ...)

这不是(x,y,z)。您将s (点的大小)设置为Z值。若要提供颜色的"Z“值,请将其作为c参数传递:

代码语言:javascript
复制
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()

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23092867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档