Настройка цветов для функции построения графика в Matlab - PullRequest
4 голосов
/ 04 ноября 2011

Я хотел бы иметь возможность выбирать цвета для многострочного графика, но не могу его получить. Это мой код

colors = {'b','r','g'};
T = [0 1 2]';
column = [2 3];
count = magic(3);
SelecY = count(:,column),
plot(T,SelecY,'Color',colors{column});

Ответы [ 2 ]

4 голосов
/ 04 ноября 2011

Почему-то я не мог заставить его работать без ручек, но:

h = plot(T,SelecY);
set(h, {'Color'}, colors(column)');

У меня работает.

3 голосов
/ 04 ноября 2011

Таким образом, вы можете указать только один цвет за раз, и он должен быть указан как вектор RGB с 3 элементами.Ваши три маршрута:

  1. Прокрутите и укажите цвета по строке, как у вас:

    hold on
    for i=1:size(SelecY, 2)
        plot(T, SelecY(:,i), colors{i});
    end
    
  2. Использование цвета RGBСпецификация, вы можете передать цвета через свойство 'Color', как вы пытались сделать выше:

    cols = jet(8);
    hold on
    for i=1:size(SelecY, 2)
        plot(T, SelecY(:,i), 'Color', cols(i,:));
    end
    
  3. Также, используя способ RGB, вы можете указать ColorOrder впереди, а затем позвольте matlab циклически пройти:

    set(gca, 'ColorOrder', jet(3))
    hold all
    for i=1:size(SelecY, 2)
        plot(T, SelecY(:,i));
    end
    

Для установки цветов после факта см. другой ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...