Origin 2024b расширяет возможности манипулирования временными данными. В этом блоге основное внимание будет уделено функции Unstack by Time Interval, которая позволяет преобразовать данные формата (XY) в данные формата (XYXYXY…).
Этот инструмент находится в меню Restructure, и мы рассмотрим его возможности с использованием тестовых данных (Seal Level Honolulu.csv). Данный пример доступен внутри Origin2024b.
Преобразование данных длинного формата в данные широкого формата
- Импортируем файл \Samples\Data Manipulation\Sea Level Honolulu.csv. Этот файл содержит 43 494 строки данных зависимости уровня моря от времени. Если построить график таким образом, то он будет отображаться по годам, что затрудняет сравнение одного года с другим.
- Чтобы преобразовать их в широкий формат, выберем Restructure -> Unstack by Time Interval -> Open Dialog.
- Данные длинного формата будут разделены на пары XYXY для каждого года с добавлением строки Year для идентификации каждого интервала.
- Столбец времени отображается в формате МММ ДД, например, Jan 2. Если вы хотите отображать данные в формате ММ/ДД , например, 01/02 , снова откройте диалоговое окно (нажмите зеленый замок, затем Change Parameters… ) и установите Output Date/Time Column Format в нижней части диалогового окна на ММ/ДД.
- Нажмите Ctrl+A, чтобы выбрать весь лист, и выберите Plot -> Browser -> Stack Lines, чтобы построить график. Обратите внимание, что вы можете просматривать все графики (по одному из каждого столбца Y), используя браузер на левой панели. Однако одновременно отображается только один график.
- На левой панели щелкните правой кнопкой мыши заголовок Short Name и выберите Year. Это добавит в браузер столбец, отображающий информацию, содержащуюся в строке Year.
- Щелкните легенду один раз, чтобы открыть мини-панель инструментов, нажмите кнопку (Data Plot Legend Translation Mode), затем выберите Year . Это обновит источник информации, отображаемый в легенде.
- Дважды щелкните метки галочек нижней оси, чтобы открыть диалоговое окно Axis, и измените Display на Apr (только месяц). Нажмите ОК.
- Нажмите один раз на нижнюю ось и используйте красную точку на концах оси, чтобы настроить поля To и From, чтобы они отображали целый год. Следите за черным модулем отображения данных в нижней части экрана, но не обращайте внимания на конкретный год, который он отображает.
- Теперь ваш график должен выглядеть так:
- нажмите Ctrl+Click, чтобы выбрать различные года, или Shift+Click, чтобы выбрать диапазон лет слева для сравнения годовых данных. Вы можете быстро сделать выбор между графиками каждые десять лет, щелкнув стрелку вниз слева и выбрав Select Every 10th.
- Щелкните один раз легенду и выберите кнопку (Attach to Plot) на мини-панели инструментов. Теперь легенда распределена так, чтобы соответствовать каждому графику, что позволяет легко найти соответствующий год.
- Чтобы сравнить только летние месяцы, снова нажмите на нижнюю ось и используйте красные точки, чтобы отрегулировать масштаб.
- Вы также можете отменить выбор суммирования в раскрывающемся меню, чтобы точно сравнить изменения значений. Например, на следующем графике Stacked Lines by Y Offset не отмечены и показаны данные за каждый 20-й год (с помощью меню Select every Nth). Хорошо видно, что летний уровень моря в 2005 году был значительно выше, чем в 1905 году.
Контролируйте начальное значение и конечное значение интервала
В зависимости от исследования вам может потребоваться разложить данные по разным интервалам (например, начиная с июля) или по диапазону интервалов (например, только с декабря по февраль). Используйте элементы управления Start Value и End Value, чтобы определить диапазон интервалов.
Предположим, временной интервал равен году, вот несколько примеров.
- Установите Start Value как Jul, 7 или 7/1 и оставьте End Value как <optional>, чтобы получать годовые данные с июля по июнь следующего года (продолжительность всего года).
- Установите Start Value как Jul, 7 или 7/1 и установите End Value как <end> , чтобы получать годовые данные с июля по декабрь (конец года).
- Установите Start Value как Dec, 12 or 12/1 и End Value как Feb, 2 или 2/28, чтобы получить зимние данные с декабря по февраль. Примечание. Данные за 29 февраля исключены, поскольку они существуют только в високосный год.
Если указаны Start Value и End Value, в выходных данных будут отображаться строки параметров начала и конца.
Дополнительные метки в выводе
Origin создает строки метаданных/меток для отображения информации о параметрах, используемых при разбивке по времени. Эти строки отображаются в верхней части выходного листа и могут включать год, месяц, неделю, день и т. д. Например, в приведенном выше примере в строке Year отображаются 1905, 1906 и т. д.
Нажмите на зеленый замок и выберите Change Parameters…, затем измените Time Interval на Month. Нажмите ОК, и строка Year изменится на строку Month, заполненную соответствующими данными. Origin добавляет к нему информацию о году, например, 1905-Jan.
Допустим, вы хотите, чтобы в данных месяца отображался только месяц без года, например январь, чтобы позже было легче выбрать все данные за январь. Это возможно с помощью поля Additional Labels Row(s) в диалоговом окне параметров, позволяющего добавить дополнительные строки и изменить отображение интервала по умолчанию.
Синтаксис: LabelName1 = <date/time format> |LabelName2 = <date format>|…. Примеры представлены в диалоговом окне.
Если LabelName соответствует имени интервала, оно будет использоваться для изменения отображения интервала по умолчанию.
Например, если временной интервал равен месяцу, введите Year = yyyy | Month = MMM и нажмите ОК. Теперь в строке Year отображается четырехзначный номер года, а исходная строка Month изменилась с отображения полного названия месяца на трехбуквенное.
Если вы введете только Year = yyyy , строка Year будет просто добавлена без изменения исходной строки Month.
Или введите Year= yyyy | Month= MM | Month, Year= MMM, yyyy, чтобы добавить две дополнительные строки: Year и Month, Year, а также изменить Month, чтобы отображался только номер месяца.
Информация о других новинка семейства продуктов Origin/OriginPro 2024b доступна в нашем вебинаре.