2014-06-17 3 views
1

Je souhaite tracer un fil conducteur et un nuage de points dans la même parcelle. Voici ce que je fais:Deux graphiques différents dans la même parcelle

from mpl_toolkits.mplot3d import axes3d 
import matplotlib.pyplot as plt 
import numpy as np 

fig = plt.figure() 

ax1 = fig.add_subplot(111, projection='3d') 
X, Y, Z = axes3d.get_test_data(0.05) 
ax1.plot_wireframe(X, Y, Z, rstride=10, cstride=10) 

ax2 = fig.add_subplot(111, projection='3d') 
xs = np.array([ 1, 0 ,2 ]) 
ys = np.array([ 1, 0, 2 ]) 
zs = np.array([ 1, 2, 3 ]) 
ax2.scatter(xs, ys, zs) 

plt.show() 

Ce script donne simplement le nuage de points. Commenter tout bloc et vous obtenez l'intrigue non commentée. Mais ils ne vont pas sur la même parcelle ensemble.

Répondre

3

Lorsque vous add_subplot(111) à nouveau, vous remplacez la sous-parcelle précédente. Ne faites pas cela, et tracez deux fois les mêmes axes:

from mpl_toolkits.mplot3d import axes3d 
import matplotlib.pyplot as plt 
import numpy as np 

fig = plt.figure() 

ax = fig.add_subplot(111, projection='3d') 
X, Y, Z = axes3d.get_test_data(0.05) 
ax.plot_wireframe(X, Y, Z, rstride=10, cstride=10) 

xs = np.array([ 1, 0 ,2 ]) 
ys = np.array([ 1, 0, 2 ]) 
zs = np.array([ 1, 2, 3 ]) 
ax.scatter(xs, ys, zs) 

plt.show() 
Questions connexes