2015-03-06 6 views
0

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

Но я хотел бы включить redshift (другую переменную), соответствующую каждой точке данных, например, как верхнюю ось x. Это не сработало, когда я попытался добавить третью переменную в процедуру PLOT, и я не смог найти обсуждения о том, как выполнить эту онлайн-версию. Любая помощь приветствуется.

ответ

0

Первый запуск PLOT.PRO с набором ключевых слов NODATA и XAXIS=4 и YAXIS=4 для подавления каждой оси. Затем вы можете использовать программу AXIS.PRO для определения каждой оси. Затем вы можете использовать OPLOT.PRO, чтобы нарисовать точки Z против X и Z против Y, где Z = скорость формирования звезды, X = время и Y = красное смещение. Посмотрите информацию о ключевых словах [XYZ]AXIS, чтобы определить, какую ось рисовать в каждый момент времени. Вы можете даже покрасить каждую ось с помощью ключевого слова COLOR с помощью программы AXIS.PRO.

Единственная хитрость заключается в том, что вам придется масштабировать точки данных Y в масштаб оси Х до черчения, потому что вы будете явно определить [XYZ]RANGE при вызове PLOT.PRO (ну вы могли бы сделать обратное и масштабировать его Y и переопределить X, это ваш выбор). Вам нужно сделать это масштабирование, потому что OPLOT.PRO и, скажем, PLOTS.PRO используйте оригинал [XYZ]RANGE, определенный при вызове PLOT.PRO для преобразования координат устройства в координаты данных.

Это имеет смысл?

0

Вы всегда можете установить цвет в качестве третьего измерения (например, цвета или размера).

0

Первый участок вызова, TIME СФР с XSTYLE = 9, чтобы заставить точный диапазон и подавить верхнюю ось х

затем использовать процедуру AXIS, чтобы создать верхнюю ось х быть осторожными с клещами, что ось, которую вы хотите, чтобы соответствовать RedShift, что вы вычислить из временной переменной

пример с нижней осью х в скорости и верхней оси у в частоте:

> plot, vel, spec, xsty=9, xtick_get=xtick, xtit='Velocity (km/s)', ytit='Antenna Temperature (K)' 
> axis, !x.crange[0], !y.crange[1], xaxis=1, xtickv=((ref_freq - ref_freq/299792.458*xtick)), xtickformat='(F8.3)', xticks=n_elements(xtick)-1, xrange=(ref_freq - ref_freq/299792.458*minmax(!x.crange)), chars=1.5