[英]Matplotlib 2D polygon in 3D axes
我正在使用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变为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')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.