我有一个3D冲浪图,我绘制了一个散射云。 然后,您应该能够看到散射云是在表面包络的内部还是外部。然而,就好像散射云打印在表面图之外,取决于我正在看哪个角度?
正如我试图在下图中显示的那样,红点是我的散点图,尽管我知道它们位于蓝色表面“桶”内,但我可以通过表面图看到它们。如果我然后稍微旋转图片,它会显示它应该是。
我的绘图序列如下所示:
fig = plt.figure()
ax = fig.gca(projection='3d')
for ii in range(0,numspan):
for j in range(0,numpoints+1):
for i in range(0,4):
Nx[i,j,ii] = MMN_Diagram[Myplt[i]+j,Mzplt[i]+ii*3]
My[i,j,ii] = MMN_Diagram[Myplt[i]+j,Mzplt[i]+ii*3+1]*scale
Mz[i,j,ii] = MMN_Diagram[Myplt[i]+j,Mzplt[i]+ii*3+2]*scale
surf = ax.plot_surface(My[:,:,ii], Mz[:,:,ii], Nx[:,:,ii], color='blue', rstride=1, cstride=1, linewidth=0.25, antialiased=True)
plt.ylabel('MY [kNm]')
plt.xlabel('MZ [kNm]')
ax.plot([-10000,10000],[0,0],[0,0], color='black', linewidth=1.5) # X-axis
ax.plot([0,0],[-10000,10000],[0,0], color='black', linewidth=1.5) # Y-axis
ax.plot([0,0],[0,0],[-10000,10000], color='black', linewidth=1.5) # Z-axis
ax.scatter(xl.iloc[:,2], xl.iloc[:,1], xl.iloc[:,0], color='red', s=1)
plt.show(fig)