Page 1 of 1

Erzeugen einer diskreten polaren Oberflächenkarte in kartesischen Koordinaten

Posted: 05 Apr 2025, 21:07
by Anonymous
Ich möchte ein Oberflächendiagramm mit diskreten Lichtbogenzellen auf einer 2D-kartesischen Ebene erzeugen. Ich bin in der Lage, anständige Ergebnisse zu erzielen, indem ich ein 3D -Oberflächendiagramm (unter Verwendung von Plot_Surface ) und von oben angezeigt habe, aber Matplotlib kann mit 3D etwas pickig sein, also würde ich es vorziehen, es in 2D zu tun. Ich kann auch ähnliche Ergebnisse unter Verwendung von pcolorMesh in einem polaren Diagramm erhalten, aber auch hier möchte ich eine 2D -kartesische Ebene. Wie kann ich das in Matplotlib machen? < /P>
mre: < /p>

Code: Select all

import numpy as np
import matplotlib.pyplot as plt

r = np.linspace(2, 5, 25)
theta = np.linspace(0, np.pi, 25)
R, Theta = np.meshgrid(r, theta)

X = R*np.cos(Theta)
Y = r*np.sin(Theta)
U = R*np.cos(Theta)*np.exp(R*Theta/500)

fig, ax = plt.subplots(figsize=(8,6), subplot_kw={"projection":"3d"})
surf = ax.plot_surface(X, Y, U, cmap="viridis", rstride=1, cstride=1)
ax.view_init(elev=90, azim=-90)
ax.set_proj_type("ortho")
ax.zaxis.line.set_lw(0.)
ax.set_zticks([])
ax.set_aspect("equalxy")
fig.colorbar(surf, shrink=0.5, aspect=5)
fig.tight_layout()

fig, ax = plt.subplots(figsize=(8,6), subplot_kw={"projection":"polar"})
ax.pcolor(Theta, R, U, shading="nearest")
ax.set_xlim(0, np.pi)
ax.grid(False)
fig.tight_layout()
3D -Plot -Version:
2D Polar Plot Version: