在gscatter中获得更明智色彩的简单方法

Cas*_*ira 2 matlab graph matlab-figure

我正在寻找一种简单的方法gscatter来选择更合理的颜色.

如下图所示,第3组和第4组的颜色非常相似,很难区分.

我正在使用我的数据绘图gscatter(X(:,1),X(:,4),assigns , [], [] ).

我知道我可以scatter通过创建一个与我拥有的组数量具有相同颜色数量的色彩图来手动获得更明智的颜色,但是如何获得像gscatter这样的好的图例而不会遍历每个组?

那么,是否有一种简单的(r)方法可以获得更明智的颜色gscatter

谢谢.

在此输入图像描述

Lui*_*ndo 6

第四个参数gscatter是颜色规范.根据文档,只有字母可用于定义颜色:

gscatter(x,y,group,clr,sym,siz)指定每个组的颜色,标记类型和大小.clrplot函数识别的字符串数组颜色.默认clr'bgrcmyk'.

但是如果你输入open gscatter并查看第一行中的注释(Matlab的旧式帮助),那就太惊喜了!

GSCATTER(X,Y,G,CLR,SYM,SIZ)指定
要使用的颜色,标记和大小.CLR是一系列颜色规格
颜色规格 的三列矩阵.

因此,您可以使用色彩图矩阵来定义所需的颜色(至少在Matlab R2014b中).

例:

load discrim
group(1:3:end) = 3; %// borrowing Benoit_11's idea to create two more groups
group(2:2:end) = 4;
cmap = hsv(4); %// define your colormap here
gscatter(ratings(:,1), ratings(:,2), group, cmap)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述