Интерактивная работа с данными на языке idl

Вид материалаДокументы

Содержание


2Одномерные массивы данных 2.1Визуализация данных
Y на экран, следует ввести команду: PLOT, Y
X соответствует более одного значения Y
PLOT, time1, value1
PLOT, X, Y, /ynozero
A > B" равна наибольшей из A
MULTI системной переменной !P
Plot, findgen(100)
Подобный материал:
1   2   3   4   5   6   7   8   9   ...   13

2Одномерные массивы данных

2.1Визуализация данных


Одна из важнейших манипуляций с данными – их визуализация, то есть представление в графическом виде на экране и/или в виде твёрдой копии. Те, кто привык работать с данными на FORTRANе, обычно просматривают численные значения, сгруппированные в колонки и строки. Однако этот способ не нагляден, занимает много времени и поэтому неэффективен. Разумеется, иногда можно и распечатать некоторые значения, но это требуется не так уж часто. Намного более эффективен просмотр наборов данных на экране в графическом представлении. IDL предоставляет для этого следующие возможности.

Для того, чтобы вывести одномерный массив Y на экран, следует ввести команду:

PLOT, Y

В этом случае мы увидим изменения переменной Y как функцию от номера элемента в массиве. Однако если частота снятия отсчётов неравномерна, истинный график будет искажён. В этом случае лучше воспользоваться другим способом, свободным от этого недостатка:

PLOT, X, Y

Например, Y представляет некоторый временной профиль, а X – массив значений моментов времени, в которые сняты отсчёты. Даже если частота снятия отсчётов неравномерна, мы увидим правильный график.

Отметим, что вызов процедуры PLOT с двумя аргументаминаиболее общий и гибкий способ использования процедуры, позволяющий просто строить корректные графики в более сложных случаях:

графики с осями, размеченными в часах, минутах и секундах;

графики неоднозначных функций (у которых одному значению X соответствует более одного значения Y):

PLOT, X, Y и PLOT, Y, X

изображение нескольких величин с различными частотами отсчётов на одном и том же графике:

PLOT, time1, value1

OPLOT, time2, value2

и так далее.

Если визуализируемая величина изменяется в очень широких пределах, можно воспользоваться графиками с логарифмическими или полулогарифмическими осями:

PLOT_IO, X, Y

линейная горизонтальная ось, логарифмическая вертикальная ось

PLOT_OO, X, Y

обе оси логарифмические

PLOT_OI, X, Y

логарифмическая горизонтальная ось, линейная вертикальная ось

Если изображаемая величина изменяется в небольших пределах относительно некоторого большого значения, можно подчеркнуть эти изменения с помощью

PLOT, X, Y, /ynozero

Если мы хотим ограничить набор данных некоторым значением LEV снизу, можно сделать так:

PLOT, X, Y > LEV

Знак “больше” (>) – оператор максимума в IDL. Величина " A > B" равна наибольшей из A и B. Аналогично, знак “<”– оператор минимума в IDL. Оба этих оператора можно применять к массивам любой, но одинаковой, размерности.

Если мы хотим рассмотреть более детально некоторую часть графика, можно задать диапазон для X и/или Y:

PLOT, X, Y, xrange = [X0, X1], yrange = [Y0, Y1]

Для изображения более одного графика на графическом устройстве можно установить поле MULTI системной переменной !P. Это 5-элементный массив, элементы которого задают:

Элемент

Значение

!P.MULTI[0]

Полное количество остающихся графиков

!P.MULTI[1]

Число графиков по горизонтали (вдоль оси X)

!P.MULTI[2]

Число графиков по вертикали (вдоль оси Y)

!P.MULTI[3]

Число графиков вдоль оси Z

!P.MULTI[4]

0: вначале слева направо, затем сверху вниз;

1 – обратный порядок: вначале сверху вниз, затем слева направо



Когда !P.MULTI[0] = 0, производится стирание страницы.

Например, установка !P.MULTI = [4, 2, 3, 0, 1] задаёт 6 графиков на страницу с выводом сначала по столбцам, двух по горизонтали и трёх по вертикали. Также эта установка отключает стирание графического устройства и устанавливает следующий вывод начиная с позиции третьего графика (с левого нижнего угла). Последующая позиция вывода будет в правом верхнем углу, и затем в позиции ниже. Чтобы вернуться к выводу одиночного графика, следует установить просто !P.MULTI = 0.

Имеется специфика при выводе графики в файл формата PostScript. Когда число графиков превысит их полное заданное количество, вывод будет производиться на следующую, новую страницу. Например, если !P.MULTI = 0 и мы введём

PLOT, FINDGEN(100)

PLOT, FINDGEN(100)


– появится вторая страница.