Ich habe 3 Listen x, y, z mit langen, lat, Wert. Ich versuche, eine Zeichnung mit Konturf und Maskoceans zu konstruieren. Das Ergebnis, das ich bekomme, ist nicht sehr gut in der Nähe der Küste. Der Versuch, Argumente von linspace zu erhöhen, führt zu Speicherfehlern. Gibt es eine Möglichkeit, bessere Ergebnisse in Küstennähe zu erzielen? Mein Code ist wie folgt:Matplotlib maskoceans Ergebnisse mit Hilfe von Listen
import numpy as np
import scipy.interpolate
from mpl_toolkits.basemap import Basemap,maskoceans
import matplotlib.pyplot as plt
x=[23.027008, 22.774524, 23.010211, 22.346053, 21.264416, 21.261967, 21.31769, 21.478437, 21.406678, 21.453064]
y=[36.547227, 36.824754, 37.482874, 37.61182, 37.873769, 37.935473, 37.978032, 38.139038, 38.162707, 38.168772]
z=[155.15, 354.86, 400.2, 47.16, 188.44, 277.01, 375.12, 87.71, 133.85, 123.56]
map =Basemap(projection='mill',
llcrnrlat=36.928942,llcrnrlon=21.696255,
urcrnrlat=38.03002,urcrnrlon=23.497298,
resolution='i')
map.drawcoastlines()
xi, yi = np.linspace(21,24, 100), np.linspace(36, 39, 100)
xi, yi = np.meshgrid(xi, yi)
xm,ym=map(xi,yi)
rbf = scipy.interpolate.Rbf(x, y, z, function='linear')
zi = rbf(xi, yi)
zm=maskoceans(xi,yi,zi,resolution='h',grid=1.25)
map.contourf(xm, ym, zm,cmap='jet')
map.colorbar()
plt.show()
Vielen Dank für Ihre Antwort. Mit den Einschränkungen von stackoverflow (Dateien können nicht hochgeladen werden) war die Frage nicht klar genug. weil es vereinfacht wurde. Tatsächlich verwende ich Python (pypyodbc), um eine Verbindung zu einer kleinen Datenbank herzustellen, um Werte zu erhalten. Normalerweise werden je nach Abfrage rund 600 Zeilen mit Longs, Lats und Werten abgerufen. Ich kann linspace Argument nicht sogar zu 300 nicht vergrößern, ohne den Speicher zu verlassen. Die anderen zwei Vorschläge/Korrekturen wurden natürlich angewandt –
Ah, OK, ich fürchte, ich bin nicht sicher, wie man das löst und nicht sicher dort ist viel mehr könnte getan werden, um bessere Auflösung an den Küsten zu bekommen. Eine andere Möglichkeit könnte sein, die Auflösung der Küstenlinien zu verringern? Schwer zu sagen, ohne die Feinheiten Ihres Problems zu kennen. Wenn Sie Probleme mit dem Speicher haben, lohnt es sich, eine weitere Frage mit einigen Details zu öffnen, um zu sehen, ob jemand helfen kann. –