Python 3D散点图/冲浪图

时间:2018-04-19 06:48:53

标签: python matplotlib plot

我有一个3D冲浪图,我绘制了一个散射云。 然后,您应该能够看到散射云是在表面包络的内部还是外部。然而,就好像散射云打印在表面图之外,取决于我正在看哪个角度?

正如我试图在下图中显示的那样,红点是我的散点图,尽管我知道它们位于蓝色表面“桶”内,但我可以通过表面图看到它们。如果我然后稍微旋转图片,它会显示它应该是。

Wrong and correct

我的绘图序列如下所示:

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)

0 个答案:

没有答案