В настоящее время я работаю с некоторыми геопространственными данными и хочу добавить цветную полосу рядом с картой. Я использовал следующий код для наложения базовой карты на график рассеяния. Тем не менее, я не могу получить правильный цвет рядом с ним. Может кто-нибудь найти причину такого поведения?
cm = plt.cm.get_cmap('RdYlBu') # define a colormap
fig,ax = plt.subplots(figsize=(15, 15))
city_map = df.plot(alpha=0.2, ax=ax) # plot a city contour
ctx.add_basemap(city_map) # plot a city map
points = gdf_new.plot(c=gdf_new['Score'], cmap=cm, ax=ax) # scatter plot
fig.colorbar(ax.collections[1], ax=ax) # current solution
pandas столбец gdf_new['Score']
содержит значения от 0 до 1, используемые для окрашивания точек.
Если я заменил последнюю строку на ниже, я получу :
для plt.colorbar()
- RuntimeError: No mappable was found to use for colorbar creation. First define a mappable such as an image (with imshow) or a contour set (with contourf)
для plt.colorbar(point)
- AttributeError: 'AxesSubplot' object has no attribute 'get_array'
Мое текущее решение заключается в добавлении: fig.colorbar(ax.collections[1], ax=ax)
- отображает правильное цветная полоса, но с неправильным диапазоном чисел 0-200 вместо 0-1.
Как это исправить?