Matplotlib - plot_surface:获取写在右下角的x,y,z值

Ant*_*ine 3 python canvas tkinter matplotlib mouseevent

我是matplotlib的新用户.使用matplotlib和plot_surface绘制曲面(3D)时,会出现一个带有图形的窗口.在那个窗口中,右下角有鼠标实际位置的坐标.是否有可能获得这些价值?

我在互联网上搜索,但提出的解决方案很少.对于2D绘图,可以使用tkinter.canvas访问这些值,但在3D中,当使用相同的技术时,event.xdata和event.ydata不会返回鼠标的良好位置.

提前感谢您的宝贵帮助,

安托万

小智 6

随着ax.format_coord(mouseevent.xdata,mouseevent.ydata)你在字符串中的X,Y,Z值,('x=0.222, y=0.452, z=0.826')从中可以提取值.

例如,对于y坐标:

def gety(x,y):
    s = ax.format_coord(x,y)
    out = ""
    for i in range(s.find('y')+2,s.find('z')-2):
        out = out+s[i]
    return float(out)
Run Code Online (Sandbox Code Playgroud)