Matplotlib - plot_surface: получить значения x, y, z, написанные в правом нижнем углу - PullRequest
3 голосов
/ 19 июля 2011

Я совершенно новый пользователь matplotlib.При построении поверхности (3D) с помощью matplotlib и plot_surface появляется окно с графиком.В этих окнах в правом нижнем углу находятся координаты фактического положения мыши.Возможно ли получить доступ к этим значениям?

У меня есть поиск в интернете, но предлагается очень мало решений.Для двухмерного графика эти значения доступны с помощью tkinter.canvas, но в 3D, при использовании одной и той же методики event.xdata и event.ydata не возвращали хорошую позицию для мыши.аванс за драгоценную помощь,

Антуан

1 Ответ

6 голосов
/ 12 марта 2012

С помощью 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)
...