Захват координат Matplotlib щелчками мыши с помощью ipywidgets в Jupyter NotebookPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Захват координат Matplotlib щелчками мыши с помощью ipywidgets в Jupyter Notebook

Сообщение Anonymous »

Короткий вопрос
Я хочу получить координаты, щелкая мышкой в ​​разных местах на фигуре Matplotlib внутри Jupyter Notebook. Я хочу использовать ipywidgets без с помощью какой-либо магической команды Matplotlib (например, %matplotlib ipympl) для переключения бэкэнда и без использования дополнительных пакетов, кроме Matplotlib, ipywidgets и Numpy.
Подробное объяснение
Я знаю, как этого добиться с помощью пакета ipympl и соответствующей магической команды Jupyter< /em> %matplotlib ipympl, чтобы переключить бэкенд со встроенного на ipympl (см. ЗДЕСЬ).
После установки ipympl, например с помощью conda install ipympl и переключившись на серверную часть ipympl, можно выполнить эту процедуру для захвата координат щелчка мыши в Matplotlib.

Код: Выделить всё

import matplotlib.pyplot as plt

# Function to store mouse-click coordinates
def onclick(event):
x, y = event.xdata, event.ydata
plt.plot(x, y, 'ro')
xy.append((x, y))

# %%
# Start Matplotlib interactive mode
%matplotlib ipympl

plt.plot([0, 1])
xy = []     # Initializes coordinates
plt.connect('button_press_event', onclick)
Изображение
Однако я нахожу это переключение между встроенным и ipympl довольно запутанным в Notebook.
Альтернативой интерактивного построения графиков Matplotlib в Jupyter Notebook является использовать пакет ipywidgets. Например, с помощью команды взаимодействия можно легко создавать ползунки для графиков Matplotlib без необходимости переключать серверную часть cxh. (см. ЗДЕСЬ).

Код: Выделить всё

from ipywidgets import interact
import numpy as np
import matplotlib.pyplot as plt

x = np.linspace(0, 2 * np.pi)

def update(w=1.0):
plt.plot(np.sin(w * x))
plt.show()

interact(update);
Изображение
Однако я не нашел способа использовать пакет ipywidgets для захвата координат (x,y) от щелчков мыши, что эквивалентно моему приведенному выше примеру с использованием ipympl.


Подробнее здесь: https://stackoverflow.com/questions/790 ... -jupyter-n
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Захват координат Matplotlib щелчками мыши с помощью ipywidgets в Jupyter Notebook
    Anonymous » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Anonymous
  • Захват координат Matplotlib щелчками мыши с помощью ipywidgets в Jupyter Notebook
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • Захват координат Matplotlib щелчками мыши с помощью ipywidgets в Jupyter Notebook
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Захват координат Matplotlib щелчками мыши с помощью ipywidgets в Jupyter Notebook
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Захват координат Matplotlib щелчками мыши с помощью ipywidgets в Jupyter Notebook
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»