色譜柱切換器、本地數據過濾器和參考線自動更新我已經使用圖形生成器創建了一個條形圖,並希望將本地數據過濾器、列切換器和參考線應用到圖表。 是否可以根據選擇的列自動切換本地數據過濾器和參考線。 目前,當我在列之間交換時,我剛剛完成的參考線消失了。 我有 2 個可能的列可供選擇:Cpk 和 Ppk。 我想在 Cpk = 1.333 和 Ppk = 1.333 處添加參考線,當前分別顯示這兩條參考線。 同樣,我想添加一個本地數據過濾器,以僅顯示最小 Cpk/Ppk 值和最大值 1.5 之間的值,具體取決於顯示的列。 是否可以通過編寫腳本在簡單的圖形生成器中執行此操作,或者我需要查看儀表板/應用程序? 這就是我目前所擁有的:
Graph Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables(
X( :Feature ID, Order By( :Cpk , Ascending, Order Statistic( "Mean" ) ) ),
Y( :Cpk )
),
Column Switcher( :Cpk , {: Cpk , :Ppk }),
Elements( Bar( X, Y, Legend( 4 ) ) ),
Local Data Filter(
Add Filter( columns( :Cpk ), Where( :Cpk >= floor(Col Min(:Cpk )) & :Cpk <= 1.5 ) )
),
SendToReport(
Dispatch(
{},
"Cpk ",
ScaleBox,
{Add Ref Line( 1.333, "Solid", "Red", "", 3 )}
),
)
);數據探索和可視化回复:列切換器、本地數據過濾器和參考線自動更新好的,謝謝,不用擔心!
我正在使用公司軟件,所以我認為我無法升級,所以只需要考慮一種不同的方式來顯示數據。 我假設如果嘗試根據所選列更改軸限制,而不是嘗試更新本地數據過濾器,我會遇到類似的問題? 乾杯回复:列切換器、本地數據過濾器和參考線自動更新在 JMP 13 中運行腳本的第一個問題是從
ColSwitcher << 獲取當前
不是文字字符串,因此必須更改為
char( ColSwitcher << 獲取當前值 )
但當這樣做時,JMP 就會進入無限循環
我相信這是一個已知錯誤,並且與列切換器更改調用添加圖形腳本時相關。
我嘗試了很多事情,但無法找到解決方案。 我確信升級到 15 是解決此問題的唯一選擇。回复:列切換器、本地數據過濾器和參考線自動更新你好,
當我將其複製到腳本中時,它似乎無法正常工作。 該圖表有一條錯誤消息,指出“圖形腳本在日誌中報告了錯誤”。 日誌中報告的錯誤指出“名稱未解析:訪問或評估 'weight' 時的權重{21},weight/*###*/”。 我正在使用 JMP 13,我不知道這是否是一個問題?
我成功添加了一條參考線,無論 y 軸上顯示什麼,該參考線都保持在 1.333,如下所示:
obj = dt_sum << Graph Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables(
X( :Feature ID, Order By( :Cpk, Ascending, Order Statistic( "Mean" ) ) ),
Y( :Cpk)
),
Column Switcher( :Cpk, {: Cpk, :Ppk}),
Elements( Bar( X, Y, Legend( 4 ) ) ),
);
Report(obj)[FrameBox(1)] <<
Add Graphics Script(
1, Description( "Pen Script"),
Pen Color("red");
Pen Size(3);
Y Function(1.333, Feature ID);
);但是,我仍然不確定如何將列切換器與本地數據過濾器鏈接起來,以便在切換列時僅顯示和更新低於特定 y 值的值。
回复:列切換器、本地數據過濾器和參考線自動更新是的,可以做你想做的事。這是一個簡單的例子
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
gb = dt << Graph Builder(
Size( 534, 456 ),
Show Control Panel( 0 ),
Variables( X( :age ), Y( :weight ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) )
);
ColSwitcher = gb << Column switcher( :weight, {:weight, :height} );
Report( gb )[framebox( 1 )] << add graphics script(
theCol = ColSwitcher << Get Current;
If(
theCol == "weight",
Report( gb )[AxisBox( 2 )] << add ref line(
Col Mean( :weight ),
"solid",
red,
"Mean",
2
),
theCol == "height",
Report( gb )[AxisBox( 2 )] << add ref line(
Col Mean( :height ),
"solid",
red,
"Mean",
2
)
);
);