MATLAB:带有probplot的色标

时间:2019-02-15 18:47:24

标签: matlab plot probability colormap

我有两个长度相同的1D向量datamy_parameter。我使用probplot来查看数据的概率图,如下所示:

h = probplot(gca, data);
%  in next line, want color based on my_parameter, not static color as used.
set(h, 'color', [0.5 0.5 0.5]);
set(h, 'marker', '.');

我想用my_parameter着色,目的是查看my_parameter的某些值是否偏离分布的正态性。有没有办法将色标(例如parula)与probplot函数结合使用?

我尝试过:

  • [0.5 0.5 0.5]替换为'parula'
  • [0.5 0.5 0.5]替换为parula
  • 用m行3列双矩阵替换[0.5 0.5 0.5],其中每行具有parulamy_parameter映射到的rgb值。 (所以m是my_parameter的长度。)
  • 摆脱行set(h, 'color', [0.5 0.5 0.5]);,并在设置的行下方添加行colormap(parula);

如果由于编写方式而无法直接使用probplot函数来执行此操作(例如,如果编写它仅接受3元素向量),我想我必须尝试使用probplot函数之一重写我自己的scatter版本。我可以仔细研究一下,但是在开始执行此操作之前,谁能指出我所擅长的资源?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

尝试一下:

x=rand(1,15); % dummy data to plot
probplot(x)
h = probplot(gca,x);
c = parula(10);

% this changes the color of the 'x' marks to be the first row of the parula matrix
h(1).Color = c(1,:); 

% this changes the color of the dashed line to be the 9th row of the parula matrix
h(2).Color = c(9,:)

上面产生了这个: enter image description here