Comment faire un nuage de points 3D en Python?
-
22-09-2019 - |
Question
Je suis actuellement ont une matrice NX3. Je veux tracer les trois colonnes que de trois axes. Comment puis je faire ça?
Je l'ai googlé et les gens a suggéré d'utiliser Matlab , mais je suis vraiment un moment difficile avec le comprendre. Je dois aussi être un nuage de points.
Quelqu'un peut-il me enseigner?
La solution
Vous pouvez utiliser matplotlib pour cela. matplotlib a mplot3d qui va faire exactement ce que vous voulez.
from matplotlib import pyplot
from mpl_toolkits.mplot3d import Axes3D
import random
fig = pyplot.figure()
ax = Axes3D(fig)
sequence_containing_x_vals = list(range(0, 100))
sequence_containing_y_vals = list(range(0, 100))
sequence_containing_z_vals = list(range(0, 100))
random.shuffle(sequence_containing_x_vals)
random.shuffle(sequence_containing_y_vals)
random.shuffle(sequence_containing_z_vals)
ax.scatter(sequence_containing_x_vals, sequence_containing_y_vals, sequence_containing_z_vals)
pyplot.show()
Le code ci-dessus génère une figure comme:
Autres conseils
Utilisez le code suivant cela a fonctionné pour moi:
# Create the figure
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
# Generate the values
x_vals = X_iso[:, 0:1]
y_vals = X_iso[:, 1:2]
z_vals = X_iso[:, 2:3]
# Plot the values
ax.scatter(x_vals, y_vals, z_vals, c = 'b', marker='o')
ax.set_xlabel('X-axis')
ax.set_ylabel('Y-axis')
ax.set_zlabel('Z-axis')
plt.show()
lorsque X_iso est ma matrice 3-D et pour X_vals, Y_vals, Z_vals I copié / utilisé une colonne / axe de ce réseau et attribué à ces variables / tableaux, respectivement.
Utilisez plutôt asymptote!
est ce qu'il peut ressembler à:
http://asymptote.sourceforge.net/gallery/3D%20graphs /helix.pdf
Voici le code: http://asymptote.sourceforge.net/gallery/3D%20graphs/helix. asy
Asymptote peut également lire dans les fichiers de données.
Et la galerie complète: http://asymptote.sourceforge.net/gallery/
Pour utiliser asymptote à partir de Python:
http://www.tex.ac .uk / tex-archive / graphiques / asymptote / base / asymptote.py