Konturfehler außerhalb der Ausdehnung mit Kartopie OrthographischPython

Python-Programme
Guest
 Konturfehler außerhalb der Ausdehnung mit Kartopie Orthographisch

Post by Guest »

Ich versuche, dieses Xarray-Datenarray (Datei hier) zu zeichnen:

Code: Select all

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
mit diesem Code:

Code: Select all

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())
Ich bekomme einen Fehler: Meine Farbskala ist ausgeschaltet und sie füllt meinen Bereich ohne Daten (in dem ich eigentlich 0, nan oder keine Daten habe) mit Farbe...Fehler
Wenn ich jedoch die Ebenen ändere:

Code: Select all

levels=np.arange(1,100.1,5)
Es erzeugt keinen Fehler, aber das sind nicht die Level, die ich will.
Kein Fehler, aber nicht die Level, die ich will
Ich verstehe nicht, woher das kommt, seitdem ich es manuell eingegeben habe

Code: Select all

levels=[  1,   5.,  10.,  15.,  20.,  25.,  30.,  35.,  40.,  45.,  50.,
55.,  60.,  65.,  70.,  75.,  80.,  85.,  90.,  95., 100.]
Der Fehler ist immer noch da, also kommt er nicht von der untersten Ebene.
Nur die unterste Ebene wurde geändert, immer noch ein Fehler
Der Der Fehler tritt auch auf, wenn ich die höhere Ebene ändere...
Das füllt nicht nur meinen Bereich ohne Daten, sonst hätte ich diesen Bereich aus dem Plot herausgeschnitten, das ist auch ein Durcheinander mit meiner Farbskala, also ist das ein großes Problem.
Wie kann ich damit umgehen?
Danke,

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post