Как указать диапазон цветовой шкалы и сохранить его независимо от значений графика - PullRequest
0 голосов
/ 05 июня 2018

Я напечатал это прошлой ночью, затем, когда я собирался представить это, я понял это.Отправка на случай, если кому-то еще это понадобится.

Я строю метеорологические значения для каждого часа для нескольких дней на базовой карте.

Я хочу сохранить одинаковые значения цветовой шкалы для каждой карты.Допустим, от 0 до 10 для каждого сюжета.

Иногда все значения очень близки к нулю, а для других они колеблются от 0 до 10.

for file in files:
    ncfile = Dataset(file)
    cbarticks=np.arange(0.0,10.0,0.5)
    bm.contour(x, y, to_np(energyproduction), 10, colors="black",vmin=0,vmax=10.0)
    bm.contourf(x, y, to_np(energyproduction), 10,cmap = get_cmap('jet'),vmin=0,vmax=10.0)
    plt.colorbar(shrink=.62,ticks=cbarticks)
    plt.show()

Я установил его так, чтобы минимальное и максимальное значения всегда были 0 и 10.И что галочки всегда 0-10 с шагом 0,5.Как я могу заставить цветную полосу остаться прежней.

Plot showing colorbar when there is little difference in the data

Plot showing colorbar when there is larger differences in the data

Я бы предпочел, чтобы цветовая полоса всегда имела одинаковый диапазон

1 Ответ

0 голосов
/ 05 июня 2018

Проблема была в моем contour () и contourf ().До этого я проходил 10 в рамках функции.

bm.contour(x, y, to_np(energyproduction), 10, colors="black",vmin=0,vmax=10.0)
bm.contourf(x, y, to_np(energyproduction), 10,cmap = get_cmap('jet'),vmin=0,vmax=10.0)

Обозначение 10 означает, что между минимальным и максимальным значением графика есть 10 шагов.Так что, если есть только значения 0-1, вы получите 0,1 приращения контуров построения графиков и т. Д.

Удаление 10 и просмотр его в cbarticks, я смог получить одинаковые значения цветовой шкалы для каждого графика независимо от того,ценности.

for file in files:
     ncfile = Dataset(file)
     cbarticks=np.arange(0.0,10.0,0.5)
     bm.contour(x, y, to_np(energyproduction), cbarticks, colors="black",vmin=0,vmax=10.0)
     bm.contourf(x, y, to_np(energyproduction), cbarticks, cmap = get_cmap('jet'),vmin=0,vmax=10.0)
     plt.colorbar(shrink=.62,ticks=cbarticks)
     plt.show()

Я считаю, что это то же самое обозначение «уровней» в контуре базовой карты.

enter image description here

enter image description here

...