график

Постройте график timeseries

Синтаксис

plot(ts)
plot(ts,specs)

Описание

пример

plot(ts) отображает на графике данные timeseries в ts против времени, интерполируя значения между выборками.

plot(ts,specs) отображает на графике данные timeseries с помощью линейного графика и применяет заданный specs к строкам, маркерам или обоим. Можно также задать пары "имя-значение", чтобы задать Line Properties.

Примеры

свернуть все

Создайте объект временных рядов, установите дату начала, и затем постройте график временного вектора относительно даты начала.

x = [2 5 8 2 11 3 6];
ts1 = timeseries(x,1:7);

ts1.Name = 'Daily Count';
ts1.TimeInfo.Units = 'days';
ts1.TimeInfo.StartDate = '01-Jan-2011';     % Set start date.
ts1.TimeInfo.Format = 'mmm dd, yy';       % Set format for display on x-axis.

ts1.Time = ts1.Time - ts1.Time(1);        % Express time relative to the start date.

plot(ts1)

Создайте два объекта временных рядов из данных количества трафика, и затем постройте график их в последовательности на тех же осях. Добавьте событие к одному ряду, который автоматически отображен с красным маркером.

load count.dat;
count1 = timeseries(count(:,1),1:24);
count1.Name = 'Oak St. Traffic Count';
count1.TimeInfo.Units = 'hours';
plot(count1,':b')
grid on

Получите время максимального значения и добавьте его как событие:

[~,index] = max(count1.Data);
max_event = tsdata.event('peak',count1.Time(index));
max_event.Units = 'hours';

Добавьте событие к временному ряду:

count1 = addevent(count1,max_event);

Замените график на новый, показывающий событие:

plot(count1,'.-b')
grid on

Сделайте новый объект временных рядов из столбца 2 того же источника данных:

count2 = timeseries(count(:,2),1:24);
count2.Name = 'Maple St. Traffic Count';
count2.TimeInfo.Units = 'Hours';

Поворот держится, чтобы добавить новые данные к графику:

hold on

Метод графика не добавляет метки к сохраненному графику. Используйте пары свойства/значения, чтобы настроить маркеры:

plot(count2,'s-m','MarkerSize',6),

Метки стираются, поэтому сгенерируйте их вручную:

title('Time Series: Oak Street and Maple Street')
xlabel('Hour of day')
ylabel('Vehicle count')

Добавьте легенду в верхнем левом углу:

legend('Oak St.','Maple St.','Location','northwest')

Входные параметры

свернуть все

Введите timeseries, заданный как скаляр.

Спецификации строки, заданные как вектор символа, задающий внешний вид строк, маркеров или обоих. Смотрите LineSpec для получения дополнительной информации. Можно также задать пары "имя-значение", чтобы задать Line Properties.

Типы данных: char

Советы

  • Функция plot генерирует заголовки и подписи по осям автоматически. Эти метки:

    • Постройте график заголовка — 'Time Series Plot: <name>'

      где <name> является строкой, присвоенной ts.Name, или по умолчанию, 'unnamed'

    • Метка оси X — 'Time (<units>)'

      где <units> является значением поля ts.TimeInfo.Units, который значения по умолчанию к 'seconds'

    • Метка оси Y — '<name>'

      где <name> является строкой, присвоенной ts.Name, или по умолчанию, 'unnamed'

  • Можно поместить новые данные временных рядов по графику временных рядов (установкой  hold on, например, и дающий другую команду timeseries/plot). Когда вы добавляете данные к графику, заголовок и подписи по осям становятся пустыми строками, чтобы не маркировать беспорядок. Можно добавить ваш владеть марками после графического изображения использования title, xlabel и команд ylabel.

  • События временных рядов, когда задано, отмечены в графике с круговым маркером с красной заливкой. Можно также задать маркеры для всех точек данных с помощью linespec или назвать/оценить синтаксис в дополнение к любым маркерам события, которые задают данные. Маркеры события строят график сверху маркеров, которые вы задаете.

  • Значение, присвоенное ts.DataInfo.Interpolation.Name, управляет типом интерполяции использование метода plot при графическом изображении и передискретизации данных временных рядов. Вызовите метод timeseries, setinterpmethod, чтобы изменить линейную интерполяцию по умолчанию на нулевой порядок содержит интерполяцию (лестница). Этот метод создает новый объект timeseries, с которым можно перезаписать исходный, если вы хотите. Например, чтобы заставить временной ряд ts использовать нулевой порядок содержит интерполяцию, вводит следующее:

    ts = ts.setinterpmethod('zoh');

Представлено до R2006a

Была ли эта тема полезной?