Matplotlib is a bad choice for this. This does not allow true 3D graphics, and it will not handle the complexity (or the number of points in 3D) that you need. Take a look at mayavi instead.
, , ? ( , .)
:
from enthought.mayavi import mlab
import numpy as np
x, y, z, mag = np.random.random((4, 500))
wellx, welly, wellz = 3 * [np.linspace(0, 1.5, 10)]
wellz = wellz**2
mlab.points3d(x, y, z, mag)
mlab.plot3d(wellx, welly, wellz, tube_radius=0.1)
mlab.show()

, , , :
x, y, z = np.loadtxt('data.txt').T
?