將列切換器鏈接到圖表會從列表中刪除條目你好,
當列切換器鏈接到圖形時,JMP 似乎會檢查圖形中“已存在”的列,並將它們從列切換器的條目列表中刪除。
大多數時候,這是一個很好的功能,因為它可以防止列切換器以及圖形和列之間已有的鏈接發生衝突。
但有時這個功能會帶來傷害。
在下面的示例中,繪圖的 X 軸和 Y 軸的 2 個列切換器共享 3 列 - 但起始值會自動從“其他”列切換器中刪除。:

仍然可能存在“重量”的衝突。 但是,如果嘗試將兩個列切換器設置為“重量”,則會自動檢測並阻止這種情況。
所以 - 在這裡 - 自動刪除並沒有想像中那麼有用。
如何將缺失值恢復到列表中?
解決方法是從圖表的無意義起始值開始(然後可以從列切換器列表中刪除),然後通過 JSL 將起始值更改為更有意義的值。
有沒有更簡單的方法,例如 LinkPlatform 命令的參數來禁用自動刪除?
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
new window("test",
cs1=dt << Column Switcher(:sex, {:sex, :height, :weight});
cs2=dt << Column Switcher(:height, {:sex, :height, :weight});
gb = Graph Builder(
Size( 534, 460 ),
Show Control Panel( 0 ),
Variables( X( :sex ), Y( :height ) ),
Elements( Points( X, Y, Legend( 1 ) ) )
)
);
cs1 << Link Platform(gb );
cs2 << Link Platform(gb );
高級統計建模自動化和腳本編寫消費者和市場研究數據混合和清理數據探索和可視化大規模定制分享和交流結果回复:將列切換器鏈接到圖形會從列表中刪除條目如果代碼中替換的字符串出現次數比最初預期的要多 - 它是否也適用於“內聯”定義的公式?
例如,我可以使用列切換器將累積概率圖(X 和 Y 軸)更改為另一個變量嗎?
--> 嗯,不幸的是沒有。只是 x 軸發生了變化,y 軸上使用的公式保持不變:(
Open( "$SAMPLE_DATA/Big Class.jmp" );
Graph Builder(
Size( 534, 464 ),
Show Control Panel( 0 ),
Variables(
X( :height ),
Y(
Transform Column(
"Cumulative Probability[height]",
Formula( Col Rank( :height ) / (Col Number( :height ) + 1) )
)
)
),
Elements( Points( X, Y, Legend( 3 ) ), Smoother( X, Y, Legend( 4 ) ) ),
Column Switcher( :height, {:height, :weight} )
)回复:將列切換器鏈接到圖形會從列表中刪除條目順便一提:
必須小心使用足夠複雜的虛擬列名稱。 有了“x”和“y”,我很幸運。
下面的代碼以警告結束:
Cannot find OutlineBox[ "Grweightph Builder" ] at {}似乎 ColumnSwitcher 的第一個觸發器將“Graph Builder”大綱框代碼中的“a”更改為“weight”
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << new column("a");
new window("test",
cs1=dt << Column Switcher(:a, { :weight, :sex});
gb = Graph Builder(
Size( 534, 460 ),
Show Control Panel( 0 ),
Variables( X( :a ), Y( :height ) ),
Elements( Points( X, Y, Legend( 1 ) ) ),
SendToReport(
Dispatch( {}, "Graph Builder", OutlineBox, Set Title( "test" ) )
)
));
cs1 << Link Platform(gb );
cs1 << Set Current("weight");
cs1 << Set Current("sex");回复:將列切換器鏈接到圖形會從列表中刪除條目在 JMP 的早期版本中,列切換器會切換所選列的所有實例。 因此,如果您通過 x 擬合 y,並且為垂直軸選擇了與“x”相同的列,那麼對於所有隨後選擇的列,x 和 y 都將被替換。 在 JMP 的最新版本中,他們通過您提到的警報阻止了這種情況。 它背後的歷史告訴我列切換器並不與軸或分組值綁定,而是嘗試替換所有實例,而新版本的 JMP 只是防止衝突。
我收到與您上面發布的代碼相同的警報。如果您需要執行此操作,請考慮使用兩個列錶框編寫腳本。 當選擇不同的列時,刪除繪圖,獲取 x 和 y 列,然後重新繪製繪圖。您可以使用這作為參考。
回复:將列切換器鏈接到圖形會從列表中刪除條目這是具有虛擬起始值的版本。
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << new column("x");
dt << new column("y");
new window("test",
cs1=dt << Column Switcher(:x, {:height, :weight, :sex});
cs2=dt << Column Switcher(:y, {:height, :weight, :sex});
gb = Graph Builder(
Size( 534, 460 ),
Show Control Panel( 0 ),
Variables( X( :x ), Y( :y ) ),
Elements( Points( X, Y, Legend( 1 ) ) )
)
);
cs1 << Link Platform(gb );
cs2 << Link Platform(gb );
cs1 << Set Current("weight");
cs2 << Set Current("height");回复:將列切換器鏈接到圖形會從列表中刪除條目嗨賈莫。
是的,你的例子絕對是眾多案例之一:
這是一個很好的功能,因為它可以防止列切換器以及圖形和列之間已有的鏈接發生衝突。
我完全同意。
毫無疑問,大多數時候自動刪除功能會有所幫助。
大多數時候,但並非總是如此。
對於 N>=2 列切換器和列表中的 N>2 條目,用戶可以在儀表板的有趣版本中無休止地循環列切換器。
並且通過“無法切換”通知來防止任何碰撞。
因此,一個參數可以很好地啟用或禁用該功能。
回复:將列切換器鏈接到圖形會從列表中刪除條目我只是想知道如果您遇到以下情況您希望發生什麼:
- X軸:身高,Y軸性別
- 試圖同時擁有這兩者的列切換器
- 您可以更改列切換器中的值。 應該更新哪些值以及如何更新?
簡單的示例,其中高度將被刪除,因為我們使用 :sex 將列切換器初始化為 X 軸,並且 :height 被刪除,因為它已經在 Y 軸上。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
New Window("test",
gb = dt << Graph Builder(
Size(534, 460),
Show Control Panel(0),
Variables(X(:sex), Y(:height)),
Elements(Points(X, Y, Legend(1))),
)
);
gb << Column Switcher(:sex, {:sex, :height, :weight});
如果一個列切換器嘗試同時更改圖中的多個元素,其中一個元素將被刪除,並且將使用刪除的列名稱打印到日誌中:
分析中使用了一些選定的色譜柱。 以下各列已從選擇列表中刪除,以避免無意替換。
高度