Plot 使用IDL中的三个参数创建二维绘图

Plot 使用IDL中的三个参数创建二维绘图,plot,idl,Plot,Idl,我能够使用IDL中的两个参数创建二维图,即恒星形成率y轴与时间x轴 但是我想包括红移,对应于每个数据点的另一个变量,比如,作为顶部x轴。当我尝试将第三个变量添加到绘图过程中时,它不起作用,并且我还没有找到任何关于如何在线完成此操作的讨论。感谢您的帮助 首先运行PLOT.PRO,设置NODATA关键字,XAXIS=4和YAXIS=4以抑制每个轴。然后可以使用AXIS.PRO程序定义每个轴。然后可以使用OPLOT.PRO绘制Z与X和Z与Y的点,其中Z=恒星形成速率,X=时间,Y=红移。查看[XYZ]

我能够使用IDL中的两个参数创建二维图,即恒星形成率y轴与时间x轴

但是我想包括红移,对应于每个数据点的另一个变量,比如,作为顶部x轴。当我尝试将第三个变量添加到绘图过程中时,它不起作用,并且我还没有找到任何关于如何在线完成此操作的讨论。感谢您的帮助

首先运行PLOT.PRO,设置NODATA关键字,XAXIS=4和YAXIS=4以抑制每个轴。然后可以使用AXIS.PRO程序定义每个轴。然后可以使用OPLOT.PRO绘制Z与X和Z与Y的点,其中Z=恒星形成速率,X=时间,Y=红移。查看[XYZ]轴关键字的详细信息,以确定每次绘制哪个轴。甚至可以使用axis.PRO程序中的颜色关键字为每个轴着色

唯一的诀窍是,在打印之前,您必须将Y数据点缩放到X轴比例,因为在调用PLOT.PRO时,您将显式定义[XYZ]范围。您可以执行相反的操作,将其缩放到Y并重新定义X,这是您的选择。您需要进行这种缩放,因为OPLOT.PRO和PLOTS.PRO使用调用PLOT.PRO时定义的原始[XYZ]范围将设备坐标转换为数据坐标


这有意义吗?

您始终可以将颜色设置为三维,即颜色或大小。

首先调用PLOT,TIME,SFR,使用XSTYLE=9强制精确范围并抑制顶部x轴

然后使用“轴”步骤创建顶部x轴 请注意该轴的刻度,您希望该刻度对应于从时间变量计算的红移

速度为底部x轴,频率为顶部y轴的示例:

> 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