Использование pcolormesh () для проекции на географическую карту [дубликат]

Указатель NULL - это тот, который указывает на никуда. Когда вы разыскиваете указатель p, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p является нулевым указателем, местоположение, хранящееся в p, является nowhere, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception.

В общем, это потому, что что-то не было правильно инициализировано.

3
задан Ajean 7 August 2015 в 01:02
поделиться

1 ответ

Я бы интерполировал данные на регулярной сетке. Например, вы можете использовать LinearTriInterpolator .

So:

import matplotlib.tri as mtri

Затем замените вашу строку

cs = m.pcolormesh( lons, lats, data, shading='flat', latlon=True, vmin=0, vmax=100)

на что-то как

ngrid = 50
rlons = np.repeat(np.linspace(np.min(lons), np.max(lons), ngrid),
                  ngrid).reshape(ngrid, ngrid)
rlats = np.repeat(np.linspace(np.min(lats), np.max(lats), ngrid),
                  ngrid).reshape(ngrid, ngrid).T
tli = mtri.LinearTriInterpolator(mtri.Triangulation(lons.flatten(), lats.flatten()),
                                 data.flatten())
rdata = tli(rlons, rlats)
cs = m.pcolormesh(rlons, rlats, rdata, latlon=True, vmin=0, vmax=100)

3
ответ дан GBy 17 August 2018 в 20:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: