我在matlab图上有一个快速的问题。我想在每个点上画一条带有圆形标记的线,但我希望标记根据某些标准具有不同的颜色。我设法在标记上显示不同的标准,但我无法改变它们的颜色。
更具体地说明以下代码:
我想要的是标准1为一种颜色的标记,标准为2的标记为另一种颜色,依此类推。
下面的代码绘制了带有标记的行以及标记内的标准。
% plot the data
figure
d3 = vals;
n = 1:numel(d3);
plot(n,d3, '-ob','markersize',10,'markerfacecolor','w');
for idx = 1:numel(d3)
text(n(idx),d3(idx), num2str(RiskierInd(idx)),...
'FontSize',8,...
'HorizontalAlignment','center');
end
我确实检查过类似的this帖子,但无法弄清楚如何实现它。
此外,是否可以添加带有标记颜色的图例?
答案 0 :(得分:1)
您可以使用scatter
代替plot
。你可以替换
plot(n,d3, '-ob','markersize',10,'markerfacecolor','w');
与
hold on
plot(n, d3,'b-');
scatter(n, d3, [], RiskierInd, 'filled');
caxis([1 12]);
然后,要显示颜色和值之间的对应关系,只需将colorbar
添加到代码中即可。
编辑如果要定义自定义颜色,可以将colormap
与自定义的n-by-3 RGB颜色数组一起使用。例如,你可以做到12种颜色:
colormap(jet(12));
最佳,