2013-05-24 2 views
0

У меня есть вопрос относительно функции Matlab gplot. Я хотел бы позвонить gplot несколько раз в for -loop, чтобы построить несколько графиков/дорожек на том же рисунке.
Однако я хотел бы использовать больше цветов, чем обычно доступно. С обычной командой сюжета это может, например, быть сделано следующим образом:Matlab gplot дополнительные цвета, определенные пользователем

plot([1 2],[3 4],'Color',[rand rand rand]) 

, но это, кажется, не представляется возможным в gplot. Кто-нибудь знает как это сделать. Мой код в настоящее время:

col=char('r', 'g', 'm', 'y','r', 'g', 'm', 'y') 
hold all 
for i=1:k 
gplot(Cell_Matrix{i},coordinates,col(i)) 
end 
hold off 

Так что теперь я повторял, используя тот же цвет (за исключением некоторых я не хочу), но я хотел бы добавить путь больше новых цветов (около 25 дополнительных).

ответ

0

Не самое чистое решение, но вы можете манипулировать по умолчанию графиком Matlab. Поэтому, прежде чем существующий код, звоните:

figure; 
colors = get(gca,'ColorOrder'); 

colors теперь содержит данные о цвете для цвета по умолчанию цикла от Matlab при использовании hold all. Вы должны уметь удалять и добавлять строки RGB-значений в эту матрицу.

Например, чтобы просто использовать k случайные цвета:

colors = rand(k, 3); 

После этого матрица устанавливается на ваше удовлетворение, просто заменить порядок цветов в текущих осей с:

set(gca,'ColorOrder',colors) 

Затем выполните измененная версия оставшейся части вашего опубликованного кода:

hold all; 
for i=1:k 
    gplot(Cell_Matrix{i},coordinates) 
end 
Смежные вопросы