Mit MatPlotLib möchte ich eine Kugel zeichnen, indem ich eine Reihe von Kugelkoordinaten aufzeichnet. Ich bin auf halbem Weg, aber ich kann nicht ganz erreichen, was ich will.Zeichnen einer Drahtgitterkugel mit MatPlotLib
Bisher hat die folgenden Code:
import numpy as np
import matplotlib.pyplot as plt
import mpl_toolkits.mplot3d.axes3d as axes3d
theta, phi = np.linspace(0, 2 * np.pi, 13), np.linspace(0, np.pi, 7)
THETA, PHI = np.meshgrid(theta, phi)
R = 1.0
X = R * np.sin(PHI) * np.cos(THETA)
Y = R * np.sin(PHI) * np.sin(THETA)
Z = R * np.cos(PHI)
fig = plt.figure()
ax = fig.add_subplot(1,1,1, projection='3d')
plot = ax.plot_surface(X, Y, Z, rstride=1, cstride=1, linewidth=0, color='white', antialiased=False, alpha=1, frameon=False)
plt.show()
Erzeugt die folgende Handlung:
Was ich will jetzt tun zu können, sind die folgenden zwei Dinge:
Beenden Sie die Schattierung jeder Oberfläche, so dass alle Oberflächen th sind Die gleiche Farbe (weiß). Zeichnen Sie stattdessen eine Linie (schwarz) zwischen jede Oberfläche. Auf diese Weise sollte die Kugel wie ein Drahtgitter statt eines schattierten festen Objekts aussehen. Ich habe versucht
shade=False
inax.plot_surface(...)
, und dies bringt mich auf halbem Wege durch Anhalten der Schattierung - aber alle Oberflächen am Ende sind die gleiche Farbe, und so ohne den Draht Rahmen, können Sie nicht zwischen jeder Oberfläche unterscheiden.Entfernen Sie die Achsen aus dem Diagramm, so dass die Kugel nur für sich allein steht. Ich habe
frameon=False
inax.plot_surface(...)
versucht, aber das gibt mir den Fehler:AttributeError: Unknown property frameon
.
Irgendwelche Hilfe?
Vielen Dank!