Используйте LassoSelector на базовой карте - PullRequest
0 голосов
/ 15 мая 2018

Я создал базовую карту с

bmap = Basemap(projection='merc', llcrnrlat=-80, urcrnrlat=80, llcrnrlon=-180, urcrnrlon=180, resolution='c')

Далее создается LassoSelector (также функция onselect). Однако передача bmap в LassoSelector, например:

LassoSelector(bmap, onselect)

приводит к ошибке:

AttributeError: у объекта «Базовая карта» нет атрибута «figure»

Вопрос здесь: Что мне нужно передать (если не Базовую карту) объекту LassoSelector, чтобы можно было нарисовать лассо вокруг некоторых точек данных, нанесенных на Базовую карту?

Заранее благодарим за любые подсказки.

1 Ответ

0 голосов
/ 15 мая 2018

Как документация из matplotlib.widgets.LassoSelector(ax, ..) состояний, первый аргумент,

ax: Axes
Родительские осидля виджета.

На этот раз a Basemap не является осями, следовательно, ошибка.Затем, если вы нигде не определили никаких осей, что вы можете сделать независимо от этой проблемы, вы все равно можете получить текущие оси с помощью plt.gca().

LassoSelector(plt.gca(), ...)
...