【问题标题】:python how to plot classification datapython如何绘制分类数据
【发布时间】:2017-11-20 01:53:34
【问题描述】:

我无法使用 numpy 为分类算法绘制数据,因为它会引发此错误 ValueError: x and y must be the same size

data 变量中的数据如下所示:

[[ 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()

我正在尝试绘制这个:

【问题讨论】:

  • 无论何时绘制一个点,都必须为其指定该点的xy 坐标。目前,您正在尝试为每个 y 值绘制两个 x 值,但它不知道如何映射它们。使用您当前的代码,最简单的方法是复制第二行 x 值的 y 值并以这种方式绘制所有这些值。

标签: python numpy matplotlib


【解决方案1】:

最简单的方法是在加载时解压数据

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()

【讨论】:

  • 如何为每个绘制的列表设置颜色?
  • @SundeepPidugu plt.scatter(data[:,0],data[:,1],c=data[:,2]) c 参数负责颜色
  • 如何设置图例?
猜你喜欢
  • 2019-03-28
  • 2021-08-09
  • 2019-03-19
  • 2020-12-13
  • 2018-05-25
  • 1970-01-01
  • 2018-03-12
  • 2016-12-21
  • 1970-01-01
相关资源
最近更新 更多