所以我有一个二维数组(名为Data),看起来像:绘制与Matplotlib
Shape 0 Shape 1 ... Shape N
------- ------- -------
Scale 0 | Value00 , Value01 ... Value0N |
Scale 1 | Value10 , Value11 ... Value1N |
.
.
.
Scale N | ValueN0 , ValueN1 ... ValueNN |
我想创建一个三维图,其中ValueXXs是Z轴。我尝试了两次尝试,但每次都会给我一个相对于另一个旋转的表面,所以我感到有点困惑。这是我在一个解决方案1的尝试:
x,y = numpy.mgrid[0:50:50j,0:50:50j]
f = Data
fig = plt.figure()
ax = Axes3D(fig)
ax.plot_surface(x,y,f,rstride=1,cstride=1)
这里是我的第二次尝试:
nx, ny = 50, 50
x = range(nx)
y = range(ny)
hf = plt.figure()
ha = hf.add_subplot(111, projection='3d')
X, Y = numpy.meshgrid(x, y)
ha.plot_surface(X,Y,Data,rstride=1,cstride=1)
检查X和Y确实没有任何帮助真的是因为它是一个正方形。我不确定何时X代表我的'比例',而不是代表我的'形状'。
那么,这两个例子到底发生了什么?有没有更好的方法来绘制这个数组?
谢谢!
我发现当我有这样的情况下,它通常是最容易故意产生具有不同的x和y轴的尺寸的测试数据集。这将使您能够检查绘图,并且在某些情况下(例如,pcolor),如果您错误地指定了x和y轴阵列,它将引发错误。 – DaveP