Установить клим для сюжетов осей геоплана - PullRequest
1 голос
/ 15 января 2020

Я использую геоплот, который использует matplotlib для создания графиков.

Одна из таких функций - geoplot.pointplot, которая создает AxesSubplot каждый раз, когда вы ее вызываете. Это позволяет вам вызывать его несколько раз и накладывать кучу pointplot с. Базовый код просто создает matplotlib scatter.

. Моя проблема в том, что для каждого из этих pointplot s, geoplot назначает им индивидуально уникальный cmap, и поэтому, если один график является желтым в значение 40, другое может быть синим. Это проблема, так как я не хочу иметь несколько легенд для одного сюжета. В идеале все графики следуют одной легенде, и значения согласуются между графиками.

Ниже приведен пример:

enter image description here

Любая помощь в решении этого будет высоко ценится. Я пытался кормить vmin и vmax до geoplot.pointplot, но каждый из них не имел никакого влияния.

РЕДАКТИРОВАТЬ:

Я нашел "решение". Добавляя точку к каждому субплоту на южном полюсе, он выходит за границы графика и, как таковой, искусственно увеличивает диапазон цветовой шкалы. Я не отвечаю на это, потому что это очень хакерский способ получить то, что я хочу, и не идеальный. Это делается с помощью следующего кода:

t = t.append({'altitude': max_alt, 'geometry': Point(0, -90)}

1 Ответ

1 голос
/ 16 января 2020

«Правильный» способ сделать это - создать экземпляр matplotlib.cm.cmap вместе с matplotlib.colors.Normalize и передать их в geoplot.pointplot через аргументы ключевых слов cmap и norm соответственно. Цветовая карта, используемая изображением в вопросе, viridis, вот пример создания и нормализации viridis cmap:

import numpy as np
from matplotlib import colors, cm

cmap = cm.get_cmap('viridis')
norm = colors.Normalize(min(x), max(x))

. Это приведет к нормализации цветовой карты в масштабе x, вы бы затем передавали эти объекты в каждый вызов geoplot.pointplot,

geoplot.pointplot(..., cmap=cmap, norm=norm)
geoplot.pointplot(..., cmap=cmap, norm=norm)
# etc...

Это даст вам одну и ту же цветную полосу на всех графиках.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...