スクリプトで箱ひげ図の色にアクセス/変更する方法こんにちは、
自動的にデータを収集してグラフを作成するスクリプトを書いています...
私の問題は、さまざまな数の箱ひげ図 (添付の例では 26 個の箱) を含むグラフが得られることです。箱ひげ図のプロパティ (塗りつぶしの色、線の色、透明度など) を変更したいのですが、方法がわかりません。 26 個の箱ひげ図に一度に、または個別に (ただしスクリプト経由で) アクセスするには...
手動で確認したところ、いくつかの箱ひげ図オブジェクトがあることがわかりました。箱ひげ図 (50) の色も手動で変更しましたが、スクリプトを見て変更しようとすると、機能しません...
そこで私の質問は、すべての箱ひげ図への参照を問い合わせて取得するにはどうすればよいですか?
そして、それらのプロパティ (すべて) を変更するにはどうすればよいでしょうか?
どうもありがとう。
PS: 簡単にするために、グラフと使用した元のテーブルを含めました (スクリプトはデータ テーブルに埋め込まれています)。 入手したスクリプトも追加します。

Graph Builder(
Show Legend( 0 ),
Y Group Title Orientation( "Horizontal" ),
Y Group Level Orientation( "Horizontal" ),
Variables( X( :QVoltages ), Y( :Value ) ),
Elements(
Points( X, Y, Legend( 1 ), Jitter( 1 ) ),
Box Plot(
X,
Y,
Legend( 3 ),
Jitter( 1 ),
Outliers( 1 ),
Box Style( "Outlier" )
)
),
SendToReport(
Dispatch(
{},
"QVoltages",
ScaleBox,
{Show Major Grid( 1 ), Show Minor Grid( 1 ), Inside Ticks( 1 ),
Rotated Labels( "Vertical" )}
),
Dispatch(
{},
"Ron_1p5V [Ohm]",
ScaleBox,
{Min( 40 ), Max( 100 ), Inc( 10 ), Minor Ticks( 1 ),
Show Major Grid( 1 ), Show Minor Grid( 1 ), Inside Ticks( 1 )}
),
Dispatch( {}, "graph title", TextEditBox, {Set Text( "" )} ),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "Value" )} ),
Dispatch(
{},
"Graph Builder",
FrameBox,
{DispatchSeg(
Box Plot Seg( "Box Plot (50)" ),
{Box Style( "Outlier" ), Line Color( "Dark Red" ), Line Width( 2 ),
Fill Color( "Red" ), Transparency( 0.5 )}
)}
)
)
)Re: スクリプトで箱ひげ図の色にアクセス/変更する方法皆さん、本当にありがとう!
これで、派手なことを始める準備ができました:)
Re: スクリプトで箱ひげ図の色にアクセス/変更する方法要素は、レポート構造へのエントリからの絶対位置によって、またはレポート構造内の固定された一意のポイントからの相対参照によって参照されます。
["グラフビルダー"][TextEditBox(1)]<
この例では、グラフ ビルダーのアウトライン ボックスをポイントし、そのアウトライン ボックスの下にある最初のテキスト編集ボックスを参照します。
グラフ ビルダーの出力の単純さにはアウトライン ボックスが 1 つしかありませんが、場合によっては、特定のアウトライン ボックスへの参照が別のパスにある参照を取り出す複数のアウトライン ボックスが存在する場合もあります。
;
Re: スクリプトで箱ひげ図の色にアクセス/変更する方法興味のある表示ボックスのタイプ (たとえば、「テキスト編集ボックス ()」) を取得したら、スクリプト インデックスでそれを検索できます (上記の Jim の投稿を参照)。 次に、関連するメッセージと (通常は) 例が表示されます。

