相関および相関行列で独自のカラー マップを作成する再投稿すると、元の投稿を誤って削除したに違いありません。
私は、次のことを行う教育およびデモンストレーション スクリプトを作成しています。
- 指定されたサイズのランダム共分散行列を作成し、対応する相関行列を計算します (C)
- 共分散行列に基づいて、指定された行数と平均ベクトルを使用してランダムな多変量正規データを作成します
- シミュレートされたデータをデータ テーブルに出力し、そのデータに対して多変量プラットフォーム分析を実行する
また、レポート ウィンドウのスクリプトの出力に含めたいのは、作成した開始相関行列 (C) と、多変量プラットフォームで表示されるものと同様の対応するカラー マップの表示です。推定相関行列。 相関 (C) マトリックスの軸ボックスを作成する方法も、C マトリックスの相関に関するカラー マップを作成する方法もわかりません。
これが私のスクリプトです:
Names Default To Here( 1 );
//simulate multivariate normal data with random correlation
//number of rows of data
n = 10;
// number of variables
k = 20;
//create list of variable names
varlist = {};
For( ii = 1, ii <= k, ii++,
Insert Into( varlist, "X" || Char( ii ) )
);
//create mean vector
meanvec = J( k, 1, 0 );
//create random M matrix
M = Diag( J( k, 1, 10 + Random Normal() ) );
//make empty E matrix
E = [];
//fill the E matrix
For( ii = 1, ii <= k, ii++,
// create random eigenvector
vec = J( k, 1, Random Uniform() - (0.5) );
// normalize it
vec = vec / Sqrt( vec` * vec );
//append to E matrix
E = E || vec;
);
// create covariance matrix from eigenvector (E) matrix and eigenvalue (M) matrix
covariance = E * M * E`;
// create correlation matrix by scaling covariance by the diagonal elements
correlation = J( k, k, . );
For( ii = 1, ii <= k, ii++,
For( jj = 1, jj <= k, jj++,
correlation[ii, jj] = covariance[ii, jj] / (Sqrt( covariance[ii, ii] * covariance[jj, jj] ))
)
);
// simulate multivariate normal data
data = J( n, k, Random Normal() );
data = data * Sqrt( Diag( M ) ) * E`;
// make into data table
_dt_out = As Table( data, <<COLUMN names=""></COLUMN>出力例を次に示します。

Re: 相関と相関行列で独自のカラー マップを作成するシェイプ マップを使用して、Graph Builder で同じことを行うことができます。 50x50 以上のシェイプ マップを作成し、その次元までの任意の相関行列で使用できます。 マップにはデータがある要素のみが表示されるため、実際の XxX 行列のみが表示されます
Re: 相関と相関行列で独自のカラー マップを作成する提案してくれてありがとう、マーク。 マトリックスを積み上げ表にして、グラフ ビルダーまたはセル プロットを使用すれば、それができることはわかっていました。 Cell Plot Box() 表示オブジェクトを使用できることを望んでいましたが、表示要素は JSL ではなく内部 JMP 関数でのみ使用できると思います。 少なくとも Matrix Box() 表示要素は、JSL 経由で使用できます。
グラフボックスを使用するだけで、少なくともカラーマップを取得する(軸ラベルなし)という回避策を思いつきました。 下記参照。
// start matrix color map script
names default to here(1);
corr_mat = [1 0 -1,
0 1 .5,
-1 .5 1];
_nw = New Window("Color Map",
_gb=graph box(
SuppressAxes,
xscale(0,1),
yscale(0,1),
frame size(300,300),
nr=nrows(corr_mat);
nc=ncols(corr_mat);
xinc=1/nc; yinc=1/nr;
for(ii=1, ii<=nr, ii++,
for(jj=1, jj<=nc, jj++,
fill color(heat color((corr_mat[ii,jj]+1)/2, <<"Blue to Gray to Red"));
Rect((jj-1)*xinc,
1-(ii-1)*yinc,
jj*xinc,
1-(ii*yinc),
1
)
)
);
)
);これにより、3x3 行列に対してこの結果が得られます

Re: 相関と相関行列で独自のカラー マップを作成するプラットフォームではなく、マトリックスに相関関係があることがわかりました。 次のアプローチがうまくいくかもしれません。 その場合は、スクリプトに追加できます。
私はフィットネスJMP Sample Data フォルダのデータ テーブル。 私が選んだ分析する>多変量法>多変量. 入ったオキシ終えたMaxPulseの中によ役割。 結果は次のとおりです。


相関行列を使用してこのマップを作成します。
- このテーブルを右クリックして、データ テーブルにする. (最初にマトリックスをデータ テーブルとして保存し、対応する行列を追加して、データ列に適切な名前を付けることに注意してください。)
- 選択するテーブル>スタック.
- 選択する年終えたMaxPulseそしてクリックスタック.
- 入力相関データ列名。
- 入力桁ラベル列名。
- クリックOK .
- 選択するグラフ>グラフビルダー.
- 引っ張る行にバツ.
- 引っ張る桁によ.
- 引っ張る相関に色.
- クリックヒートマップ上の要素。
結果は次のとおりです。

したがって、いくつかの高レベルの JMP オブジェクトを使用して、必要なヒート マップを取得できると思います。
多変量プラットフォームの構造を考えると、ヒートマップを最初からスクリプト化することはできないと思いますが、他の人は方法を知っているかもしれません。 上記の相関マップの表示ツリーの一部を次に示します。

Re: 相関と相関行列で独自のカラー マップを作成する多変量レポートで相関のカラー マップを使用しないのはなぜですか?
通常、組み込みオブジェクト (プラットフォーム全体またはレポート内の特定の表示ボックス) を最初から作成するのではなく、できるだけ使用することをお勧めします。
このようなオブジェクトをカスタム ウィンドウに含めるのは簡単です。 含めるだけデータテーブル参照 << Multivariate( ... )オブジェクトを「ライブ」にしたい場合、つまり、通常の対話性で応答するか、プラットフォームを個別に作成する場合は、目的のオブジェクトを複製し、プラットフォームを閉じて、対話性が必要ない場合は複製されたオブジェクトを含めるか追加します。 (目的に合わせてレポートを簡素化する場合は、プラットフォームから望ましくないオブジェクトを削除できることに注意してください。)