Я использую базовую карту matplotlib для построения траектории на основе данных в фрейме данных pandas.
Простое отображение данных широты и долготы, как показано ниже, отлично работает:
map = Basemap(projection='stere',lon_0=lon,lat_0=lat, llcrnrlon=-65, llcrnrlat=55, urcrnrlon=50 , urcrnrlat=75)
map.drawcountries()
map.bluemarble()
#Place marker at Kangerlussuaq
x,y = map(lon, lat)
map.plot(x, y, 'bo', markersize=10)
plt.text(x, y, ' Kangerlussuaq', fontsize=12)
#Plot trajectory
map.plot(datacopy.long.tolist(),
datacopy.lat.tolist(),
'r-',
latlon=True)
Тем не менее, я хочу, чтобы части траектории отображались с другим маркером в зависимости от температуры окружающей среды, измеренной на каждом широте / долготе, но следующий код дает мне ошибку:
ValueError: Значение истинности Серии неоднозначно. Используйте a.empty, a.bool (), a.item (), a.any () или a.all ().
if datacopy['Ambient temp']<280:
map.plot(datacopy.long.tolist(),
datacopy.lat.tolist(),
'r-',
latlon=True)
else:
map.plot(datacopy.long.tolist(),
datacopy.lat.tolist(),
'b-',
latlon=True)
Эта ошибка связана с тем, что данные находятся в кадре данных pandas и есть ли способ обойти это?
Спасибо