Konkret ist es folgendes Problem: Ich habe l, h und u werte. l und h spannen ein Querprofil auf und haben verschiedene geschwindigkeitswerte (u) die ich gern als Konturplot darstellen mag.
Ich denke die wichtigsten Teile meines Codes dabei sind
Code: Alles auswählen
grid_x1, grid_y1 = np.mgrid[min(l1):max(l1):1391j, min(h1):max(h1):23j]
grid_x2, grid_y2 = np.mgrid[min(l2):max(l2):1786j, min(h2):max(h2):31j]
matrix1 = np.vstack([l1, h1]).T
matrix2 = np.vstack([l2, h2]).T
vel1 = griddata(matrix1, u1, (grid_x1, grid_y1), method="nearest", fill_value=np.nan)
vel2 = griddata(matrix2, u2, (grid_x2, grid_y2), method="nearest", fill_value=np.nan)
Code: Alles auswählen
fig, axs = plt.subplots(nrows=3, ncols=1, layout="constrained")
fig.suptitle("Profil XS 2 - Vergleich Netz 2-0 und 2-1")
ax = axs[0]
contour = ax.contourf(grid_x1, grid_y1, vel1, levels=np.linspace(0, 2, 101), cmap=cm)
cbar = plt.colorbar(contour)
cbar.set_label("U Magnitude [m/s]")
cbar.set_ticks([0, 0.5, 1, 1.5, 2])
ax.xaxis.set_inverted(True)
ax.set_title("Netz 2-0")
ax.set_aspect(10/1)
aktuelle habe ich 2 Datensätze eingeladen und es passiert beim ersten datensatz genau das was passieren soll: Alle Punkte außerhalb des Profils haben eine Geschwindigkeit von 0, alle innerhalb nicht. Beim zweiten ist das aber nicht so und die Punkte außerhalb bekommen die Geschwindigkeit vom untersten Wert zugeschrieben.
Das Profil ist quasi so aufgebaut, dass die "oberen Werte" alle eine einheitliche Höhe haben, die unteren aber verschiedene Höhen. Es ist also kein klassisches Recheck sondern eher ... hügelig.
Und bei den meisten datensätzen bekommen die Punkte außerhalb des profils eben den Wert des letzten punktes innerhalb des Profils zugeschrieben.
Cubic und linear habe ich auch schon als Interpolationsmethode ausprobiert, aber das klappt auch nicht.
Bei Cubic werden die Werte selbst eher falsch interpoliert und auf einmal sind da Datenspitzen die nicht da sein sollten.
Bei linear ist das problem nicht so extrem wie bei nearest, aber auch vorhanden.
Ich hoffe ich konnte mein Problem halbwegs verständlich erklären ... bilder hochladen geht leider nicht, sonst wäre es etwas einfacher
