J'ai trois listes xs, ys, zs de points de données dans Python et j'essaie de créer un tracé 3D avec matplotlib
en utilisant la méthode scatter3d
.
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
plt.xlim(290)
plt.ylim(301)
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.scatter(xs, ys, zs)
plt.savefig('dateiname.png')
plt.close()
Les fonctions plt.xlim()
et plt.ylim()
fonctionnent bien, mais je ne trouve pas de fonction pour définir les bordures dans la direction z. Comment faire?
Utilisez simplement le set_zlim
fonction de l'objet axes
(comme vous l'avez déjà fait avec set_zlabel
, qui n'est pas non plus disponible en tant que plt.zlabel
):
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
import numpy as np
xs = np.random.random(10)
ys = np.random.random(10)
zs = np.random.random(10)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.set_xlabel('X')
ax.set_ylabel('Y')
ax.set_zlabel('Z')
ax.scatter(xs, ys, zs)
ax.set_zlim(-10,10)