如何将元素添加到我可以用来绘制的 IDL 数组中?

How to add elements to an array in IDL that I can use to plot?

我正在用 IDL 写这篇文章。

我想通过函数 y 传递数组 x 中的数字列表,然后所有 y 值都进入数组 z,将绘制 x 与 z 的关系图。

我尝试了很多方法来解决这个问题。最初,我使用的是列表,在列表中很容易使用 'list.add' 函数向数组添加新元素。但是,我只能在 IDL 中绘制数组,而不能列出(因此会出错)。我已经弄乱代码很长一段时间了,所以希望我能得到一些正确方向的指示

z = []        ; array to hold y data

x = [1,2,3,4] ; x data

FOREACH element, x DO BEGIN

  y = x+3
  z.add,y

ENDOFREACH

; the plot

p = SCATTERPLOT(x,z)

我希望从中得到一个简单的散点图,但我不知道如何更改我的数组。

主要有两种方法:

  1. 连接数组。例如,y = [y, 3]y 数组末尾添加 3。如果您打算这样做,这会很慢 "a lot".

  2. 使用列表构建值列表,然后在最后使用toArray()方法获取可以绘制的数组。