大家好!我遇到一個客戶提出的難題,把我難住了──我覺得應該很簡單,但怎麼也解決不了。問題如下:讓平行圖在圖表上顯示分類因子每個水準的成員數量。下面的腳本使用範例資料產生了一個平行圖,目標是讓圖表產生器自動在左側條目旁邊新增「20」。
在將此功能作為功能請求提交之前,大家有什麼想法?
Names Default To Here( 1 );
Clear Log();
dt = Open( "$Sample_Data/Discovery US 2018 Survey.jmp" );
dt << Graph Builder(
Size( 1231, 567 ),
Show Control Panel( 0 ),
Fit to Window( "On" ),
Variables(
X( :Handedness ),
X( :Analysis, Position( 1 ) ),
X( :BBQ, Position( 1 ) ),
X( :Pie, Position( 1 ) ),
X( :Discoveries, Position( 1 ) ),
X( :OS, Position( 1 ) ),
X( :Age, Position( 1 ) ),
X( :Usage, Position( 1 ) ),
X( :Boy Band, Position( 1 ) ),
X( :DGA, Position( 1 ) ),
X( :Type, Position( 1 ) )
),
Elements(
Parallel(
X( 1 ),
X( 2 ),
X( 3 ),
X( 4 ),
X( 5 ),
X( 6 ),
X( 7 ),
X( 8 ),
X( 9 ),
X( 10 ),
X( 11 ),
Legend( 6 ),
Combine Sets( 1 )
)
)
);
不知道是否有內建方法可以實現這一點,但或許可以使用懸停標籤;添加了一個新列和一個懸停標籤,用於顯示慣用手分佈情況。
Data Table( "Discovery US 2018 Survey.jmp" ) <<
New Column( "first", Character, "Nominal", <
<SET initial="" data="https://community.jmp.com/"></SET>
比我嘗試的要好得多——但他們希望懸停標籤能夠反映遊標當前所在組的計數。 (唉……)……看來得把這個加到願望清單裡了……
你可以在圖表建構器的列清單中手動建立一個新的轉換列。但是要為每一列都這樣做,真是太麻煩了。這有點像是臨時方案,需要重複很多操作,但或許可行,或許可以寫腳本來實現。我嘗試使用新的作用域功能來使公式更通用,但沒有找到解決方案。你或許能找到更好的方法。
Jed_Campbell_0-1787153025134.pngJed_Campbell_0-1787153025134.pngJed_Campbell_0-1787153025134.pngJed_Campbell_0-1787153025134.png
這是最接近的方案了……不過,對於很多列來說,這確實很繁瑣。我已經在願望清單裡提了個請求──如果你覺得合適,請點個讚! : 在圖表產生器中為平行圖新增計數標籤。
這並不能解決根本問題(很高興你把它添加到願望清單中——這對用戶來說應該很容易,無需額外工作),但我想提一下,多列公式(18 版引入)可以讓你一次性創建@Jed_Campbell建議的所有公式列(在很多情況下都很有用):
- 在表格中選擇所有要新增公式的列 > 右鍵 > 公式
- 選擇「一起」即可一次為它們產生一個公式。
Screenshot 2026-08-26 at 7.43.05 AM.png Screenshot 2026-08-26 at 7.43.05 AM.png
- 設計您的公式,並使用列集區域中的 _relative_from_COL 動態列來引用。
Screenshot 2026-08-26 at 7.46.42 AM.png Screenshot 2026-08-26 at 7.46.42 AM.png
這樣,每次為選取的列建立公式時,都會取代列引用。例如,對於 OS 2 產生的列,公式如下:
Screenshot 2026-08-26 at 7.51.15 AM.png Screenshot 2026-08-26 at 7.51.15 AM.png
朱爾斯
謝謝你,朱爾斯!這真的很有幫助。我完全忘了還有這個功能。