Почему установка фиксированной цветовой шкалы не удалась в этом случае? - PullRequest
0 голосов
/ 02 октября 2018

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

from numpy import linspace, pi, ndarray, random
import matplotlib
matplotlib.use('Agg')
from matplotlib.pyplot import figure

lon = linspace(start=0, stop=2*pi, num=100)
colat = linspace(start=0, stop=9, num=10)
emission = ndarray(shape=(10, 100, 5), dtype=float)
for t in range(5):
    emission[:, :, t] = random.rand(10, 100)

fig = figure(num='emission', figsize=(15, 15))
em_pos = [0.05, 0.1, 0.8, 0.8]
emc_pos = [0.9, 0.1, 0.05, 0.8]
for t in range(5):
    fig.clear()

    ax = fig.add_subplot(121, polar=True, position=em_pos)
    axcont = ax.contourf(lon, colat, emission[:, :, t], vmin=0, vmax=2)

    axc = fig.add_subplot(122, position=emc_pos)
    fig.colorbar(mappable=axcont, cax=axc)

    fig.savefig(fname='emission{0:d}.png'.format(t), format='png')

1 Ответ

0 голосов
/ 10 октября 2018

Кажется, проблема решена.Это не проблема цветовой шкалы, а проблема contourf.Когда я заменил

ax.contourf(lon, colat, emission[:, :, t], vmin=0, vmax=2)

на

ax.pcolormesh(lon, colat, emission[:, :, t], vmin=0, vmax=2)

Тогда цветная шкала показывает правильный диапазон.Действительно, это не полное решение, pcolormesh отличается в некоторых аспектах от contourf, но оно отвечает моим потребностям.

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