使用覆蓋變數更改圖形產生器線寬當我指定了覆蓋變數但我不知道該變數的值可能是什麼(或者可能有多少個值)時,我希望能夠在圖形產生器中更改線寬。我根據社區帖子嘗試了以下操作:
Names Default To Here(1);
Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 3 ) ), Line( X, Y, Legend( 5 ) ) )
);
fbs = gb << XPath("//FrameBox");
For(i = 1, i <= N Items(fbs), i++,
frame = fbs[i];
seg = (frame << Find Seg("Line Seg"));
seg << Set Line Width(1);
);但這只會改變其中一條線的粗細(在本例中,對於 :sex=="F")。
謝謝!
數據探索和視覺化回覆:使用覆蓋變數變更圖形產生器線寬Find Segs
這麼有用的功能!有什麼文檔嗎?
回覆:使用覆蓋變數變更圖形產生器線寬嗨馬修,
簡單的修復方法是將Find Seg改為Find Segs 。這將找到所有線段(有兩個,每個性別一個)並將寬度替換為您需要的寬度。
此外,因為只有 1 個框架框(或 1 個圖),所以我們在這裡不需要For循環。我找到了您提到的社區帖子,在該示例中,有兩個框架框。
因此我們可以將您的程式碼簡化如下:
Names Default To Here(1);
Open("$SAMPLE_DATA/Big Class.jmp");
gb = Graph Builder(
Size( 534, 454 ),
Show Control Panel( 0 ),
Variables( X( :height ), Y( :weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 3 ) ), Line( X, Y, Legend( 5 ) ) )
);
fbs = gb << XPath("//FrameBox");
seg = (fbs << Find Segs("Line Seg"));
seg << Set Line Width(1);
希望有幫助!