グラフビルダー フレームサイズ JSLこんにちは、みんな、
これは簡単ですぐに解決できるかもしれません。 しかし、正しい方法を見つけるのに少し苦労しています。
グラフビルダーのすべてのグラフで一貫したフレームサイズと一貫した凡例設定を行う方法を見つけようとしています。 データテーブルの最後に数値を含むFORループを実行します。 1 列から多数の列までの範囲があり、すべての列を Y 軸にプロットしようとします。
主な矛盾は、Y 軸にパラメータが 1 つしかない場合に発生します。その凡例は表示されませんが、2 つ以上のパラメータがある場合、凡例が自動的に表示され、別の JSL コマンドを記述する必要がありません。 そのため、凡例設定のスペースが不足しているため、各グラフが異なって見えます。
これを解決する方法について何かアイデアはありますか?
ありがとう
Re: グラフビルダー フレームサイズ JSLフレーム サイズが一致するグラフ?これはJMPでも可能でしょうか?
Jmp サポート (TS-00076249) に問い合わせたところ、次のような答えが得られました。
はい、可能だと思いますが、必要な場合がありますかなりのスクリプト作成作成したいすべての可能なグラフに対してこれを実行するには、特にグラフ ビルダーについて話している場合に使用します。
現在使用しているモニターの表示解像度を考慮するには、モニターの解像度を返す Windows dll にアクセスします。これを使用して、必要に応じてピクセル サイズの仕様を拡大縮小することができます。ただし、各モニターの解像度が異なる複数のモニター環境で作業している場合、どのモニターでグラフが表示されているかを知る方法がないため、解像度を考慮することは事実上不可能になります。
OK、それで、どうやって?
一致するサイズのグラフを生成するのは本当に複雑ですか?
使用事例:
Jmp 分析をプレゼンテーションするために PowerPoint を使用します。
ページからページへのスムーズな移行を実現するには、すべてのグラフを同じフレーム サイズ (ページの NxM サブプロットの外側のボックスと同じサイズ - 軸なし)、および軸と X/Y の同じフォント サイズで作成する必要があります。グループラベル。
Re: グラフビルダー フレームサイズ JSLまた、いくつかの組み合わせが実現できることを期待して始めました。
Fit to Window( "Off" ),
そして
Size(...)
問題が解決するかもしれません。
しかし、私がそのコードに気づいたとき、 @Erratic Attack両方の機能が使用されているので、私の期待は消えました。
この例では、X ラベルが異なると、グラフのサイズが完全に異なります。
グラフ全体 (軸を含む) の周りに四角形がない限り、両方が同じサイズであることに誰も気づきません。
Y 軸のサイズが異なっても同じ問題が発生します。

Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Cars.jmp" );
New Window( "TEST",
V List Box(
Graph Builder(
Size( 500, 200 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Fit to Window( "Off" ),
Variables( X( :Make ), Y( :Wt ) ),
Elements( Bar( X, Y ) )
)
,
Graph Builder(
Size( 500, 200 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Fit to Window( "Off" ),
Variables( X( :Make ), Y( :Wt ) ),
Elements( Bar( X, Y, Legend( 1 ) ) ),
SendToReport(
Dispatch( {}, "Wt", ScaleBox, {Format( "Engineering SI", 12 )} ),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "Weight" )} )
)
)
)
)
Re: グラフビルダー フレームサイズ JSLこれが遠い昔のことであることは承知していますが、私たちは数か月前にも同じ問題と格闘しており、次のことを思いつきました。
Names Default to Here( 1 );
win = Get Window List();
// find graph builder windows
graphs = Filter Each({w}, win,
If(Length(w << XPath("//OutlineBox[@helpKey='Graph Builder']")) > 0, 1, 0)
);
// get the last Graph Builder
last_gb = graphs[N Items(graphs)][OutlineBox("Graph Builder")] << Get Scriptable Object;
// set size
last_gb << Fit to Window("Off");
// last_gb << Show Control Panel( 0 );
last_gb << Size(1000,800);
// copy picture
frame = (graphs[N Items(graphs)] << XPath( "//GraphBuilderBox" ))[1];
frame << Copy Picture;「ウィンドウに合わせる」は、出力プロットを正確に正しいサイズにするための鍵でした。
Re: グラフビルダー フレームサイズ JSLここに何かアップデートはありますか?
の候補のようですJmp と JSL の小さなトラップ
Re: グラフビルダー フレームサイズ JSLそれは私が望んでいることの反対です -- 私にはフレームボックス()指定されたサイズになるだけです。これを説明するコード例を次に示します。のサイズ( 500、500 )両方に供給されますが、明らかにフレームボックス()サイズはあまりありません(500、500) 。
実際のところ、それはそうではありませんグラフビルダーコンテナボックス()が指定されたサイズに設定されていることを示します -- まず、 LegendBox() 、残りの (タイトル / 軸 / 軸ヘッダー) が(500,500)サイズ。とんでもないことだ!
文字通り、設定する方法はありませんフレームボックス() (たとえば、これがアウトラインボックス( ""、グラフビルダー( ... ) )そしてやったアウトラインボックス[フレームボックス( 1 )] << フレームサイズ( 500, 500 ))インスタンス化の前 / 最中グラフビルダー()箱。これは、ウィンドウとグラフが作成された後にのみ実行できます。
Names Default To Here( 1 );
Open( "$SAMPLE_DATA/Cars.jmp" );
New Window( "TEST",
H List Box(
Graph Builder(
Size( 500, 500 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables(
X( :Make ),
X( :Model, Position( 1 ) ),
X( :Year, Position( 1 ) ),
X( :Protection, Position( 1 ) ),
X( :"D/P"n, Position( 1 ) ),
X( :Size, Position( 1 ) ),
X( :Doors, Position( 1 ) ),
Y( :Wt ),
Color( :Model )
),
Elements(
Bar(
X( 1 ),
X( 2 ),
X( 3 ),
X( 4 ),
X( 5 ),
X( 6 ),
X( 7 ),
Y,
Legend( 9 )
)
)
)
,
Graph Builder(
Size( 500, 500 ),
Show Control Panel( 0 ),
Fit to Window( "Off" ),
Variables( X( :Make ), Y( :Wt ) ),
Elements( Bar( X, Y, Legend( 11 ), Error Interval( "Standard Error" ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Grid Line Order( 1 ), Reference Line Order( 2 )}
)
)
)
)
)私が必要とするのは、チャートがある領域です(フレームボックス() ) 軸のサイズやテキストの複雑さや長さに関係なく、特定の固定サイズになります。

Re: グラフビルダー フレームサイズ JSLSize 要素は Frame(FrameBox()) サイズを設定します。

GraphBuilderContainerBox() は設定されません。

これは、サイズが設定されることを期待していたと思います。
Re: グラフビルダー フレームサイズ JSLこれは動作しません。FRAME SIZE は、FRAME の周囲の凡例/テキスト領域のサイズによって異なります。
Re: グラフビルダー フレームサイズ JSL@vishwasanj
以下の例に示すように、size 引数とそのパラメータを使用して、ウィンドウのサイズを定義および制限できます。
Graph Builder(
Size( 1230, 650 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :height ), Y( :weight ) ),
Elements( Position( 1, 1 ), Line( X, Y, Legend( 1 ) ) ),
Elements( Position( 1, 2 ), Bar( X, Y, Legend( 2 ) ) )
)