Ошибка контура за пределами экстента с помощью картопии ОртографическийPython

Программы на Python
Ответить
Anonymous
 Ошибка контура за пределами экстента с помощью картопии Ортографический

Сообщение Anonymous »

Я пытаюсь построить этот массив данных xarray (файл здесь):

Код: Выделить всё

file_cyclic :


array([[66.66666667, 61.53846154, 52.94117647, ..., 66.66666667,
68.75      , 66.66666667],
[58.82352941, 57.14285714, 50.        , ..., 82.35294118,
75.        , 58.82352941],
[66.66666667, 66.66666667, 64.28571429, ..., 75.        ,
72.22222222, 66.66666667],
...,
[85.91549296, 87.14285714, 85.07462687, ..., 86.95652174,
87.67123288, 85.91549296],
[92.06349206, 91.80327869, 88.70967742, ..., 93.5483871 ,
90.76923077, 92.06349206],
[92.59259259, 92.85714286, 91.07142857, ..., 90.56603774,
90.19607843, 92.59259259]])
Coordinates:
* longitude  (longitude) float32 0.0 1.0 2.0 3.0 ... 357.0 358.0 359.0 360.0
* latitude   (latitude) float32 -60.0 -61.0 -62.0 -63.0 ... -83.0 -84.0 -85.0
используя этот код:

Код: Выделить всё

import xarray as xr
import matplotlib.pyplot as plt
import numpy as np
import cartopy.crs as ccrs

file_cyclic = xr.open_dataset('./my_data.nc') #If you want to try with my data
file_cyclic= file_cyclic['__xarray_dataarray_variable__'] #If you want to try with my data

plt.close('all')

fig, ax = plt.subplots(1, 1, figsize=(12, 12),
subplot_kw={'projection': ccrs.Orthographic(central_latitude=-90, central_longitude=0),
'transform': ccrs.PlateCarree()})
cont = file_cyclic.plot.contourf(levels=np.arange(0,100.1,5),cmap='YlGnBu', transform=ccrs.PlateCarree(), vmin=0, vmax=100, ax=ax,add_colorbar=True, extend='neither')

ax.coastlines()
ax.set_extent([file_cyclic.longitude.min(), file_cyclic.longitude.max(), file_cyclic.latitude.min(), file_cyclic.latitude.max()], crs=ccrs.PlateCarree())
Я обнаружил ошибку: у меня отключена цветовая шкала, и область без данных (где у меня 0, nan или вообще нет данных) заполняется цветом...Ошибка
Однако, когда я меняю уровни на:

Код: Выделить всё

levels=np.arange(1,100.1,5)
ошибок не возникает, но это не те уровни, которые мне нужны.
ошибок нет, но это не те уровни, которые мне нужны
ошибок нет, но это не те уровни, которые мне нужны
ошибок нет, но это не те уровни, которые мне нужны
p>
Не понимаю откуда это, т. к. когда вручную ставил

Код: Выделить всё

levels=[  1,   5.,  10.,  15.,  20.,  25.,  30.,  35.,  40.,  45.,  50.,
55.,  60.,  65.,  70.,  75.,  80.,  85.,  90.,  95., 100.]
ошибка все еще здесь, поэтому она не исходит из самого нижнего уровня.
Изменился только нижний уровень, ошибка все еще есть
ошибка также здесь, если я изменю более высокий уровень...
Это не просто заполнение моей области без данных, иначе я бы вырезал эту область из графика, это тоже беспорядок с моей цветовой гаммой, так что это огромная проблема.
Как можно Я справлюсь?
Спасибо,

Подробнее здесь: https://stackoverflow.com/questions/793 ... thographic
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»