8

そこで、他の3つのサブプロットに3つの投影をプロットするとともに、データポイントからの3Dプロットを表す図を作成しようとしています。投影のサブプロットを問題なく追加できますが、3次元プロットをフィギュアに配置しようとすると逆効果になります。

これが私のコードです:

def plotAll(data):
    fig = plt.figure()
    plot_3d = fig.add_subplot(221)
    ax = Axes3D(plot_3d)  
    for i,traj in enumerate(data.values()):
        ax.plot3D([traj[0][-1]],[traj[1][-1]],[traj[2][-1]],".",color=[0.91,0.39,0.046])    
    #plot_12v13 = fig.add_subplot(222)
    #plot_projections(data,0,1)
    #plot_13v14 = fig.add_subplot(223)
    #plot_projections(data,1,2)
    #plot_12v14 = fig.add_subplot(224)
    #plot_projections(data,0,2)
    #plt.plot()

これはスローバックします:'AxesSubplot'オブジェクトには属性'transFigure'がありません

私はmatplotlib0.99.3を使用しています、助けていただければ幸いです、ありがとう!

4

2 に答える 2

4

projection3D 軸を作成する好ましい方法は、キーワードを与えることです:

def plotAll(data):
    fig = plt.figure()
    ax = fig.add_subplot(221, projection='3d')
    for i,traj in enumerate(data.values()):
        ax.plot3D([traj[0][-1]],[traj[1][-1]],[traj[2][-1]],".",color=[0.91,0.39,0.046])    
    plot_12v13 = fig.add_subplot(222)
    plot_projections(data,0,1)
    plot_13v14 = fig.add_subplot(223)
    plot_projections(data,1,2)
    plot_12v14 = fig.add_subplot(224)
    plot_projections(data,0,2)
    plt.plot()

残念ながら、適切なデータを含む実際の例が提供されていないため、コードをテストできませんでした。また、matplotlib の新しいバージョンに更新することをお勧めします。

于 2011-12-15T15:49:50.247 に答える