Цветовая карта Normplot в MATLAB

У меня есть набор векторов в форме матрицы n на m, из которой я хотел бы рассчитать m наложенных нормплоттов. Это просто:

c=rand(100,10);
figure
normplot(c)

График норм автоматически окрашивает каждый столбец данных, но я хотел бы контролировать, как они окрашиваются. В частности, мне нужно сделать их оттенками серого. Первый набор данных (столбец 1) должен быть белым (или близким к белому), а последний — черным.


person Christian Lundmand Jensen    schedule 08.04.2013    source источник
comment
Поскольку у меня не установлен Matlab, я могу только дать ссылку на соответствующую страницу справки от MathWorks: [Определение собственного порядка цветов](mathworks.de/de/help/matlab/creating_plots/)   -  person wagnerpeer    schedule 08.04.2013


Ответы (1)


Получив дескрипторы построенных линий, вы могли бы сделать что-то вроде этого:

close all;
n = 100;
m = 10;
doc=rand(n,m);
figure;

% obtain the handle h to the dotted lines
h = normplot(doc);

% define colormap
g = colormap('gray');

for i = 1:m
    %set(h([1 11 21]),'color','r') % to set color to red
    %set(h([1 11 21]),'marker','o') % to change marker

    % mapping into greyscale color map (g has size 64x3)
    set(h([i i+m i+2*m]),'color',g(round(i * size(g,1)/m),:));
end

введите здесь описание изображения

person Tobold    schedule 08.04.2013