Я пытаюсь сделать следующее. У меня есть функция f (m), которую я хочу исследовать в интерактивном режиме для различных значений m (например, с помощью ipywidgets). Для конкретных значений m я хотел бы сохранить в списке строку, содержащую, например, m. Тем не менее, я не знаю заранее, какие это будут ценности; Я хочу построить график f (m), и если мне нравится результат, либо выберите что-то вроде True или False, либо выберите «Отклонить» или «Утвердить» в раскрывающемся списке, и только после этого сохраните значение. Нажатие A или R на клавиатуре также будет хорошо. Это то, что я могу сделать? Лучшее, что я мог придумать, это использовать что-то вроде ipywidgets:
%matplotlib inline
from ipywidgets import interactive
import matplotlib.pyplot as plt
import numpy as np
def f(m):
plt.figure(2)
x = np.linspace(-10, 10, num=1000)
ID = str(m)
plt.plot(x, m * x)
plt.ylim(-5, 5)
plt.show()
interactive_plot = interactive(f, m=(-2.0, 2.0))
output = interactive_plot.children[-1]
output.layout.height = '350px'
interactive_plot
В этом случае ID
- это объект, который я хотел бы сохранить. Я мог бы добавить дополнительный аргумент evaluation
, который является Accept
или Reject
или что-то в этом роде, и добавить оператор if в функцию, которая добавляет список значений, но это кажется плохим выбором. Поскольку изменение m не приведет к изменению значения оценки, изменение m просто добавит идентификатор в список для каждого m, если для evaluation
установлено значение Accept
. Итак, для каждого значения мне нужно установить evaluation
в Accept
или Reject
, а затем установить его обратно на какое-то значение, которое ничего не делает, например Undetermined
, что является большим количеством кликов. Я уверен, что был бы лучший способ сделать это; кто-то может указать мне в этом направлении?