Matlab - 根据标准绘制的颜色标记

Matlab - Colour markers in plot according to criteria

我有一个关于 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 post 是相似的,但不知道如何实现它。

此外,是否可以在之后添加带有标记颜色的图例?

您可以使用 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×3 RGB 颜色数组。例如,要恰好有 12 种颜色,您可以这样做:

 colormap(jet(12));

最佳,