2017-05-25 11 views
1

4つの3Dグラフを1つのウィンドウにプロットしています。複数の3Dプロットを表示する

enter image description here

コード:現在、私はこの結果を持っている最後の2つの奇妙な探してグラフを無視

def multi_plot(fig, tuples3, pos, title): 
    x, y, z = zip(*tuples3) 
    z = map(float, z) 
    grid_x, grid_y = np.mgrid[min(x):max(x):100j, min(y):max(y):100j] 
    grid_z = griddata((x, y), z, (grid_x, grid_y), method='cubic') 

    ax = fig.add_subplot(2, 2, pos, projection='3d') 
    ax.set_xlabel('sets') 
    ax.set_ylabel('percentage') 
    ax.set_zlabel('accuracy') 
    ax.set_title(title) 
    ax.plot_surface(grid_x, grid_y, grid_z, cmap=plt.cm.Spectral) 


fig = plt.figure(figsize=plt.figaspect(0.5)) 

multi_plot(fig, tuples3_1, 1, "Bagging - mincase 1") 
multi_plot(fig, tuples3_2, 2, "Bagging - mincase 2") 
multi_plot(fig, tuples3_3, 3, "Bagging - mincase 3") 
multi_plot(fig, tuples3_4, 4, "Bagging - mincase 4") 
plt.show() 

を、そこの点のカップルは、私が変更したいのですが、方法を見つけることができませんする。

グラフのZ軸のラベルが指定された空白の範囲外になり、軸があまりにも混雑しているように縮小する必要があります。 私の論文にグラフを含めたいので、灰色の背景色をより魅力的なものに変える方法も探しています。

ありがとうございました!

+1

plt.tight()を試しましたか?それが失敗すると、matplotlibはhtspaceとwspaceを使用して、plt.plot(figsize)と組み合わせて使用​​すると試行錯誤が必要なplt.subplot(hspace、wspace)としてそれぞれ高さと幅のスペースを増やします。編集:plt.tight_layout() – mikey

答えて

0

私はいくつかのことを微調整できました。

背景色を設定することは、「fig」インスタンスのfacecolorを簡単に設定することです。コメントの中でmikeyが述べたように、plt.tight_layout()を使うと助けになります。私は、上記のメソッドへの呼び出しをいくつか追加して、次のコードを変更しました。今、この中で結果として得られる

fig = plt.figure(figsize=plt.figaspect(0.5)) 
fig.set_facecolor('white') 
// method calls 
plt.tight_layout() 
plt.show() 

enter image description here

を私は誰かがどんな素敵なひねりを持っている場合、それは良く見えるように開いている質問を残すつもりです。

関連する問題