Каждая функция контекста выполнения в javascript имеет контекст контекста этот параметр , который задается:
Каким бы ни был этот контекст области видимости, ссылается на «this».
Вы можете изменить это значение для параметра этого контекста области , используя func.call
, func.apply
или func.bind
.
По умолчанию и что сбивает с толку большинство новичков, когда вызывающий вызывающий вызов вызывается после того, как событие добавлено в элемент DOM, контекст области это значение функции является элементом DOM.
jQuery делает это тривиальным для изменения с помощью jQuery.proxy.
Функция Матплотлиба plot
принимает 2 аргумента; в первом примере вы передаете его time
и pos
- однако во втором примере вы передаете ему список ([time, pos]
), который является только одним аргументом, отсюда и ошибка
расширить этот список до 2 аргументов - один из способов сделать это - использовать *args
, чтобы расширить список до количества аргументов функции:
plt.plot(*trj[1])
Или, если вам не нравится формат *args
, более легкая для понимания опция:
plt.plot(trj[1][0], trj[1][1])