私はスクリプトの作成に慣れていないため、データの山と谷にラベルを付けるスクリプトを作成するのに苦労しています。
目標は、最初のピークが検出された後、すべての谷にラベルを付けることです。チームによるデータ分析を容易にするため、データをグラフ化し、すべての山と谷にラベルを付けるスクリプトを作成することで、この作業を簡素化しようとしています。過去の指示に従おうとしましたが、うまくいかないようです。
私はこれに対する既存の解決策をすべて調べてみましたが、自分にとって有効な解決策を実装するのに苦労しました。
データは文字データ型のようですので、少なくとも数値/連続データへの変換が必要です。データを使ってプロットを作成し、発見/検出したい点をマークしていただけますか?通常、Lag/Difとif文の組み合わせでピーク/谷を見つけることができます。

dt = Open( "$DESKTOP/Sample.jmp" );
max_value = Col Maximum(列(dt, "Heat"));
total_rows = N 行(dt);
Time_col = Column(dt, "Heat");
行番号 = 0;
For(i = total_rows, i >= 1, i--,
もし(Time_col[i] == max_value,
行番号 = i;
壊す();
)
);
max_time = :Time[行番号];
col_data = Column(dt, "Heat") << 値を取得;
min_data = col_data[行数::合計行数];
min_value = 最小値(min_data);
min_positions = loc min(min_data);
min_time_col = min_positions + (row_num - 1);
min_time = :Time[min_time_col];
グラフビルダー(
サイズ(1032,646)、
コントロールパネルを表示(0)
ウィンドウに合わせる(「オフ」)
変数( X( :時間 ), Y( :熱 ) ),
要素(線(X,Y,凡例(14)))、
レポートに送信(
ディスパッチ( {}, "時間", スケールボックス,
{Format( "Best", 12 ), Min( 1.88 ), Max( 5.07800951567129 ), Inc( 0.5 ),
補助目盛り( 4 )、参照線を追加(
最大時間、
"点在"、
"黒"、
Char(最大時間)、
2、
1、
ラベル設定( {ラベルの色( "赤" )} )
)、参照線を追加(
私の時間、
"点在"、
"黒"、
Char(私の時間)、
2、
1、
ラベル設定( {ラベルの色( "赤" )} )
)}
)、
ディスパッチ( {}, "Heat", ScaleBox,
{参照線を追加(
最大値、
"点在"、
"黒"、
Char(最大値)、
2、
1、
ラベル設定( {ラベルの色( "赤" )} )
)、参照線を追加(
最小値、
"点在"、
"黒"、
Char(最小値)、
2、
1、
ラベル設定( {ラベルの色( "赤" )} )
)}
)
)
);
そのスクリプトで実行されていないことはありますか?
このコードを共有していただきありがとうございます!同じスクリプトを実行しても、生成されるチャートが大きく異なるという問題が発生しています。何が間違っているのでしょうか?
提供されているサンプルテーブルを使用する場合、列のデータ型を数値に、モデリング型を連続型に修正しないと動作しません。おそらくモデリング型の変換を行っていないのだと思います。
ありがとうございます。すべて更新した後、グラフには要約統計量の平均線が表示されました。山と谷が表示されるようになったので、線に実際のデータが表示されるようにする方法を考えてみます。
すべてうまく動作し、解決策として受け入れました。しかし、チャートビルダーを実行しようとすると、線が平均値として表示されてしまいます。スクリプトの何かが原因だと思います。この問題の解決にご協力いただける方はいらっしゃいますか?
複数の測定が正確に同時に行われるため、平均線が使用されます。
編集: データが正しく順序付けられていることを確認し、行順序を使用してください。

この方法では要約統計は使用されず、テーブルの行順序に基づいてX軸上のデータが順序付けられます。
ありがとうございます。解決策は、すべてのデータ列に数値と連続のラベルを付けることでした。ご協力いただきありがとうございました。