Probleme mit plot_surface über einen großen Bereich

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
naddel83
User
Beiträge: 8
Registriert: Freitag 9. Mai 2014, 08:28

Hallo.
Ich habe ein Problem, was ich nicht wirklich verstehe.
Im folgenden seht ihr ein plot_surface, das wunderbar klappt - jedoch nur für einen kleinen Ausschnitt vom Ganzen:

Code: Alles auswählen

a = np.arange(-2e3, 2.05e3, 0.1e3, dtype=float)
b = np.arange(-10.0, 10.1, 0.5, dtype=float)
x = f(a,b) #einfach eine Funktion

aRich = a[18:23]
bRich = b[18:23]
x_min = x[18:23,18:23]

fig = plt.figure()
ax = fig.add_subplot(1, 1, 1, projection='3d')
X, Y = np.meshgrid(aRich/1e3, bRich)
im = ax.plot_surface(X, Y, x_min, rstride=1, cstride=1, linewidth=0, cmap=cm.gist_rainbow, antialiased=False, shade=False)
plt.show()
Wenn ich aber nun über den ganzen Bereich von a und b mit den dazugehörigen Werten von x plotten möchte

Code: Alles auswählen

X, Y = np.meshgrid(a/1e3, b)
x = f(a,b)
im = ax.plot_surface(X, Y, x, rstride=1, cstride=1, linewidth=0, cmap=cm.gist_rainbow, antialiased=False, shade=False)
plt.show()
dann zeigt er mit einen Fehler: ValueError: too many values to unpack
Kann mir jemand erklären oder auch eine Lösung für mein Problem geben?

Danke im Voraus.
boletus999
User
Beiträge: 25
Registriert: Dienstag 27. August 2013, 07:04

Schau mal nach, was diese "einfache Funktion" zurückliefert.

Code: Alles auswählen

x = f(a,b) #einfach eine Funktion
Hier ein Beispiel weshalb du diesen Fehler bekommst:

Code: Alles auswählen

In [1]: a = [1,4,6,8]

In [2]: x,y,z = a
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
...
ValueError: too many values to unpack

Theory is when you know everything but nothing works.
Practice is when everything works but no one knows why.
In my office, theory and practice are combined:
nothing works and no one knows why.
naddel83
User
Beiträge: 8
Registriert: Freitag 9. Mai 2014, 08:28

Vielen Dank für den Tip. Die Funktion war ein 3D-Array, welches ich in ein 2D Array umwandeln musste. Manchmal ist es so einfach. :-)
Antworten