123 votes

Comment créer un diagramme de dispersion 3D dans matplotlib

Je possède actuellement un tableau matriciel nx3. Je veux tracer les trois colonnes comme trois axes. Comment je peux faire ça ?

J'ai googlé et les gens ont suggéré d'utiliser Matlab, mais j'ai vraiment du mal à le comprendre. J'ai aussi besoin que ce soit un complot dispersé.

Quelqu'un peut m'apprendre ?

14voto

Saeed Ullah Points 142

Utilisez le code suivant qui 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()

tandis que X_iso est mon tableau 3D et que pour X_vals, Y_vals, Z_vals, j'ai copié/utilisé 1 colonne/axe de ce tableau et affecté à ces variables/tableaux respectivement.

3voto

Aman Bagrecha Points 231
from mpl_toolkits import mplot3d
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax = plt.axes(projection='3d')

diagramme de dispersion

zdata = 15 * np.random.random(100)
xdata = np.sin(zdata) + 0.1 * np.random.randn(100)
ydata = np.cos(zdata) + 0.1 * np.random.randn(100)
ax.scatter3D(xdata, ydata, zdata);
enter image description here

Carnet Colab

1voto

J.F. Sebastian Points 102961

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X