matplotlib绘制不同颜色的散点图
matplotlib绘制不同颜色的散点图
·
在对数据通过散点图进行分析时,对于分类任务而言,我们希望不同label的对应的点标记成不同颜色。类似于下面这种:
具体的实现:
对于scatter绘制散点图,该函数的主要参数有x,y,s,c:
def scatter(self, x, y, s=None, c=None, **kwargs):
其中x,y表示每个点的x坐标与y坐标,s表示每个点的大小,也就是标记点的大小,c表示每个点的颜色。
对于分类任务的标签一般是0,1,2…这样的离散值,因此可以直接label向量传入s与c,这样绘制的图就会与label关联起来。而不用每种label的数据单独调用一次scatter,进而绘制出上图的效果。另外可以通过常数乘label的值来调整点的大小。而label的颜色是与cmap关联的,根据c的值之间的相对大小,对应cmap中的某个颜色。
代码:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
# feature表示特征向量,shape为m*2,label为list[]值包含0,1,2
ax0 = ax.scatter(feature[:, 0], feature[:, 1], 10*np.array(label), np.array(label), marker='o', cmap='viridis')
fig.colorbar(ax0)
plt.show()
参考:
更多推荐


所有评论(0)