2010-11-15 263 views
2

alt text用python繪製三維散點圖?

有什麼模塊可以幫助我生產這樣的東西嗎?

+0

適應這些都不是** **密度地塊,他們是** **散佈圖(你可以通過該方法名接受的答案告訴) 。我期待制作3D密度圖,這就是我在這裏結束的! – 2013-10-01 17:21:16

回答

6

this,說?

matplotlib 3D scatter plot http://matplotlib.sourceforge.net/_images/scatter3d_demo.png

matplotlib examples gallery是一件美妙的事情脫俗。


從鏈接示例複製的代碼。

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

def randrange(n, vmin, vmax): 
    return (vmax-vmin)*np.random.rand(n) + vmin 

fig = plt.figure() 
ax = fig.add_subplot(111, projection='3d') 
n = 100 
for c, m, zl, zh in [('r', 'o', -50, -25), ('b', '^', -30, -5)]: 
    xs = randrange(n, 23, 32) 
    ys = randrange(n, 0, 100) 
    zs = randrange(n, zl, zh) 
    ax.scatter(xs, ys, zs, c=c, marker=m) 

ax.set_xlabel('X Label') 
ax.set_ylabel('Y Label') 
ax.set_zlabel('Z Label') 

plt.show() 
+0

非常好的答案,應該幫助他:-) – 2010-11-15 20:51:50

3

Cookbook

from numpy import * 
import pylab as p 
import mpl_toolkits.mplot3d.axes3d as p3 

x=random.randn(100) 
y=random.randn(100) 
z=random.randn(100) 

fig=p.figure() 
ax = p3.Axes3D(fig) 
ax.scatter3D(ravel(x),ravel(y),ravel(z)) 
ax.set_xlabel('X') 
ax.set_ylabel('Y') 
ax.set_zlabel('Z') 
p.show()