2017-06-17 71 views
0

我无法绘制分类的数据算法中使用numpy的,因为它抛出这个错误在data变量这个样子的ValueError: x and y must be the same size蟒蛇如何绘制分类数据

我的数据:

[[ 34.62365962 78.02469282 0.  ] 
[ 30.28671077 43.89499752 0.  ] 
[ 35.84740877 72.90219803 0.  ] 
[ 60.18259939 86.3085521 1.  ] 
[ 79.03273605 75.34437644 1.  ] 
[ 45.08327748 56.31637178 0.  ] 
[ 61.10666454 96.51142588 1.  ] 
[ 75.02474557 46.55401354 1.  ]] 

代码:

data=np.loadtxt('ex2data1.txt',delimiter=',',dtype=None) 
X = data[:, [0,1]] 
y = data[:, 2] 
pylab.scatter(X,y) 
pylab.show() 

我想要绘制此:

enter image description here

+0

当你绘制一个点,你必须给它是那个点的'x'和'y'坐标。目前,您正试图为每个“y”值绘制两个“x”值,但它不知道如何映射它们。使用你当前的代码,最简单的事情就是复制第二行'x'值的'y'值并将其全部绘制出来。 –

回答

2

最简单的方法是将已解压缩数据,同时加载

import matplotlib.pyplot as plt 

x,y,c = np.loadtxt('ex2data1.txt',delimiter=',', unpack=True) 
plt.scatter(x,y,c=c) 
plt.show() 

很明显,你可以做拆包也算账,

import matplotlib.pyplot as plt 

data = np.loadtxt('ex2data1.txt',delimiter=',') 
plt.scatter(data[:,0],data[:,1],c=data[:,2]) 
plt.show()