установить диапазон цветовой шкалы с контуром - PullRequest
0 голосов
/ 06 декабря 2018

Это может показаться дубликатом этого вопроса:

Установить диапазон цветовой шкалы в matplotlib

По сути, я хочу установить диапазон цветовой шкалы для установки пределов, например:От 0 до 2. Когда я использую vmin и vmax, диапазон цветов в contourf установлен правильно, но цветная полоса показывает только ограниченный диапазон, то есть решение в ссылке не работает при использовании contourf.Я что-то упускаю из виду?

import numpy as np
import matplotlib.pyplot as plt
fld=np.random.rand(10,10)
img=plt.contourf(fld,20,cmap='coolwarm',vmin=0,vmax=2)
plt.colorbar(img)

В результате

enter image description here

Как заставить диапазон цветовых полос быть от 0 до 2с контуром?

1 Ответ

0 голосов
/ 06 декабря 2018

contourf действительно работает немного иначе, чем другие ScalarMappable с.Если вы укажете количество уровней (в данном случае 20), они будут переведены между минимальным и максимальным данными (приблизительно).Если вы хотите, чтобы уровни n находились между двумя конкретными значениями vmin и vmax, вам необходимо указать их для функции контурной обработки

levels = np.linspace(vmin, vmax, n+1)
plt.contourf(fld,levels=levels,cmap='coolwarm')

Полный код:

import numpy as np
import matplotlib.pyplot as plt
fld=np.random.rand(10,10)
levels = np.linspace(0,2,21)
img=plt.contourf(fld,levels=levels,cmap='coolwarm')
plt.colorbar(img)
plt.show()

enter image description here

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