繁体   English   中英

Matlab-根据标准在图中的颜色标记

[英]Matlab - Colour markers in plot according to criteria

我对Matlab图有一个快速的问题。 我想在每个点上画一条带有圆形标记的线,但是我希望这些标记根据某些条件具有不同的颜色。 我设法在标记上显示了不同的标准,但无法更改它们的颜色。

更具体地讲以下代码:

  • d3是该图的y值的(1x240)向量。
  • RiskierInd是具有条件的(1x240)矩阵(其值从1到12)。

我想要的是标准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

在此处输入图片说明

我确实检查了这篇类似的文章,但不知道如何实现。

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

您可以为此使用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与自定义正3阵列的RGB颜色。 例如,要完全具有12种颜色,您可以执行以下操作:

 colormap(jet(12));

最好,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM