2016-06-22 1 views
0

Я черчения данных с помощью последующей деятельности кодаMatlab - установить colororder по умолчанию

plot(x,y) 
hold on 
plot(x2,y2) 

и участки всегда синего цвета. Что когда-нибудь я пытаюсь изменить свойство цвета заказа со следующим кодом:

set(0, 'DefaultAxesColorOrder',co) 

где со представляет собой матрицу RGB, чем проверить порядок цветов с помощью следующей функции:

get(0, 'DefaultAxesColorOrder') 
get(gca,'colororder') 

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

[EDIT # 1] Вот выход для функции ПОЛУЧИТЬ

enter image description here

+0

Можете ли вы показать нам свою матрицу RGB? – Coriolis

+0

@ Кориолисы там вы идете. Я взял его с форума matwork, в ответ упоминалось, что это матрица по умолчанию для Matlab 2014R, я думаю. Мы видим, что это не один и тот же цвет во всем мире. – MathieuL

+0

Вы должны использовать более старую версию MATLAB, в этом случае вам нужно использовать 'hold all' вместо' hold on'. Я думаю, что это было изменено с 2014 года и дальше – Dan

ответ

0

Ваш код отлично работает для меня (MATLAB R2015a), за исключением я установить цвет перед тем черчения. Кажется, что команда set не обновляет ваш сюжет, потому что может не понимать дескриптор графика. Я попытался это:

figure; 
co = [0 0 0; 0.4, 0.4, 0.4; 0.7, 0.7, 0.7]; 
set(0,'DefaultAxesColorOrder',co) 
plot([1 2],[1 2]) 
hold on; 
plot([1,2],[1,3]) 

Он показывает черную линию и серую линию.

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