我需要为散点图的特定点指定某些颜色。我已经写了这样的事情:在MATLAB中为散点图的某些点指定某些颜色
Color = zeros(size(Check,1),1);
for i = 1:size(Check,1)
if Check(i) == 0
Color(i) = [0.3010 0.7450 0.9330];
elseif Check(i) == 1
Color(i) = [0.4660 0.6740 0.1880];
elseif Check(i) == 2
Color(i) = [0.9290 0.6940 0.1250];
elseif Check(i) == 3
Color(i) = [0.8500 0.3250 0.0980];
elseif Check(i) == 4
Color(i) = [0.6350 0.0780 0.1840];
end
end
scatter(x,y,Color,'filled','s');
要注意的是 'X', 'Y', '颜色' 和 '检查' 具有相同的尺寸(15000×1)。 '检查'中的数字是'0','1','2','3'或'4'。我只需要根据我在“检查”矩阵中的数字为散点图分配五种不同的颜色。颜色应该是我在代码中使用的那些颜色,因为我需要这个阴谋与我已有的另一个条形图匹配。任何帮助将不胜感激!
感谢您的回答。它效果很好。但是你知道我可以如何为这5种不同颜色的散点图添加一个图例吗? – Antonio
嗯,这是一个混乱的方式来做到这一点,但我找不到更干净的方法。基本上,我们需要创建5个不同的散点图,以便图例条目参考这5个不同的图。 (x(Check == 1),y(Check == 1),'filled','Cdata',Check(Check == 1));'';'; (x(Check == 2),y(Check == 2),'filled','CData',Check(Check == 2))' ...对3-5做相同的处理 ' hold';' 'legend('1','2','3','4','5');' – user2831602
非常感谢您的回答。我尝试了你所说的,但它给了我整个传奇只有一种颜色!你对什么是错的有什么想法吗?我也使用colormap(Color),但它不起作用。 – Antonio