圖表建構器動態字幕您好,我希望有人能幫我解決這個問題,讓我的圖表副標題能夠取年份的最小值和最大值。例如,如果最小年份是 2018 年,最大年份是 2025 年,那麼副標題應該是「2018 - 2025」。
自動化和腳本編寫回覆:圖表建構器動態字幕最小值/最大值取自本地資料過濾器,還是取自整個資料集?
如需資料篩選器,請查看https://marketplace.jmp.com/appdetails/Graph+Builder+Toolbar
其中一個捷徑可讓您將資料篩選器的設定用作標題(而不是副標題)。
回覆:圖表建構器動態字幕若要調整副標題,請前往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 )
回覆:圖表建構器動態字幕根據表格中的數據,大致情況如下:
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 );
回覆:圖表建構器動態字幕我猜您說的“動態”字幕是指使用本地資料過濾器時的情況?您需要使用一些腳本將「<< 建立篩選器變更處理程序」新增至您的本機資料篩選器。
我不確定這個範例是否足夠完善,但它顯示瞭如何使用「建立篩選器更改處理程序」。
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
回覆:圖表建構器動態字幕相關討論—以及類似的解決方案:
是否可以在本機資料篩選器中根據項目選擇動態更新「圖表標題」(包括多項選擇)?
這裡希望在 JMP 中添加此功能——無需編寫腳本:
自動填入標題 - 圖表建立器
本機資料篩選器:選項將所選內容用作圖表標題
其理念是:使用者可以指定將資料篩選器的哪些條目新增至標題:

回覆:圖表建構器動態字幕您好,很抱歉造成了誤解,我應該說得更清楚一些。我指的是整個資料集。隨著資料集的更新,我希望副標題中的日期也能隨之更新。
回覆:圖表建構器動態字幕像這樣?
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 ) ) )}
)
)
);
回覆:圖表建構器動態字幕效果太好了!非常感謝!