Я тестирую библиотеку геоданных для простого упражнения: отображение нескольких точек на карте, а затем наложение большого круга выше, чтобы удалить часть из них with the difference method.Geopandas: отображение нескольких слоев на ноутбуке iPython
Чтобы проверить, что трансформация работает нормально, я использую ноутбук iPython для просмотра моих разных слоев.
Итак, вот Начальный моей манипуляции:
%matplotlib inline
# this line is just for a correct plotting in an iPython nb
import pandas as pd
import geopandas as gp
from shapely.geometry import Point
df = pd.read_csv("historical_monuments.csv", sep = ",")
geometry = [Point(xy) for xy in zip(fichier.Longitude, fichier.Latitude)]
# I convert two columns of my csv for geographic information displaying
df = df.drop(['Longitude', 'Latitude'], axis = 1)
# just delete two columns of my first df to avoid redundancy
geodf = gp.GeoDataFrame(file, crs=None, geometry=geometry)
Тогда, чтобы увидеть мои очки, я просто написал:
geodf.plot(marker='o', color='red', markersize=5)
Вот результат:
Это супер хорошо. Теперь я просто хочу добавить в этот слой точку с большим радиусом. Я попытался это:
base = gdf.plot(marker='o', color='red', markersize=5)
# the first plotting becomes a variable to reuse it
center_coord = [Point(6.18, 48.696000)]
center = gp.GeoDataFrame(crs=None, geometry=center_coord)
circle = center.buffer(0.001)
Тогда, я просто подумал, что это команда будет достаточно:
circle.plot(ax=base, color = 'white')
Но вместо графического отображения, мой ноутбук возвращается:
<matplotlib.axes._subplots.AxesSubplot at 0x7f763bdde5c0>
<matplotlib.figure.Figure at 0x7f763be5ef60>
И я не нашел, что может быть неправильным до сих пор ...
Привет, щебет и большое спасибо за ваш ответ. Просто протестировал решение, но получил _NameError: имя «plt» не определено_ для plt.subplots() ... Какой модуль я пропустил? EDIT: отлично работает! – Raphadasilva
О, yeha, это была моя ошибка, я забыл добавить «import matplotlib.pyplot as plt» – schlump