JSLを使用したカラーグラデーションスケールの編集こんにちは、みんな、
たとえばこのデータテーブルがあります

test = Graph Builder(
Variables( X( :X ), Y( :Y ), Color( :Value ) ),
Elements( Points( X, Y, Legend( 23 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
23,
Properties(
0,
{gradient(
{Scale Values( [-2 2] ), Label Format( "Fixed Dec", 15, 3 )}
)},
Item ID( "Value", 1 )
)
)}
)
)
);上記のスクリプトを実行して、色のグラデーション +/-2 標準偏差を持つ以下のグラフを取得します。 これは、データ セットが大きい場合にチラシを表示しないのに役立ちます。
以下のグラフでは、カラー グラデーションを右クリックしてスケール タイプを線形に変更するだけです (線形スケールで考える方が簡単なため)。 このステップのスクリプトを作成するのに苦労しています。

以下のグラフは、勾配を調整する前にグラフを作成するときの単なるデフォルトであってほしくないことに注意してください。

私が得た最も近いものは以下ですが、標準偏差の制限として入力したものである -2 から 2 まで直線的にスケーリングを設定します。
test << Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
3,
Properties(
0,
{gradient(
{ Scale Values[ ], Label Format( "Fixed Dec", 15, 4 ),
Scale Type( "Linear" )}
)},
Item ID( "Entry X Offset", 1 )
)
)}
)ご意見は大歓迎です! - エヴァン
Re: JSL を使用したカラー グラデーション スケールの編集これは、列の 1 つから勾配を動的に決定する例です。
dt = New Table( "Untitled", Add Rows( 4 ),
New Column( "X", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 2, 3, 4] ) ),
New Column( "Y", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [4, 1, 3, 2] ) ),
New Column( "Value", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 1, 2, 2] ) )
);
dtcol = column(dt, "Y");
one_min = col min(dtcol);
one_max = col max(dtcol);
one_avg = col mean(dtcol);
scale_matrix = matrix({one_min, one_avg, one_max});
Graph Builder(
Show Control Panel( 0 ),
Variables( X( :X ), Y( :Y ), Color( :Value ) ),
Elements( Points( X, Y, Legend( 9 ) ) ),
SendToReport(
Dispatch( {}, "400", ScaleBox,
{Legend Model( 9,
Properties( 0,
{gradient( {Scale Values( scale_matrix )} )},
Item ID( "Value", 1 )
)
)}
)
)
);Re: JSL を使用したカラー グラデーション スケールの編集この演習のポイントは、JSL GB がカスタマイズされたスケールに対して何を生成するかを確認することです。これを取得すると、各データセットのスケーリングをプログラムで決定し、実行時にそれを GB JSL に置き換えることができます。
Re: JSL を使用したカラー グラデーション スケールの編集返信いただきありがとうございます!
ただし、グラフ ビルダーで手動作業を行う必要はありません。 私の(より大きな)スクリプトのアイデアは、各グラフとデータセットに適切なスケーリングを備えた多数のグラフを自動的に作成することです。 パターンを確認するには、データの列/セットごとにスケールを個別に調整する必要があります。 手作業でやることが多すぎます。Re: JSL を使用したカラー グラデーション スケールの編集GB 単位でグラフを操作し、希望どおりのスケールを設定します。次に、赤い三角形をクリックし、[スクリプト] > [スクリプト ウィンドウに保存] を選択します。スケールを多少変更した後に得られたものは次のとおりです。
Graph Builder(
Show Control Panel( 0 ),
Variables( X( :X ), Y( :Y ), Color( :Value ) ),
Elements( Points( X, Y, Legend( 9 ) ) ),
SendToReport(
Dispatch( {}, "400", ScaleBox,
{Legend Model( 9,
Properties( 0,
{gradient( {Scale Values( [2.2 2.6 3.2] )} )},
Item ID( "Value", 1 )
)
)}
)
)
);