matplotlibで表示した3Dグラフ上で,クリックなどのイベントにより座標を取得する方法を探しています.

二次元のグラフですと下記のようなコードで正しく座標を得ることができます.

from numpy.random import rand
from pylab import figure, show

def onclick(event):
    print 'button=%d, x=%d, y=%d, xdata=%f, ydata=%f'%(event.button, event.x, event.y, event.xdata, event.ydata)

fig = figure()
ax = fig.add_subplot(111)
ax.plot(rand(5))

fig.canvas.mpl_connect('button_press_event', onclick)
show()

http://retrofocus28.blogspot.jp/2012/07/matplotlib.html

しかし,同様のことを3Dグラフで行うと,x,y 座標が正しく表示されません.

from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import numpy as np

def onclick(event):
    print 'button=%d, x=%d, y=%d, xdata=%f, ydata=%f'%(event.button, event.x, event.y, event.xdata, event.ydata)


X = [[1,2,3,4,5],[1,2,3,4,5],[1,2,3,4,5]]
Y = [[1,1,1,1,1],[2,2,2,2,2],[3,3,3,3,3]]
Z = [[10,11,13,14,16],[5,8,7,7,7,],[0,0,0,9,8]]
fig = plt.figure()
ax = Axes3D(fig)
ax.scatter3D(np.ravel(X),np.ravel(Y),np.ravel(Z))

fig.canvas.mpl_connect('button_press_event', onclick)
plt.show()

3Dグラフで正しい座標を得るにはどうしたらよいでしょうか.
できればz座標も表示したいと思っています.