こんにちは、
グラフビルダーを使用して、積み上げ棒グラフごとにラベルと合計を含む積み上げ棒グラフを作成しようとしています。下の画像は、各バーの合計を手動で挿入したところに達成したいと考えているグラフのマークアップ バージョンです。(組み込みのグラフ ビルダー スクリプトと共に使用したサンプル JMP データセットが添付されています)
グラフビルダー/別のプラットフォームまたはJSLスクリプトを介してこのビューを作成する方法があるかどうかは誰にもわかりませんか?
ありがとう、
AW

@txnelson 、 @gzmorgan0
この問題を解決するための迅速な返信と創造的な方法に感謝します!1 週間に約 100 の異なるプロジェクトについて、これらのプロットを循環して生成する必要があることを忘れていました。したがって、gzmorgan0 が提供するスクリプトの方が適していると思います。 試してみたところ、私のニーズに完全に対応しています。再度、感謝します!
@AW 、
@txnelson良い解決策を提供しました。 ラベルには少しスクリプトが必要です。GraphBuilder を使用した別の方法を次に示します。保存されたスクリプト(下記)を介してパターンを確認する方が簡単だと思います。 これは、UI を介して行うことができ、Overlay 変数をオフにします。 グラフには 3 つの要素があります。
- オーバーレイ変数を使用した積み上げ棒グラフ
- オーバーレイ変数を使用しないバー
- オーバーレイ変数を使用しない Summary Statistic Sum のキャプション
データ テーブルを c:/temp/ ドライブに保存したことに注意してください。 Caption 要素には、Jim のソリューションが提供する配置の柔軟性がありません。
Names Default to Here(1);
dt = open("C:/temp/Sample Dataset for Stacked Graph Builder Bar Chart.jmp");
gb = dt << Graph Builder(
Size( 534, 492 ),
Show Control Panel( 0 ),
Variables(
X( :Test_Step_Duration ),
Y( :Test ),
Group X( :Sample Information ),
Overlay( :Test_Step )
),
Elements(
Bar(
X,
Y,
Overlay( 0 ),
Legend( 11 ),
Bar Style( "Stacked" ),
Summary Statistic( "Sum" )
),
Caption Box(
X,
Y,
Overlay( 0 ),
Legend( 13 ),
Summary Statistic( "Sum" ),
Per Factor( 1 )
),
Bar( X, Y, Legend( 14 ), Bar Style( "Stacked" ), Label( "Label by Value" ) )
),
Local Data Filter(
Add Filter( columns( :Project ), Where( :Project == "Project 1" ) )
),
SendToReport(
Dispatch(
{},
"Test_Step_Duration",
ScaleBox,
{Label Row( Show Major Grid( 1 ) )}
),
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
11,
Properties(
-1,
{Transparency( 0.1 )},
Item ID( "Sum(Test_Step_Duration)", 1 )
)
), Legend Model(
14,
Properties( 0, {Fill Color( 69 )}, Item ID( "Step 1", 1 ) ),
Properties( 1, {Fill Color( 67 )}, Item ID( "Step 2", 1 ) ),
Properties( 2, {Fill Color( 36 )}, Item ID( "Step 3", 1 ) ),
Properties( 3, {Fill Color( 40 )}, Item ID( "Step 4", 1 ) ),
Properties( 4, {Fill Color( 38 )}, Item ID( "Step 5", 1 ) ),
Properties( 5, {Fill Color( 39 )}, Item ID( "Step 6", 1 ) )
)}
),
Dispatch(
{},
"X title",
TextEditBox,
{Set Text( "Test_Step_Duration and Total" )}
),
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {11, [-1], 14, [0, 1, 2, 3, 4, 5]} ),
Position( {-1, 0, 1, 2, 3, 4, 5} )}
)
)
);
txtseg = gb << Xpath("//TextSeg");
txtseg << Set Font("Segoe UI", 10, "Bold");
txtseg[1] << {Transparency( 0 ), Text Color( "White" )}; //clear out the statistic

独自のカスタム グラフィック スクリプトをグラフ ビルダーに追加し、グラフを右クリックして [カスタム] を選択すると、追加された JSL が表示されます。上部の 2 つのバーのコードのみを追加しましたが、それらすべてを先に進める方法が示されているはずです。

スクリプトを添付します