【发布时间】:2016-10-11 18:49:52
【问题描述】:
我参考了 matplotlib.org 和很多线程,但我无法绘制 3d 曲面。我能够绘制 3d 散点图,但是一旦我尝试绘制 3d 表面,它就会因许多不同的错误而中断。我修复了错误,但我得到了新的。在与它战斗了 2 天之后,我相信我对 matplotlib 3d 表面的理解是错误的。
我想绘制 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')
下面这一行是我认为我出错的地方。 X,Y,Z 都需要是二维数组,但我不确定需要输入的值。
我尝试按 [SA,FZ]、[FZ,FY] 和 [SA,FY] 的顺序制作二维数组,但失败了 我也尝试让 SA 和 FY 等于 1..n,但这也没有用。
ax.plot_surface( SA, FY ,Z)
plt.show()
二维数组应该由什么值组成? 任何帮助表示赞赏。
【问题讨论】:
标签: python matplotlib 3d mplot3d