Ich versuche, ein Streudiagramm mit einigen Datenpunkten (x, y, z, Radius) zu machen, und das ist mein Ergebnis bisher:Scatter Plot 3D mit Etikett und Kugeln
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
x = np.random.rand(20)
y = np.random.rand(20)
z = np.random.rand(20)
r = np.random.rand(20)
plt.rc('text', usetex=True)
plt.rcParams['text.latex.preamble']=[r"\usepackage{amsmath}"]
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(x, y, z, s=np.pi*r**2*100, c='blue', alpha=0.75)
ax.set_xlabel(r'$x$ $\left[\frac{\text{Mpc}}{h}\right]$')
ax.set_ylabel(r'$y$ $\left[\frac{\text{Mpc}}{h}\right]$')
ax.set_zlabel(r'$z$ $\left[\frac{\text{Mpc}}{h}\right]$')
#plt.savefig('spheres.png')
plt.show()
Wie kann ich dieses Diagramm verbessern, um keine Überlappung der x- und y-Label mit den Tics zu haben?
Und es gibt eine Möglichkeit, Kugeln anstelle von Bereichen in diesem 3D-Plot zu machen?
das Label-Problem kann ich irgendwie nicht lösen, weil ich Latex-Font verwende ... aber danke für die Drahtgitter-Idee! – Andy