0
У меня есть базовая карта построена с помощью следующего фрагмента кода:Отображение Легенда в Matplotlib BaseMap
#setting the size
plt.figure(figsize=(20,10))
#iterating through each country in shape file and filling them with color assigned using the colors array
for nshape,seg in enumerate(m.countries):
#getting x,y co-ordinates
xx,yy = zip(*seg)
#getting the corresponding color
color = colors[countryisos[nshape]]
#plotting them on the map
plt.fill(xx,yy,color,edgecolor=color)
#setting the parallels with 10 degree interval from -90 to 90 degrees
parallels = np.arange(-80.,81,10.)
m.drawparallels(parallels,labels=[True,True,True,True])
#setting the meridians with 20 degree interval from -180 to 180 degrees
meridians = np.arange(10.,351.,20.)
m.drawmeridians(meridians,labels=[True,False,False,True])
#setting the title for the plot
plt.title('Number of Disasters by Country: 1981-2014')
Три цвета присвоены цвета массива с помощью этой функции.
colors={}
#iterating through each country in shape file and setting the corresponding color
for s in countryisos:
if countvalues[s]<=200:
colors[s] = 'orange'
elif countvalues[s]>200 and countvalues[s]<=400:
colors[s] = 'yellow'
else:
colors[s] = 'red'
Как установить легенду для этого графика с тремя цветами, определяющими диапазон? Я не могу использовать параметр «label» внутри функции plot, так как он находится в цикле for.