Здравствуйте, я пытаюсь построить карту США и отметить различные города по всей стране. Я получил карту для работы. Но у меня две проблемы. Во-первых, я получаю сообщение об ошибке:Построение карты с помощью геофизики и matplotlib в Jupyter Notebook
AttributeError: 'NoneType' object has no attribute 'longitude'
Во-вторых, я пытался увеличить график с помощью атрибута plt.figsize однако моя карта все еще остается один и тот же размер.
И, наконец, это не проблема, но что, если я хотел бы наметить точки с названиями городов Как я могу это сделать?
Вот мой код карты:
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
from geopy.geocoders import Nominatim
import math
city_list = list(flight_data["OriginCityName"].unique())
cities = city_list
scale = 1
map = Basemap(width=10000000,height=6000000,projection='lcc',
resolution=None,lat_1=45.,lat_2=55,lat_0=50,lon_0=-107.)
plt.figure(figsize=(19,20))
map.bluemarble()
# Get the location of each city and plot it
geolocator = Nominatim()
for city in cities:
loc = geolocator.geocode(city)
if not loc:
print("Could not locate {}".format(city))
continue
x, y = map(loc.longitude, loc.latitude)
map.plot(x,y,marker='o',color='Red',markersize=5)
plt.annotate(city, xy = (x,y), xytext=(-20,20))
plt.show()
Эй, фиджиз работает. но когда я использовал цикл for, вы дали мне красные точки на карте, которые не отображаются, также plt.annotate не работает, он говорит, что метка не определена –
@DeepakM Я думаю, что я был немного неясен. Я опубликовал только модификацию начала цикла for. Я добавил остальных к моему ответу выше. Метка - это название города, которое отображается рядом с точками. Также добавлено. –
эй человек действительно ценит всю помощь, извините, что беспокоил вас снова, но почему это происходит с ошибкой NameError: name 'count' не определен @ e-dschungel –