グラフやプロットを扱うとき、ある領域を強調したり他の形状と区別するためにグラフの色を塗りつぶす必要があるでしょう。あなたは規則的な形を陰にする方法を知っているかもしれませんが、どうですか?不規則な多角形と輪郭 ?Polygon()を使用して、これを任意のグラフィック図形に簡単に行うことができます。データポイントが必要です。

上記は、私が患者募集予測のために取り組んでいたグラフです(このことについてのブログ記事をすぐに探してください)。一点鎖線は2.5です。番目と97.5 番目 10,000シミュレーションの百分位数。赤い実線はシミュレートされた値の平均です。この信頼区間を色で埋めることで、入学予測の範囲を理解しやすくなります。そのため、その方法を調べました。はじめに、三角形の3つの頂点を指定して、これを取得しました。

うーん…思ったとおりではありません。どうしたの?どうやらこのグラフィックは三角形ではありませんが、確かに1つのように見えます。下部はより幅が広いため、三角形の網掛けで信頼区間のバンド全体を網羅することはできません。どうすればこれを修正できますか?
グラフィックを色で塗りつぶすには、まず自分の図形の境界とその境界を構成するデータポイントを知る必要があります。この場合、私の境界は「三角形」の3辺で、データポイントは2.5です。番目百分位数および97.5 番目百分位数。2つの辺を作成したら、3つ目の辺、水平線分は不要です。 JMP 2つの端点を自動的に直線で接続します。しかし、直線ではないセグメントがある場合は、JMPにシェーディングの停止位置を指示するためのデータポイントが必要になります。
次に、JSLでは、データセットからデータポイントを取り出し、データを列に保存して並べ替えます。
ds = Data Table( "graphbuilder" );
ds << select where(:data == "Predicted 2.5%");
dslow = ds <<サブセット(
出力テーブル名( "下限パーセンタイル")、
選択された行(1)
見えない
;
dslow_sort = dslow << sort(By(:time)、Order(Ascending));
ds << select where(:data == "Predicted 97.5%");
dsupp = ds <<サブセット(
出力テーブル名( "上位パーセンタイル")、
選択された行(1)
見えない
;
dsupp_sort = dsupp << sort(By(:time)、Order(Descending));
2つのサブセットdslowとdsuppには、境界のデータポイント、2本の一点鎖線が含まれています。JMPは方向を指定して境界を描画するため、dslowは昇順でソートしましたが、dsuppは降順でソートしました。私はCIバンドを時計回りに描くことを選びました:青い線と赤い線の交点から始めて、2.5に続いて上がります番目百分位数、および97.5に続いて戻ってくる番目横からパーセンタイル。したがって、97.5のデータポイントは番目百分位数は降順にする必要があります。
データポイントがソートされたので、今度はそれらを“ all”という名前の行列にまとめる必要があります。行列のx値は「xall」で、行列のy値は「yall」です。ここで、時間は私のx軸で、数字は私のy軸です。
Col1 = Column( dslow_sort, "time" );
tl = col << GetAsMatrix;
Col1 =列(dslow_sort、"number");
nl = col << GetAsMatrix;
Col2 = Column(dsupp_sort、"time");
tu = col << GetAsMatrix;
col2 = Column(dsupp_sort、"number");
nu = col << GetAsMatrix;
lower = tl || nl;
upper = tu || nu;
all = lower | / upper;
xall = all [0,1];
yall = all [0,2];
Pen Color( "red" );
塗りつぶしの色( "赤")。
透明度(0.2)。
多角形(xall、yall)。

最後のステップは簡単です:Polygon()で行列を呼び出して色を塗りつぶします。上の2番目のボックスのコードをGraph Builderのステートメントまたは新しいウィンドウで使用します。これで、ある程度透明度のある三角形の帯が完全に赤くなっているはずです。
最終的な考え :データポイントがある限り、任意の形の領域を色で塗りつぶすことができます。以下は、グラフィックスクリプトシェーディングの別の例です。これは、オプションを変更することによって作成できるさまざまなバリエーションのうちの1つにすぎません。

シェーディングを楽しんでください!