В настоящее время я изучаю библиотеку matplotlib на python 3.4. Я практикую на коде, где пользователь должен взаимодействовать с сюжетом, только щелкнув по нему. Когда клик происходит где-то на участке, должны произойти две вещи: распечатайте значение y и создайте горизонтальную линию на участке, где произошел щелчок.Печатает значение при нажатии, но строка не создается?
То, что я получаю, когда я нажимаю где-то на участке, заключается в том, что печать выполняется по желанию, но горизонтальная линия появляется только в том случае, если я нажимаю F (который заполняет экран сюжета). Другими словами, строка создается, когда я нажимаю на сюжет, но она не появляется, пока я не нажимаю F. Любые идеи, почему это происходит?
Код:
import matplotlib.pyplot as plt
import numpy as np
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot(np.random.rand(10))
def pick(event):
plt.hlines(event.ydata,event.xdata-
0.2,event.xdata+0.2,colors='r',linestyle='solid')
print('Y coord = %f'%event.ydata)
fig.canvas.mpl_connect('button_press_event',pick)
plt.show()
Использование этого параметра перед plt.show() вызвало не показание графика. Но когда я ставлю его первой линией функции pick (event), она отлично работала. Благодарю. –
Рад, что у вас это работает! – Molly