<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />ヒートマップを作成していて、色のスケールを制御したいと考えています。 つまり、データの範囲は 1 ~ 10 ですが、カラー バーで特定の最小値と最大値を使用し、可能であれば間隔を制御できるようにしたいと考えています。
散布図の 3 次元としてサイズを使用している場合、同じ質問がドットのサイズにも当てはまります。
ありがとう
ワリド
やあ、
そうですね、点 + 等高線グラフでこれを実行しようとしましたが、「スクリプトのコピー」手順は機能しませんでした。これは、等高線グラフでは凡例モデル 10 が使用されているのに対し、点では凡例モデル 11 が使用されているためです。 モデル 10 では、グラデーションの範囲を設定できません。 ただし、凡例モデルの輪郭と点の両方を強制的に 11 にすることはできます。
| | | 要素( | |
| | | | Contour( X, Y, Legend( 11 ) ), //通常は Legend(10) です! |
| | | | ポイント( X、Y、凡例( 11 )、ジッター( 1 )) |
| | | )、 | |
次に、Legend Model 11 に SendToReport を実行して、Contour と Points の両方のグラデーション値を同時に変更します。
gb << SendToReport( Dispatch( {}, "400", ScaleBox,
{レジェンドモデル( 11,
Properties(0, {gradient( {Label Levels( [10 50 1100] )} )} ) )} ) );
それで、必要なことはできるようです。
残念ながら、これはユーザー向けに文書化されていません...
助けてくれてありがとう!
はい。 最も簡単な方法は、スケールを対話的にカスタマイズしてからスクリプトを保存し、それをテンプレートとして使用することです。 スクリプトには埋め込みの「SendToReport」部分が含まれますが、これを最初のスクリプトから分離し、値を調整しながら繰り返し実行できます。
たとえば、保存されたカスタマイズされたスクリプトは次のようになります。
Graph Builder(
Size( 519, 447 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :sex ), Color( :height ) ),
Elements( Heatmap( X, Y, Legend( 5 ) ) ),
SendToReport(
Dispatch( {}, "400", ScaleBox,
{Legend Model( 5,
Properties( 0,
{gradient( {Scale Values( [50 65 75] ), Width( 12 )} )}) ))}
))
);
これは次のように個別に書くことができます。
gb = Graph Builder(
Size( 519, 447 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :sex ), Color( :height ) ),
Elements( Heatmap( X, Y, Legend( 5 ) ) )
);
gb<Dispatch( {}, "400", ScaleBox,
{Legend Model( 5,
Properties( 0, {gradient( {Scale Values( [50 65 75] )} )} ) )})
);
この場合の数字 5 は、複数の要素があり、それぞれに独自の凡例がある場合の凡例の識別子です。
すでに画面上に配置されているグラフビルダーにプログラム的にグラデーション値を変更する方法はありますか? 最小値、中心値、最大値を動的に変更して、表示されるデータのコントラストを最大にするためにユーザーが最適化できるようにしたいと考えています。 理想的には、それぞれにスライダーボックスを作成したいのですが...
ありがとう!
グラフ ビルダーの凡例でグラデーションを右クリックすると、[グラデーション設定] ダイアログが表示され、グラデーションの範囲やその他の側面をカスタマイズできます。