Re: スクリプトで箱ひげ図の色にアクセス/変更する方法ありがとう、イアン、
あなたの説明があれば、簡単なグラフで自分のやり方を見つけることができると思います。
ドキュメントに目を通しましたが、情報量が多く、自分のやり方を見つけるのは必ずしも簡単ではないと言わざるを得ません...しかし、練習は続けています。
たとえば、添付した例では、グラフのタイトルと X 軸と Y 軸のタイトルを変更したいとします。 「通常の方法で変更してください...しかし、ツリー構造を介してアクセスしたいとします (添付の図を見てください)」と言うでしょう。
そうか :
TextEditBox(1)の「タイトルの変更」
TextEditBox(2)の「Xタイトルを変更」
TextEditBox(3)の「値」
これらの文字列を取得し、ツリー経由で変更するにはどうすればよいですか?
再度、感謝します !!!!!
Re: スクリプトで箱ひげ図の色にアクセス/変更する方法ありがとう、イアン、
あなたの説明があれば、簡単なグラフで自分のやり方を見つけることができると思います。
ドキュメントに目を通しましたが、情報量が多く、自分のやり方を見つけるのは必ずしも簡単ではないと言わざるを得ません...しかし、練習は続けています。
たとえば、添付した例では、グラフのタイトルと X 軸と Y 軸のタイトルを変更したいとします。 「通常の方法で変更してください...しかし、ツリー構造を介してアクセスしたいとします (添付の図を見てください)」と言うでしょう。
そうか :
TextEditBox(1)の「タイトルの変更」
TextEditBox(2)の「Xタイトルを変更」
TextEditBox(3)の「値」
これらの文字列を取得し、ツリー経由で変更するにはどうすればよいですか?
再度、感謝します !!!!!
Re: スクリプトで箱ひげ図の色にアクセス/変更する方法ありがとう、イアン、
あなたの説明があれば、簡単なグラフで自分のやり方を見つけることができると思います。
ドキュメントに目を通しましたが、情報量が多く、自分のやり方を見つけるのは必ずしも簡単ではないと言わざるを得ません...しかし、練習は続けています。
たとえば、添付した例では、グラフのタイトルと X 軸と Y 軸のタイトルを変更したいとします。 「通常の方法で変更してください...しかし、ツリー構造を介してアクセスしたいとします (添付の図を見てください)」と言うでしょう。
そうか :
TextEditBox(1)の「タイトルの変更」
TextEditBox(2)の「Xタイトルを変更」
TextEditBox(3)の「値」
これらの文字列を取得し、ツリー経由で変更するにはどうすればよいですか?
Re: スクリプトで箱ひげ図の色にアクセス/変更する方法はい、それはジムが参照したドキュメントにすべて記載されています。
JMP プラットフォームを起動するときは、結果として得られるウィンドウが 2 つのレイヤーで構成されることを考えると役立ちます。「分析レイヤー」 (「赤い三角」オプション) と「レポート レイヤー」(コンテンツを構成する表示ボックスの階層構造) です。窓の)。 一番上のアウトライン ボックス (この場合は「グラフ ビルダー」というタイトル) の小さな開閉用三角ボタンを右クリックすると、どの表示ボックスが関係しているかを示す [編集 > ツリー構造の表示] オプションが表示されます。
Re: スクリプトで箱ひげ図の色にアクセス/変更する方法これらすべてに関する主要なドキュメントは次の場所にあります。
ヘルプ==>書籍==>スクリプトガイド
と
ヘルプ==>スクリプトインデックスRe: スクリプトで箱ひげ図の色にアクセス/変更する方法ありがとう、イアン。
あなたのスクリプトはまさに私が望んでいたものを実行します!!!!!!
さらに説明を聞いてもいいですか? 1/ レポートを紹介したようですね。 2/フレームボックス(1)。 3/ セグメント数。 4/ ファインドセグ...
つまり、それらのオブジェクトまたはプロパティについて知っていることになります...
問題は、私の場合、グラフがどのように構成されているかを理解する必要がある場合、どこを見ればよいでしょうか?それを明確に説明するドキュメントはありますか? (たとえば、MATLAB では、各オブジェクト ハンドラー、参照、親/子オブジェクトに使用されます...そのため、ツリーをスクロールして目的地を見つけるのは簡単です...)。
改めて、どうもありがとうございます!!!!!!
Re: スクリプトで箱ひげ図の色にアクセス/変更する方法テーブルを使用すると、次のようなことができます。
gb = Graph Builder(
Show Legend( 0 ),
Y Group Title Orientation( "Horizontal" ),
Y Group Level Orientation( "Horizontal" ),
Variables( X( :QVoltages ), Y( :Value ) ),
Elements(
Points( X, Y, Legend( 1 ), Jitter( 1 ) ),
Box Plot( X, Y, Legend( 3 ), Jitter( 1 ), Outliers( 1 ), Box Style( "Outlier" ) )
),
SendToReport(
Dispatch(
{},
"QVoltages",
ScaleBox,
{Show Major Grid( 1 ), Show Minor Grid( 1 ), Inside Ticks( 1 ), Rotated Labels( "Vertical" )}
),
Dispatch(
{},
"Value",
ScaleBox,
{Min( 40 ), Max( 100 ), Inc( 10 ), Minor Ticks( 1 ), Show Major Grid( 1 ), Show Minor Grid( 1 ),
Inside Ticks( 1 )}
),
Dispatch( {}, "graph title", TextEditBox, {Set Text( "" )} ),
Dispatch( {}, "Y title", TextEditBox, {Set Text( "Value" )} )
)
);
gbRep = Report( gb );
nbp = gbRep[FrameBox( 1 )] << segCount("Box Plot Seg");
for(n=1, n<=nbp, n++,
s = gbRep[FrameBox( 1 )] << FindSeg( Box Plot Seg(n) );
s << Fill Color( "Green" );
);
// Uncomment the line beloe to see what other messages a 'BoxPlotSeg()' understands
// Show Properties( s );