Можно ли циклически перебирать MarkerFaceColor в Matlab? - PullRequest
0 голосов
/ 05 марта 2012

В качестве примера я хочу сделать именно следующее:

cc=gray(100);

for i=1:100
    plot(i,i,'o','MarkerFaceColor',cc(i,:,:));
    hold on;
end;

... но без цикла for, то есть автоматически повторяется - что-то вроде:

i=1:100;
plot(i,i,'o','MarkerFaceColor',cc(i,:,:));

Ясно, что следующие работы:

i=1:100;
plot(i,i,'o');

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

Во всяком случае, я надеялся, что это возможно, и если так, каким может быть правильный синтаксис.

Спасибо за чтение и понимание, которое у вас есть,

Приветствия

Бен.

1 Ответ

0 голосов
/ 06 марта 2012

Проверьте функцию scatter .Требуется дополнительный цветовой вектор, который вы можете создать самостоятельно из цветовой карты.Добавление опции «заполнено» в качестве последнего параметра приведет к заполнению маркеров.

Так что я думаю, что-то вроде следующего должно работать:

cm = gray(100);
x = 1:100;
scatter(x,x,[],cm,'filled')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...