WAT 輪郭を描画するときにマルチグループ X バッチ描画を実現する方法:
等高線プラットフォームでは、X は 2 列のみ選択できると規定されていますが、1 つの Y と一致する必要がある X のセットが複数あります。
ここでは等高線地図を表示してみます。複雑なのは、一致する列を見つけることです。列名が矛盾しています。以下のスクリプトは、列をより適切に一致させるために実行する必要があることを示しています。スクリプトには、一致を試みるために何が使用されているかをよりよく理解できるように注釈が付けられています。

Names Default To Here( 1 );
dt = Data Table( "WAT_Contour" );
// Build list of columns to be graphed
headerTypeList = {};
colNameList = {}; // The full name of the column
deviceTypeList = {}; // The P or N
commonNameList = {}; // The items that are common between P and N columns
// Loop across all columns to find target columns
// The code here is a best guess on determining the items needed to be able
// to match up the columns. There are inconsistancies in the column names,
// between VTSAT and VTHSAT etc. and also within a single type like VTSAT
// This section will need to be worked out to get all of the matches
For( i = 1, i <= N Col( dt ), i++,
colName = Trim( Column( dt, i ) << get name );
If(
Word( 1, colName, "_" ) == "VTSAT",
Insert Into( headerTypeList, "VTSAT" );
Insert Into( colNameList, colName );
If( Word( 2, colName, "_" ) == "N" | Word( 2, colName, "_" ) == "P",
Insert Into( deviceTypeList, Word( 2, colName, "_" ) );
Insert Into(
commonNameList,
Substr(
colName,
Length( Word( 1, colNameList[N Items( colNameList )], "_" ) )
+Length( Word( 2, deviceTypeList[N Items( deviceTypeList )], "_" ) ) + 4
)
);
,
Insert Into( deviceTypeList, Substr( Word( 3, colName, "_" ), 1, 1 ) );
Insert Into(
commonNameList,
Substr(
colName,
Length( Word( 1, colName, "_" ) ) + Length( Word( 2, colName, "_" ) )
+Length( Word( 3, colName, "_" ) ) + 4
)
);
);,
Word( 1, colName, "_" ) == "VTHSAT",
Insert Into( headerTypeList, "VTHSAT" );
Insert Into( colNameList, colName );
Insert Into( deviceTypeList, Substr( Word( 3, colName, "_" ), 1, 1 ) );
Insert Into(
commonNameList,
Substr(
colName,
Length( Word( 1, colName, "_" ) ) + Length( Word( 2, colName, "_" ) )
+Length( Word( 3, colName, "_" ) ) + 4
)
);
);
);
dtNames = New Table( "Names",
New Column( "Header", character, values( headerTypeList ) ),
New Column( "Column Name", character, values( colNameList ) ),
New Column( "Device Type", character, values( deviceTypeList ) ),
New Column( "Common", character, values( commonNameList ) )
);
// Split data table to get columns that match
dtSplit = dtNames << Split(
Split By( :Device Type ),
Split( :Column Name ),
Group( :Header, :Common ),
Sort by Column Property
);
// Delete non matching rows
dtSplit << select where(:P == "" | :N == "" );
dtSplit << delete rows;
// Create the Contour Maps
New Window( "Contour Maps", lub = Lineup Box( N Col( 3 ) ) );
// Loop across matches
For( i = 1, i <= N Rows( dtSplit ), i++,
lub << append(
dt << Contour Plot(
X( Column( dt, dtSplit:N[i] ), Column( dt, dtSplit:P[i] ) ),
Y( :"W/C BSCAN VMIN YIELD"n ),
Show Data Points( 0 ),
Fill Areas( 0 ),
Label Contours( 0 ),
Transform( "Range Normalized" ),
Specify Contours( Min( 0.5 ), Max( 0.9 ), N( 5 ) )
)
)
);
// Clean up the data tables no longer needed.
// Uncomment the below lines when having the interium tables
// no longer need to be displayed
// close( dtNames, nosave );
// close( dtSplit, nosave );
ご返信ありがとうございます。添付ファイルは生データです。主に収量列と多くの X 列が含まれています。等高線グラフィックを描画する必要があります。つまり、X 軸は N デバイス、Y 軸は P デバイス、収量は Z です。 、単一のデバイスで等高線マップを簡単に描くことができ、ただし、一度に 1 つのマップしか描画できないため、すべてのカウンター マップを一度に描画したいと考えています。

問題が N 列と P 列の一致である場合は、スクリプトでそれを生成できます。ここに私が見つけた一致があります。

私が作成した完全なリストを含むデータ表を添付しました。
もし私が正しい方向に進んでいるのであれば、これらのペアのうちの 1 つに、あなたが探しているグラフィックが何であるかを提供してもらえますか?
ご返答ありがとうございます。このアプローチを試みましたが、以下の表のように X 列が多すぎて、次のような N デバイスと P デバイスの一致によってスタックすることができません。 VTHSAT_PCM09A_NULVT_P63_D0715_D011_(V)_MEDIAN から VTHSAT_PCM10D_PULVT_P63_SDB_D0715_D011_(V)_MEDIAN、
どのデバイスと歩留まりの相関関係を知りたいので、デバイスごとに輪郭を描画する必要があるため、すべてのデバイスの輪郭をすばやく描画したいのですが、作成または編集した輪郭スクリプトで実現できますか?
| VTHSAT_PCM06F_PULVT_P63_D0715_D242_(V)_MEDIAN |
| VTHSAT_PCM06G_PULVT_P63_D607_D242_(V)_MEDIAN |
| VTHSAT_PCM06H_PULVT_P63_SDB_D04_D009_(V)_MEDIAN |
| VTHSAT_PCM09A_NULVT_P63_D0715_D011_(V)_MEDIAN |
| VTHSAT_PCM09B_NLVT_P63_D0715_D011_(V)_MEDIAN |
| VTHSAT_PCM09C_NSVT_P63_D0715_D011_(V)_MEDIAN |
| VTHSAT_PCM09D_PULVT_P63_D0715_D011_(V)_MEDIAN |
| VTHSAT_PCM09E_PLVT_P63_D0715_D011_(V)_MEDIAN |
| VTHSAT_PCM09F_PSVT_P63_D0715_D011_(V)_MEDIAN |
| VTHSAT_PCM09G_NLVT_P63_SDB_D04_D011_(V)_MEDIAN |
| VTHSAT_PCM09H_PLVT_P63_SDB_D04_D011_(V)_MEDIAN |
| VTHSAT_PCM10A_NSVT_P63_SDB_D04_D011_(V)_MEDIAN |
| VTHSAT_PCM10B_NULVT_P63_SDB_D0715_D011_(V)_MEDIAN |
| VTHSAT_PCM10C_PSVT_P63_SDB_D04_D011_(V)_MEDIAN |
| VTHSAT_PCM10D_PULVT_P63_SDB_D0715_D011_(V)_MEDIAN |
| VTHSAT_PCM10E_NSVT_P63_D04_D011_(V)_MEDIAN |
| VTHSAT_PCM10F_NULVT_P63_D04_D011_(V)_MEDIAN |
| VTHSAT_PCM10G_PSVT_P63_D04_D011_(V)_MEDIAN |
| VTHSAT_PCM10H_PULVT_P63_D04_D011_(V)_MEDIAN |
| VTHSAT_PCM15A_NLVT_P79_D04_D009_(V)_MEDIAN |
| VTHSAT_PCM15B_NLVT_P79_D0715_D009_(V)_MEDIAN |