我已经提到matplotlib.org网站还有很多线程,但我不能绘制三维曲面。我可以绘制一个三维散点图,但一旦我试图绘制一个三维曲面,就会出现很多不同的错误。我会修正错误,但会有新的错误。经过两天的努力,我相信我对matplotlib三维曲面的理解是错误的。在
我要画SA,FZ,FY
其中SA是X,FZ是Y,FY是Z
while y<Last_Row:
if 100 < Temp_AVG_Dict[y] and Temp_AVG_Dict[y] < 140 and abs(Camber[y])<5 and 24.5<Speed[y] and Speed[y]<25.5:
y = y + 1
SA[SArow:]=[Run_50_sheet.cell_value( y , SA_Column)]
SArow = SArow + 1
FY[FYrow:] = [Run_50_sheet.cell_value( y , FY_Column)]
FYrow = FYrow + 1
FZ[FZrow:] = [Run_50_sheet.cell_value( y , FZ_Column)]
FZrow = FZrow + 1
Z.insert(SArow,[SA[SArow-1], FZ[FZrow-1], FY[FYrow-1]])
else:
y=y+1
Z= np.array(Z)
fig = plt.figure(1)
ax = fig.add_subplot(111, projection='3d')
下面这一行是我认为我错了。十、 Y,Z都需要是2d数组,但我不确定需要输入的值。在
我试着按[SA,FZ],[FZ,FY]和[SA,FY]的顺序制作二维数组,但是失败了 我也试着让SA和FY等于1..n,但也没用。在
^{pr2}$二维数组应该由哪些值组成? 感谢任何帮助。在
请看这个3d surface的示例代码:http://matplotlib.org/examples/mplot3d/surface3d_demo.html
首先,必须创建两个常规网格网格X和Y(2d数组)以使用
plot_surface
进行打印,如下所示:尝试为一维数组
^{pr2}$FA
(如果是x)、FY
(如果是y)制作网格:然后,创建表示曲面值的二维数组Z,即
您的
FZ
数组必须是二维的,并且与X, Y
数组具有相同的形状。在绘图后:
如果网格网格不规则,请查找
plot_trisurf
:http://matplotlib.org/examples/mplot3d/trisurf3d_demo.html相关问题 更多 >
编程相关推荐