mplot3d Funktionen mit read_csv verwenden z.B bar3d
Verfasst: Montag 3. Februar 2020, 13:19
Hallo
Ich habe eine Frage.
In der Regel lese ich irgendwelche Daten ein mit.
df = pd.read_csv("name.csv",sep = ",")
Und in der Regel möchte ich sie dann irgendwie in Diagrammen darstellen.
Aber es artet immer im herumprobieren aus ich bekomme irgendwelche Fehlermeldungen mit denen ich nichts anfangen kann und ich weiß nie
was jetzt genau das Problem. ist.
Ich mache mal ein Beispiel:
xpos = [0,1,2,3,4,5,6,7,8,9,10]
ypos = [0,1,2,3,4,5,6,7,8,9,10]
zpos = [1,0,0,0,0,0,0,0,0,0,0]
dx = [1,1,1,1,1,1,1,1,1,1,1]
dy = [1,1,1,1,1,1,1,1,1,1,1]
dz = [9,2,1,3,4,5,6,3,9,1,2]
fig = plt.figure()
ax = fig.add_subplot(2, 2, 1, projection='3d')
ax.bar3d(xpos, ypos, zpos, dx, dy, dz, color = "red" , shade=True)
plt.show()
funktioniert wunderbar. Aber würde ich die Daten in eine csv datein schreiben und einlesen,
weiß ich einfach nicht mehr wie man das am besten anstellt.
Und ich beginne einfach im Chaos alle Syntax Varianten auszuprobieren bis es irgendwann durch Zufall funktioniert.
Und in der Doku finde ich auch selten was es genau will:
https://matplotlib.org/mpl_toolkits/mplot3d/api.html
also versuche ich erstmal irgendwie die Werte zu bekommen.
xv = df[["x"]]
yv = df[["y"]]
zv = df[["z"]]
dann brauche ich eventuell
xv = df[["x"]].values
yv = df[["y"]].values
zv = df[["z"]].values
ax.bar3d(xv , yv, zv, xv , yv, zv, color = "red" , shade=True)
Und bekomme ValueError: incompatible dimensions for cross product
(dimension must be 2 or 3)
Ich verstehe einfach nicht was er will und welcher von den vielen Parametern falsch ist.
Wenn ich mir das im Debugger ansehe sehe ich auch das xpos und xv ganz unterschiedliche Datentypen sind.
Aber ich kapiere einfach nicht wie man es "richtig" macht. Und an welche Stelle im Doku man darauf schließen sollte.
Wie macht man es richtig und wie ließt man das Doku richtig das man die Fragen sich gar nicht stellen muss ?
Weil mit jeder neuen Funktion beginne ich wieder bei 0 und probiere einfach herum.
Grüße
Ich habe eine Frage.
In der Regel lese ich irgendwelche Daten ein mit.
df = pd.read_csv("name.csv",sep = ",")
Und in der Regel möchte ich sie dann irgendwie in Diagrammen darstellen.
Aber es artet immer im herumprobieren aus ich bekomme irgendwelche Fehlermeldungen mit denen ich nichts anfangen kann und ich weiß nie
was jetzt genau das Problem. ist.
Ich mache mal ein Beispiel:
xpos = [0,1,2,3,4,5,6,7,8,9,10]
ypos = [0,1,2,3,4,5,6,7,8,9,10]
zpos = [1,0,0,0,0,0,0,0,0,0,0]
dx = [1,1,1,1,1,1,1,1,1,1,1]
dy = [1,1,1,1,1,1,1,1,1,1,1]
dz = [9,2,1,3,4,5,6,3,9,1,2]
fig = plt.figure()
ax = fig.add_subplot(2, 2, 1, projection='3d')
ax.bar3d(xpos, ypos, zpos, dx, dy, dz, color = "red" , shade=True)
plt.show()
funktioniert wunderbar. Aber würde ich die Daten in eine csv datein schreiben und einlesen,
weiß ich einfach nicht mehr wie man das am besten anstellt.
Und ich beginne einfach im Chaos alle Syntax Varianten auszuprobieren bis es irgendwann durch Zufall funktioniert.
Und in der Doku finde ich auch selten was es genau will:
https://matplotlib.org/mpl_toolkits/mplot3d/api.html
also versuche ich erstmal irgendwie die Werte zu bekommen.
xv = df[["x"]]
yv = df[["y"]]
zv = df[["z"]]
dann brauche ich eventuell
xv = df[["x"]].values
yv = df[["y"]].values
zv = df[["z"]].values
ax.bar3d(xv , yv, zv, xv , yv, zv, color = "red" , shade=True)
Und bekomme ValueError: incompatible dimensions for cross product
(dimension must be 2 or 3)
Ich verstehe einfach nicht was er will und welcher von den vielen Parametern falsch ist.
Wenn ich mir das im Debugger ansehe sehe ich auch das xpos und xv ganz unterschiedliche Datentypen sind.
Aber ich kapiere einfach nicht wie man es "richtig" macht. Und an welche Stelle im Doku man darauf schließen sollte.
Wie macht man es richtig und wie ließt man das Doku richtig das man die Fragen sich gar nicht stellen muss ?
Weil mit jeder neuen Funktion beginne ich wieder bei 0 und probiere einfach herum.
Grüße