グラフビルダーダイナミック字幕こんにちは。グラフのサブタイトルを「min(:Year)」と「max(:Year)」にして、それらをサブタイトルに使う方法を教えていただけないでしょうか?例えば、最小年が2018年、最大値が2025年の場合、サブタイトルは「2018 - 2025」になります。
自動化とスクリプトRe: グラフビルダーのダイナミック字幕最小値 / 最大値はローカル データ フィルターから取得しますか、それともデータ セット全体から取得しますか?
データフィルターについては、 https://marketplace.jmp.com/appdetails/グラフビルダー+ツールバーをご覧ください。
ショートカットの 1 つを使用すると、データ フィルターの設定をタイトル (サブタイトルではない) として使用できます。
Re: グラフビルダーのダイナミック字幕サブタイトルを調整するには、 C:\Users\_username_\AppData\Roaming\JMP\JMP\Addins\hogi.GraphBuilderToolbar\resetAxisLabels.jslに移動します。
36行目を次のように変更します。
gb[Text Edit Box( 2 )] << Set Text( title ); // was Text Edit Box( 1 )
Re: グラフビルダーのダイナミック字幕表のデータに基づくと、次のようになります。
Names Default to Here(1);
dt = Open( "$SAMPLE_DATA/US Regional Population.jmp" );
:Year << data type(numeric);
Graph Builder(
Show Subtitle( 1 ),
Variables( X( :Year ), Y( :Population ), Overlay( :Region ) ),
Elements( Line( X, Y ) )
);
dt << select where (:year < 1950 ) << exclude(1) << select where(0);
// ---------------
myRows=where(dt, not (excluded()));
min = Char(min (dt[myRows,"Year"]));
max = Char(min (dt[myRows,"year"]));
((Current Report() << XPath( "//OutlineBox[@helpKey='Data Filter']" )) << get scriptable object) << Show Subtitle( 1 ) ;
current report()[Text Edit Box( 2 )] << Set Text( min || " — " || max );
Re: グラフビルダーのダイナミック字幕「動的」な字幕についておっしゃっているということは、ローカル データ フィルターを使用する場合のことでしょうか? 何らかのスクリプトを使用して、ローカル データ フィルターに << Make Filter Change Handler を追加する必要があります。
この例がどれほど堅牢であるかは分かりませんが、<<フィルター変更ハンドラーを作成する方法のアイデアが得られます。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Show Subtitle(1),
Variables(X(:weight), Y(:height), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11))),
Local Data Filter(Add Filter(columns(:height)))
);
// Reference to filter
ob_filter = (gb << Top Parent) << XPath("//OutlineBox[@helpKey='Data Filter']");
ob_filter = ob_filter[1];
ldf = ob_filter << Get Scriptable Object;
f = Function({a},
dt = gb << Get Data Table;
w = ldf << Get where clause;
If(Is missing(w),
minval = Col Min(:height);
maxval = Col Max(:height);
,
Substitute Into(w, "Select ", "Get Rows ");
r = Eval(EvalExpr(Send(dt, Expr(Parse(w)))));
minval = Min(dt[r, "height"]);
maxval = Max(dt[r, "height"]);
);
title = Eval Insert("^minval^ < height: < ^maxval^");
gb << Dispatch({}, "graph 1 title", TextEditBox, {Set Text(title)});
);
rs = ldf << Make Filter Change Handler(f);
f(0); // run once
Re: グラフビルダーのダイナミック字幕関連する議論 - 同様の解決策:
ローカル データ フィルターで「グラフ タイトル」に基づいて項目選択 (複数選択を含む) を動的に更新することは可能ですか?
スクリプトを必要とせずに、JMP にこの機能を追加したいという要望があります。
タイトルの自動入力 - グラフビルダー
ローカルデータフィルタ: 選択範囲をグラフタイトルとして使用するオプション
アイデア: ユーザーは、タイトルに追加するデータ フィルターのエントリを指定できます。

Re: グラフビルダーのダイナミック字幕こんにちは。混乱させてしまい申し訳ありません。もっと具体的に説明すべきでした。データセット全体から。データセットが更新されたら、サブタイトルの日付も更新したいのですが。
Re: グラフビルダーのダイナミック字幕このような?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/US Regional Population.jmp" );
dt:Year << Data Type( "Numeric" );
dt << Graph Builder(
Show Control Panel( 0 ),
Show Subtitle( 1 ),
Variables( X( :Year ), Y( :Population ), Overlay( :Region ) ),
Elements( Points( X, Y, Legend( 18 ) ) ),
SendToReport(
Dispatch( {}, "graph 1 title", TextEditBox,
{Set Text( Char( Col Min( :Year ) ) || " - " || Char( Col Max( :Year ) ) )}
)
)
);
Re: グラフビルダーのダイナミック字幕素晴らしいですね!本当にありがとうございます!