著者のメモ: 今日の例はGraph Builderで作成されたマップに適用されますが、JMPのほとんどのプラットフォームでこの方法を使用できます。
この2回連載の第1回では、JMP 12のデータ表におけるイメージのサポートの例を示しました。今日は、この機能によって、わずかなスクリプトを追加するだけで、Graph Builderで多層のレポートやグラフを作成できることを説明します。

上のマップでは、各状態はその平均気温で色分けされています - 青は涼しく、赤は暖かいです。任意の州の上にマウスを移動すると、その州の気温の傾向の経時的グラフが表示されます。ここには、両方の長所があります。データの簡単に理解できる概要、追加の詳細は隠されていますがすぐに利用可能です。
JMPのGraph Builderを使用すると、作成したグラフの画像をデータテーブルに保存できますが、上記のトレンドグラフはGraph Builderでは作成されませんでした。オーバーレイプロットを使用して作成されました。Graph Builderの外部で作成した画像を保存したい場合はどうなりますか?
幸いなことに、少しだけJSLが必要です。今日の例では、上のようなマップを作成するために必要なコードを見ていきます。
まず、生データを見てみましょう。米国の50州それぞれの年間平均気温です。これが私たちのソーステーブルであり、トレンドプロットを作成するために使用されます。

地図自体は下の表に依存しています。作成するには、
元の表を要約して、州ごとに気温を平均します。新しい列を作成します。式元のテーブルから作成された傾向プロットの画像を格納するためのデータ型。各傾向プロットからの画像を要約表にコピーします。のラベルをオンにする状態そして平均値(Temp F) 地図上に置いたときにこれらを表示するための列。
順を追って説明します。JSLでは次のようになります。

行1は、ソーステーブルにハンドルを割り当てます。3〜11行目はオーバーレイプロットレポートを作成します。行13はオーバーレイプロットにハンドルを割り当てているので、その中の個々のアウトラインボックスを参照できます。上記のコードを実行すると、レポートは次のようになります。(あなたの報告が異なる場合、それは私たちの好みの設定の違いが原因である可能性があります。)

次の4行のJSLは要約表を作成し、それをイメージで使用するための準備をします。

行15は要約表を作成します。17行目で N行サマリー表の列。行19は新しい列を作成します。グラフ 、式データ型の。21行目では、列ラベル付けプロパティがオンになっています。状態そしてグラフ列残っているのは、レポートを要約して写真を要約テーブルに保存することだけです。

23行目でカウンタを初期化した後、ループを繰り返します。25行目の1は常に「True」と評価されるので、必要なときにループから抜け出す方法が必要になります。Try(…、…)文を使えばそれが可能になります。Try(…、…)は、コンマの前にあるコードを処理しようとします。エラーが発生した場合は、コンマの後のコードを処理します(コンマの後にコードがない場合はエラーを無視します。2番目の引数は実際にはオプションです)。ここで、27行目はレポート内の現在のアウトラインボックスのハンドルを取得しようとしますが、28行目はそのアウトラインボックスの画像を取得し、その画像をサマリーテーブルの現在の行に格納します。要約表と報告書は両方とも状態をアルファベット順にソートするので、この単純な方法でうまくいきます。32行目はインデックスをインクリメントするので、次回ループを通過するときに、次のアウトラインボックスを取得しようとします。やがてインデックスが51になり、Rep [Outlinebox(51)]が存在しないため、エラーが発生してTry(…、…)ステートメントの後半に移動し、Break()を介してループを終了します。サマリーテーブルは次のようになります。

マップを作成するには、Graph Builderを起動して、State列とTemperature列をそれぞれShapeゾーンとColorゾーンにドラッグします。それだけです。

今日の記事を楽しんでいただければ幸いです。私はあなたが思い付くであろう面白いアプリケーションについて見て、そして聞くのが楽しみです!
PS私が置いたソーステーブルとスクリプトファイルの中に JMPユーザコミュニティのファイル交換 。(ファイルにアクセスするには無料のSASプロファイルが必要です。)