#python #matplotlib #geospatial #matplotlib-basemap #colorbar
#python #matplotlib #геопространственный #matplotlib-базовая карта #цветная панель
Вопрос:
Я пытаюсь скопировать метод, который был выполнен на этой странице: https://makersportal.com/blog/2018/7/20/geographic-mapping-from-a-csv-file-using-python-and-basemap в разделе «Сопоставление интересных данных», чтобы иметь цветную полосу, связанную с моими данными.
Прямо сейчас я просто получаю простую карту Южной Америки, которую я хочу использовать в качестве фона, но данные не включены.
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
m = Basemap(projection='mill',
llcrnrlat = -30, #bottom
llcrnrlon = -120, #left
urcrnrlat = 20, #top
urcrnrlon = -50, #right
resolution='c')
m.drawcoastlines()
m.drawcountries()
# format colors for elevation range
SST_min = np.min(df5.DaasgardSST)
SST_max = np.max(df5.DaasgardSST)
cmap = plt.get_cmap('gist_earth')
normalize = matplotlib.colors.Normalize(vmin=SST_min, vmax=SST_max)
# plot SST with different colors
for i in range(0,len(df5.DaasgardSST)):
x,y = m(lon,lat)
color_interp = np.interp(df5,[SST_min,SST_max],[0,30])
plt.plot(x,y,marker='o',markersize=6,color=cmap(int(color_interp)))
# format the colorbar
cax, _ = matplotlib.colorbar.make_axes(ax)
cbar = matplotlib.colorbar.ColorbarBase(cax, cmap=cmap,norm=normalize,label='Elevation')
plt.title('Title')
plt.show()
Комментарии:
1. Попробуйте
m.plot()
вместоplt.plot()
.2. Если вы получаете карту, но нет данных, то вы убедились, что у вас правильный формат для форматирования lat / lon? Не могу видеть ваши данные.