如何設置“未選中的褪色”的“褪色”程度你好,
當選擇圖表中的數據點時,其他數據點會變淡(默認情況下,如果標記選擇模式設置為如此;其他選項也是可能的)。
褪色意味著“相同的顏色,但不那麼強烈”。
是否有定義“褪色”程度的選項?
當圖表導出為“交互式 html”時,未選擇的點“只是”白色
- 但實際上,這使得區分選定和未選定數據點變得更加容易。
有時更多或更少的褪色是首選,如果已經有一個選項來設置“褪色”的程度,那就太好了......
圖形回复:“未選擇的褪色”的“褪色”程度這可能是這個想法的可能實現:
選擇數據點時,選擇的數據點會變大且清晰可見,未選擇的數據點會變小並變暗。
順便說一下,我的代碼中似乎還有一些錯誤:
選擇和取消選擇數據點後,附加列彈回“M”/“F”(如預期),但格式有所改變。
最後在我的電腦上設置(v 16.2.0,win):
{Legend Model(
3,
Properties(0,{Line Color( 3 ), Marker Size( 6 ), Transparency( 0.3 )},Item ID( "F", 1 )),
Properties(1,{Line Color( 21 ), Marker( "FilledCircle" ), Marker Size( 6 )},Item ID( "M", 1 )),
....
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "sexformula",
Character,
"Nominal",
Formula( If( N items(dt << get selected rows)==0 ,:sex ,If(Selected(),Concat(:sex," (selected)"), Concat(:sex," -" ))) ));
new window("test",
H list Box (
dt << Graph Builder(
Show Control Panel( 0 ),
Shol Legend(0),
Variables( X( :name ), Y( :weight ) ),
Elements( Bar( X, Y, Legend( 5 ) ) )
);
dt << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Color( :sexformula ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
3,
Properties( 0, {Line Color( 3 ),Marker Size( 6 ),Transparency(1),Marker("Dot")}, Item ID( "F", 1 )),
Properties( 1, {Line Color( 21 ),Marker Size( 6 ),Transparency(1),Marker("Dot")}, Item ID( "M", 1 )),
Properties( -1, {Line Color( 3 ),Marker Size( 3 ),Transparency(0.3),Marker("Dot")}, Item ID( "F -", 1 )),
Properties( -1, {Line Color( 21 ),Marker Size( 3 ),Transparency(0.3),Marker("Dot")}, Item ID( "M -", 1 )),
Properties( -1, {Line Color( 3 ),Marker Size( 10 ),Transparency(1),Marker( "FilledCircle" )},Item ID( "F (selected)", 1)),
Properties( -1, {Line Color( 21 ),Marker Size( 10 ),Transparency(1),Marker( "FilledCircle" )},Item ID( "M (selected)", 1))
)}
)
)
)))
回复:“未選擇的褪色”的“褪色”程度你是對的。
實際上,我的問題的直接答案:)
回复:“未選擇的褪色”的“褪色”程度很順利的方法!
動態列公式 - 很酷。
這提供了很大的靈活性 - 而且非常簡單 
回复:“未選擇的褪色”的“褪色”程度也許我在其他帖子中遺漏了一些東西,但你不能只在 JMP 首選項中設置級別嗎?

回复:“未選擇的褪色”的“褪色”程度對行狀態更改做出反應的另一種方法是使用使用行狀態的公式創建新列。然後您可以在 Graph Builder(或其他平台)中使用這些列,它們將對不斷變化的公式做出反應。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << New Column( "sexformula",
Character,
"Nominal",
Formula( If( Selected(), "Selected", :sex ) )
);
dt << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Color( :sexformula ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) ),
SendToReport(
Dispatch(
{},
"400",
ScaleBox,
{Legend Model(
3,
Properties(
2,
{Line Color( 1 ), Marker Size( 6 )},
Item ID( "Selected", 1 )
)
)}
)
)
);
回复:“未選擇的褪色”的“褪色”程度你好,
@danschikore給了我使用行狀態處理程序的提示。 -> 很棒的功能,謝謝 
現在我可以通過任何數據點選擇來觸發函數 f:
dt << make row state handler( f );
但就像生活中經常發生的那樣,你解決了 1 個問題,然後又出現了 2 個新問題:
a) GraphBuilder 顏色設置覆蓋行顏色設置
-> 是否有設置使行顏色設置覆蓋 GraphBuilder 顏色?
更嚴重的是:
b) 行狀態處理程序對行狀態的任何變化做出反應——不幸的是我的新“標籤”和“顏色”也發生了變化。
並且日誌告訴我“行狀態不應由行狀態處理程序更改”。
有沒有辦法只對“選擇”變化做出反應,而不是對所有行狀態變化做出反應?

dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
f = Function( {a},
selected = dt << Get selected Rows();
if(N Row(selected)>0,
print("change size & font");
rs = dt << get row states;
bits0 = (mod(rs, 2)==1); //select
bits1 = (mod(floor(rs/2),2)==1)*2; //exclude
bits2 = (mod(floor(rs/4),2)==1)*4; //hide
highlight = 200; // large dot, label (keep the automatic color)
faded = 8192; //light gray --> unfortunately, no effect
setStates = bits0 + bits1 + bits2 + highlight * bits0 + faded *(1-bits0);
show(rs, bits0,bits1,bits2,setStates);
dt << Set Row States (setStates);
);
);
dt << Graph Builder(
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Color( :sex ) ),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) )
);
rs = dt << make row state handler( f );
回复:“未選擇的褪色”的“褪色”程度你好@喬治,
這可以工作。
選擇數據點後如何觸發 jsl 代碼的執行?
回复:“未選擇的褪色”的“褪色”程度我不認為這是可以設置的,我不會按照你描述的方式使用它。
還有很多其他的可能性來標記行/點,例如。按顏色、標記、大小、標籤、圖表中的位置... 你真的需要另一個維度嗎?
一種解決方法(為了獲得您想要的功能)可能是,您放入一個公式,將未選擇的顏色轉換為更退化的顏色,並將其定義為顏色行狀態。
回复:“未選擇的褪色”的“褪色”程度您可以嘗試按列著色或標記(在數據表行中的紅色箭頭下)並使用連續列。 顏色將根據該列的值而變化(它們被合併)。我不知道如果您排除(但不隱藏)任何行,它們是否會出現,但我認為這可能是您想要的。