我正在使用matplotlib将一些数据绘制为3D轴上的2D曲线。我使用ax = axes3d.Axes3D()
来定义我的轴,使用ax.plot(x, y, zs='z')
来绘制我在3D空间中的2D曲线。
现在我想添加一些看起来像这页http://matplotlib.sourceforge.net/examples/mplot3d/polys3d_demo.html的内容,但我想直接输入顶点的坐标。在此示例中,它们具有固定的z
数组,并且它们绘制具有顶点(x,y)
的多边形,而我想要的是z(x)
和(x,y)
个顶点。有谁知道怎么做这样的事情?
实际上我不需要收集东西,我只想在任意方向上绘制一个大正方形。
我尝试简单地输入坐标并使用ax.plot()
:
verts = np.array([[0,0,0], [0,1,0], [1,1,1], [1,0,1], [0,0,0]])
ax.plot(verts[:,0], verts[:,1], verts[:,2], zdir='y')
它确实绘了一个正方形,但我不能(或者不知道如何)填满脸。
答案 0 :(得分:0)
我希望这就是你想要的! this http://oi44.tinypic.com/i5y9td.jpg
我的矩形将从0到10.所以MAX = 10。 我最初做的是尝试定义z和x之间的轴。 z = MAX-x是我的选择。
然后我先为x的每个小增量绘制此轴,从而创建矩形。 这是代码:
anArray = []
for i in range(0, 101, 1):
z = float(i)/10
#print "x: ", x
y = 10 - z
#print "y: ", y
for a in range(0, 101, 1):
anArray.append([float(a)/10, y, z])
#endfor
#endfor
verts = np.array(anArray)
ax.plot(verts[:,0],verts[:,1],verts[:,2], zdir='y')