Как я могу установить Linestyle по умолчанию для участков в Matlab?

StackOverflow https://stackoverflow.com/questions/4258341

Вопрос

У меня есть массив данных, которые я хотел бы построить

temp=0.5*rand(500,10);
[~,offset]=meshgrid(1:500,1:10);
figure(101)
plot(temp+offset')

Как я могу установить стиль линии для автоматического изменения на следующий стиль после того, как цвета линии пройдут через один цикл?

Для этого примера я хотел бы 8-10-й строчки, чтобы иметь другой стиль линии. Я могу сделать это вручную, но я хотел бы, чтобы Matlab сделать это для меня, если я смогу установить вариант по умолчанию где-то.

Это было полезно?

Решение

Ваша первая наклона может быть просто изменить 'LineStyleOrder' свойство осей перед построением ваших данных. К сожалению, высокоуровневые функции построения, такие как УЧАСТОК будет сбросить 'LineStyleOrder' свойство осей к этому значение по умолчанию '-'перед построением. Одно решение для Измените значение по умолчанию используется всеми осями объектами на Уровень корня. Отказ Например:

set(0,'DefaultAxesLineStyleOrder',{'-',':'});

Сначала будет использовать твердую линию, затем пунктирную линию, а затем повторить снова при необходимости для каждого графика. Обратите внимание, что вы также можете использовать обычай 'ColorOrder' свойство С помощью высокоуровневых функций построения, изменив значение по умолчанию в корне. В следующем примере это изменит это так УЧАСТОК циклы между красным, зеленым и синим:

set(0,'DefaultAxesColorOrder',[1 0 0; 0 1 0; 0 0 1]);

Вместо того, чтобы беспокоиться о различных стилях линии, другое решение вашей проблемы было бы установить цвет по умолчанию, чтобы иметь более 7 цветов.

Как только значения свойств по умолчанию устанавливаются в корне, они останутся таким, пока MatLab не будет закрыт. При включении, значения свойств по умолчанию будут настроены на их заводские значения. Команды нравятся ЯСНО Не установит свойства по умолчанию обратно на их заводские значения. Вместо этого вы должны установить значение свойства по умолчанию на 'remove' Чтобы отменить пользовательские значения, как так:

set(0,'DefaultAxesLineStyleOrder','remove');  %# Sets the default back to '-'

Как еще одна альтернатива изменению свойств по умолчанию, используемое все Объекты осей, если вы измените NextPlot свойство отдельных осей к чему-либо кроме 'replace' Затем вы можете изменить 'LineStyleOrder' или 'ColorOrder' свойства к тому, что вы хотите и УЧАСТОК не сбросит их по умолчанию. Например, это должно делать то, что вы хотите, а также:

set(gca,'NextPlot','add','LineStyleOrder',{'-',':'});
plot(temp+offset');
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top