2Dおよび3Dサブプロットを混在させる際に余分な空白を取り除くことができません。純粋な3Dサブプロットの場合、プロットする領域をfig.subplots_adjust()
に調整して空白を削除することができます。hereを参照してください。matplotlib:混合2D/3Dサブプロットの3Dプロットの空白を削除する
しかし、この3D画像が2Dサブプロット内にある場合、同じトリックは機能しません。今
import matplotlib.pyplot as plt
from matplotlib import cm
from mpl_toolkits.mplot3d import axes3d
fig,axes = plt.subplots(2,2)
ax = axes.flat
for a in range(3):
ax[a].plot(range(10),range(10))
ax[3].remove()
ax[3] = fig.add_subplot(224,projection='3d')
X, Y, Z = axes3d.get_test_data(0.03)
ax[3].plot_surface(X, Y, Z, rstride=8, cstride=8, alpha=0.8,cmap=cm.coolwarm)
ax[3].set_xticklabels('')
ax[3].set_yticklabels('')
ax[3].set_zticklabels('')
fig.subplots_adjust(hspace=0,wspace=0)
トリック例えば: 私は次のような混合サブプロットを作成しました。 fig.subplots_adjust(left=-0.01)
は2Dサブプロットの左端に作用し、3Dサブプロットは変更されません。 3Dサブプロットを囲む空白を完全に削除する方法はありますか?私はまた小さいax.dist
を試しました、そして、もし3Dプロットがz方向にもっと長いなら、それは良くありません。
最低限の実例を提供できますか?上記のコードには記述がありません。 –
@NipunBatra思い出してくれてありがとう、冒頭にインポートを追加してテストしています。 – Phyinmi