<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />こんにちは、
私はほとんど完全にJSLに慣れていないので、私の質問が些細なように思えばすみません...
とにかく、私は処理された分光データを含むデータテーブルを扱っています。各行はそれぞれ別々の.txtファイルにある1つの特定の分光XYデータセットに対応しています。今、私は動的に現在選択されているセル/行に対応する生データセットのオーバーレイプロットを生成したいです。
たとえば、2行目と3行目を選択すると、スクリプトは両方の対応する.txtファイルを開き、それらを新しい一時データテーブルに更新して、2つのデータ系列でオーバーレイプロットを生成します。次回は6行目から9行目を選択します。もちろん、結果のオーバーレイプロットには4系列のデータが含まれるはずです。
これをすべて実行するための私のスクリプトは、オーバーレイプロットを動的に動的に生成するところまでうまく機能します。
簡単に言うと、プロットの生成は次のようになります。
オーバーレイプロット(
X(:名前( "cm-1"))、
Y(
解析(プロット1)
解析する(plot2)
解析(プロット3)
)
接続点(1)
ポイントを表示(0)、
;
変数plot1などを使って 一時データテーブルの列に対応します。しかし、この例ではデータ系列の量は固定されています(3)。それが私が行き詰まっているところです。どういうわけかそれを動的にすることができますか?それで、基本的にスクリプトは選択されたセル/行の数に応じてYの量を変えますか?
例えば 1つしかない場合はY(parse(plot1))、4つある場合はY(parse(plot1)、parse(plot2)、parse(plot3)、parse(plot4))
plot#変数は、選択された行数に基づいてすでに動的に生成されています。だから私が本当に必要なのは、動的にY()式の中のエントリーの数を選択された行の数に対応させる方法です。
任意の助けは大歓迎です!
Y列のリストを使用します。Y(リスト)またはY(eval(リスト))。例えば:
dt = 現在のデータ表 () ; //一時データテーブル
n1 = 2 ; //最初に選択された行数
n2 = Nコル ( dt ) ; // dtのcolsの総数
オーバーレイプロット (
バツ ( :名前( "cm-1") ) 、
Y ( ( dt << 列名を取得する )[ n2 - n1 + 1 :: n2 ] )
// Tempテーブルの最後にあると仮定して、Y列のリスト
) ;