Я рисую график разброса на базовой карте. Однако данные с этой диаграммой рассеяния изменяются в зависимости от пользовательского ввода. Я хотел бы очистить данные (только данные - не весь рисунок базовой карты) и переделать новые точки разброса.Перерисовывая участок на Basemap в Python
Этот вопрос похож, но не ответил (http://stackoverflow.com/questions/8429693/python-copy-basemap-or-remove-data-from-figure)
В настоящее время я закрывание фигура с clf(); однако это требует от меня повторного рисования всей базовой карты и разброса. Кроме того, я делаю все перерисовки внутри панели wx. Масштабирование базовой карты занимает слишком много времени, и я надеюсь, что есть простой способ просто переделать точки разброса.
#Setting up Map Figure
self.figure = Figure(None,dpi=75)
self.canvas = FigureCanvas(self.PlotPanel, -1, self.figure)
self.axes = self.figure.add_axes([0,0,1,1],frameon=False)
self.SetColor((255,255,255))
#Basemap Setup
self.map = Basemap(llcrnrlon=-119, llcrnrlat=22, urcrnrlon=-64,
urcrnrlat=49, projection='lcc', lat_1=33, lat_2=45,
lon_0=-95, resolution='h', area_thresh=10000,ax=self.axes)
self.map.drawcoastlines()
self.map.drawcountries()
self.map.drawstates()
self.figure.canvas.draw()
#Set up Scatter Plot
m = Basemap(llcrnrlon=-119, llcrnrlat=22, urcrnrlon=-64,
urcrnrlat=49, projection='lcc', lat_1=33, lat_2=45,
lon_0=-95, resolution='h', area_thresh=10000,ax=self.axes)
x,y=m(Long,Lat)
#Scatter Plot (they plot the same thing)
self.map.plot(x,y,'ro')
self.map.scatter(x,y,90)
self.figure.canvas.draw()
Тогда я сделать некоторый тип обновления на моем (х, у) ...
#Clear the Basemap and scatter plot figures
self.figure.clf()
Тогда я повторяю все выше кода. (Мне также нужно переделать мои ящики для моей панели - я не включил их).
Спасибо!
Не могли бы вы высказать какой-то код? Я хотел бы посмотреть, как будет строиться график разброса. – stanri