2015-05-19 29 views
5

Python'da tek bir değişken işlevinin çizilmesi matplotlib ile oldukça basittir. Fakat dağılım grafiğine üçüncü bir eksen eklemeyi deniyorum, böylece çok değişkenli modelimi görselleştirebiliyorum.Python'da çok değişkenli bir fonksiyon nasıl çizilir?

%pylab inline 
import matplotlib.pyplot as pl 
pl.scatter(x_train, y_train) 
pl.plot(x_train, ols.predict(x_train)) 
pl.xlabel('x') 
pl.ylabel('y') 
: Bu muhtemelen en uygun bir arsa & hattını oluşturmak için böyle bir şey kullanmak istiyorum sadece tek bir değişken modeli ise

import numpy as np 
np.random.seed(2) 
## generate a random data set 
x = np.random.randn(30, 2) 
x[:, 1] = x[:, 1] * 100 
y = 11*x[:,0] + 3.4*x[:,1] - 4 + np.random.randn(30) ##the model 

: Burada

30 çıkışları ile, bir örnek snippet'ine

Çok değişkenli görselleştirme için eşdeğer nedir?

+0

* * - Need yıllık ankette bu? –

+1

@BhargavRao Ha! Bunlara ömür boyu ihtiyacım var! Araç setimi genişletmeye çalışıyorum. Ama evet, bu olası bir uygulama. çok daha fazla vardır. – samthebrand

+0

da '% matplotlib defterini kullan ve tarayıcıda etkileşimli grafikler al (bu IPython defter, IPython kullan> 3.0, mpl> 1.4) – tacaswell

cevap

4

gibi bir şey kullanabilirsiniz. Örneğin:

import numpy as np 
import matplotlib.pyplot as plt 
np.random.seed(2) 

## generate a random data set 
x, y = np.random.randn(2, 30) 
y *= 100 
z = 11*x + 3.4*y - 4 + np.random.randn(30) ##the model 

fig, ax = plt.subplots() 
scat = ax.scatter(x, y, c=z, s=200, marker='o') 
fig.colorbar(scat) 

plt.show() 

enter image description here

+0

Teşekkürler Joe. Dolu, çalışan kodu dahil etmek için doğru işaretlenmiş. – samthebrand

4

mplot3d'u kullanabilirsiniz. Bir dağılım grafiği için, en yaygın yaklaşım dağılım sembollerin renk ve/veya boyutunu değiştirmektir

fig = plt.figure() 
ax = fig.add_subplot(111, projection='3d') 
ax.scatter(xs, ys, zs) 
+1

mpl_toolkits.mplot3d import Axes3D çalışmasını sağlar – kztd