2013-12-03 3 views
1

Пусть я сюжет что-то вроде:Как изменить маркеры для конкретных точек на участке

x = 1:10; 
y = 10 * x; 
plot(x, y) 

что я должен делать, если я хочу определенные точки на графике, чтобы иметь определенный маркер (в то время как все остальные точки остаются нейтральными)?

Например, у меня есть логическая матрица, как показано ниже:

I = logical([0 0 0 0 1 0 0 1 0 0]); 

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

ответ

1

AFAIK вам нужно будет использовать другую команду plot для специальных маркеров (это может повлиять на поведение legend, но я не уверен).

plot(x, y); % regular plot 
hold on; % make sure old plot sticks around 
plot(x(I), y(I), 'h'); % only markers as stars 

Например (y=rand(1,10)): enter image description here

+1

'I' логично, так что' х (I) и 'у (I),' должно быть достаточно. –

+0

@EitanT Вы правы. Но поскольку «Я» отправлен в вопрос, он не на 100% ясен, это действительно логический массив. Итак, я решил быть в безопасности на этом. – Shai

+0

явно говорит, что 'I' логичен. –

Смежные вопросы