Contour-Plot auf einen Hohlzylinder

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
albo22
User
Beiträge: 2
Registriert: Donnerstag 12. Juli 2018, 19:13

Donnerstag 12. Juli 2018, 19:42

Hallo Leute,
ich habe gerade angefangen mit Python und stehe auch schon vor dem ersten Problem. Ich möchte einen Hohlzylinder im 3D Raum darstellen. Das habe ich schonmal hinbekommen (ein erstes kleines Erfolgserlebnis :lol: ). Der Code dafür sieht so aus:

Code: Alles auswählen

import numpy as np
import matplotlib as mlp
import matplotlib.pyplot as plt
import mpl_toolkits.mplot3d.axes3d as axes3d


ri = 100
ra = 300
h=50

# input xy coordinates
xy = np.array([[ri,0],[ra,0],[ra,h],[ri,h],[ri,0]])
# radial component is x values of input
r = xy[:,0]
# angular component is one revolution of 30 steps
phi = np.linspace(0, 2*np.pi, 30)
# create grid
R,Phi = np.meshgrid(r,phi)
# transform to cartesian coordinates
X = R*np.cos(Phi)
Y = R*np.sin(Phi)
# Z values are y values, repeated 30 times
Z = np.tile(xy[:,1],len(Y)).reshape(Y.shape)


fig = plt.figure()
ax = fig.add_subplot(1, 1, 1, projection='3d')
#ax2 = fig.add_axes([0.05,0.7,0.15,.2])

#ax2.plot(xy[:,0],xy[:,1], color="k")
ax.set_zlim(0,200)
ax.plot_surface(X, Y, Z, alpha=0.5, color='lightgrey', rstride=1, cstride=1)



plt.show()
Die nächste wichtige Sache für mich wäre eine farbliche Darstellung von Werten entlang des Radius des Hohlzylinders auf der oberen Fläche des Hohlzylinders. Hier mal eine Skizze wie ich es mir ungefähr vorstelle: Bild.
Ich habe schon recherchiert und auch was gefunden, wo ich mir vorstellen könnte. dass es zu meinem Problem passt: contour plot. Allerdings verstehe ich einfach nicht wie diese Funktion funktioniert und wie ich da meine eigenen Werte einbinden kann.
Meine Werte sehen ungefähr so aus:
0|10
1|15
2|20
3|30

Der erste Wert steht für einen Radius und der zweite Wert entspricht z.B. der Beschleunigung der Scheibe an dieser Stelle des Radius.
Ich bin ziemlich verzweifelt, ich hoffe jemand hat einen Tipp wie ich diese Sache angehen kann.
Beste Grüße!!
albo22
User
Beiträge: 2
Registriert: Donnerstag 12. Juli 2018, 19:13

Sonntag 15. Juli 2018, 13:10

Keiner eine Idee ? :(
Antworten