Konturfehler außerhalb der Ausdehnung mit Kartopie Orthographisch
Posted: 20 Jan 2025, 14:57
Ich versuche, dieses Xarray-Datenarray (Datei hier) zu zeichnen:
mit diesem Code:
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:
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
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,
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
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())
Wenn ich jedoch die Ebenen ändere:
Code: Select all
levels=np.arange(1,100.1,5)
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.]
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,