2015-03-19 2 views
1

У меня есть следующие переменные, которые я хочу построить на карте: Lons, список долгот, Lats, список широт и Vals, список значений для каждого местоположения ,Plotting цвет закодированные маркеры в Matplotlib-базовая карта

Чтобы построить места, я простой

x,y=Mymap(Lons,Lats) 
Mymap.scatter(x,y,marker='o',color='red') 

Q: как я лучше превратить мою Vals в список цветов (Heatmap), чтобы быть переданы в scatter, так что каждый x,y пара получает значения, соответствующие цвету?

Документы базовой карты не хватает, и ни один из примеров не подходит для моих целей.

Возможно, я мог бы пройти через все мои Lats, Lons и Vals, но учитывая, как медленная базовая карта, я бы предпочел избежать этого. Мне уже приходится рисовать около 800 карт, и увеличение этого до примерно 1 миллиона, вероятно, займет годы.

ответ

2

basemap scatter documentation просто относится к pyplot.scatter documentation, где вы можете найти параметр с (курсив мой):

гр: цвет или последовательность цветов, опционально, по умолчанию

c может быть единственной строкой формата цвета или последовательностью цветовых спецификаций длины N, или последовательностью N номеров, которые должны отображаться в цвета с использованием cmap a и определенную через kwargs (см. ниже). Обратите внимание, что c не должно быть одиночной числовой RGB или RGBA-последовательностью, потому что это неотличимо от массива значений, которые должны быть сопоставлены. c может быть двухмерным массивом, в котором строки являются RGB или RGBA.

Так что, если вы просто передать vals -с, Matplotlib должны преобразовать значение цветов на стандартной палитре или chosen colormap. Чтобы показать, какой цвет отображается на какое значение, вы можете использовать colorbar.

Пример кода:

import matplotlib.pyplot as plt 

lons = range(50) 
lats = range(25, 75) 
vals = range(50,100) 

plt.scatter(lons, lats, c=vals, cmap='afmhot') 
plt.colorbar() 
plt.show() 
+0

Спасибо, что работает. Я только оглядывался в основной документации, так как я думал, что часть api является внутренним материалом, только полезная, когда вы хотите поменять вещи под капотом. –

Смежные вопросы