使用plot_surface()
:他の2つのヒストグラムのための
ax.scatter(x,y,z, marker='.', c='r')
h, yedges, zedges = np.histogram2d(y, z, bins=50)
h = h.transpose()
normalized_map = plt.cm.Blues(h/h.max())
yy, zz = np.meshgrid(yedges, zedges)
xpos = min(x)-2 # Plane of histogram
xflat = np.full_like(yy, xpos)
p = ax.plot_surface(xflat, yy, zz, facecolors=normalized_map, rstride=1, cstride=1, shade=False)
繰り返します。 
あなただけの予測(ただし、ヒストグラムを)したい場合は簡単な方法は、平坦化されたデータとの散布図を追加することです:
ax.scatter(x, y, z, c='r', marker='.')
xflat = np.full_like(x, min(ax.get_xlim()))
yflat = np.full_like(y, max(ax.get_ylim()))
zflat = np.full_like(z, min(ax.get_zlim()))
ax.scatter(xflat, y, z)
ax.scatter(x, yflat, z)
ax.scatter(x, y, zflat)
(通常、私はちょうどでいっぱいのマッチング配列を作るためにx*0 + n
を入力したいです一定の値が、np.full_like
がより明示的である)

これはきちんとした考えです。しかし、散布の問題は、私は異なる密度を区別することができないということです。私は散布図の塗りつぶしに 'alpha <1'を使うことができると思います。 –
OK、良い点。その場合、ヒストグラムデータとともにplot_surfaceを使うことができます。私は答えを編集しました。 – Lack