如何使用 JSL 在 Graph Builder 中動態引用比例框的 y 軸<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />或任何地方。
我正在編寫一個函數來產生一些專業的工作圖表。 我在畫布上做了一些額外的繪圖,需要在 y 軸上重新調整圖形以適應所有內容。 我可以透過取得我正在繪製的每個點的最大值和最小值並將這些值(+/- 5%)設為我的上限和下限來實現這一點。 但是,為了使變更生效,我需要呼叫軸標籤。 我試過索引號。 我嘗試將名稱儲存為變數並調用該變數。 我的所有嘗試似乎都不起作用,並且該主題的文檔並不全面。
例子:
在圖形生成器並發送到報告中,我有:
| | 派遣({}, |
| | | “軸名稱”, |
| | | 秤盒, |
| | | {格式( "固定十進位", 15, 0 ), 最小值( llim ), 最大值( ulim ), |
| | | Inc( 1 ), 小刻度( 1 )} |
| | ), |
為了讓它在函數中工作,我目前必須對名稱進行硬編碼。 我希望它能夠動態更新,無論我繪製什麼圖表。
一些東西的效果
| | 派遣({}, | |
| | | Y 軸, |
| | | 秤盒, |
| | | {格式( "固定十進位", 15, 0 ), 最小值( llim ), 最大值( ulim ), |
| | | Inc( 1 ), 小刻度( 1 )} |
| | ), | |
就是我正在尋找的。
回覆:如何使用 JSL 在 Graph Builder 中動態引用比例框的 y 軸作為 Jim 範例的後續,您可以使用 XPath() 取得報告中所有 AxisBox 的清單。然後,您可以循環瀏覽該列表,並根據需要進行所需的變更。下面演示了 XPath(),然後簡單地選擇 For 循環中的每個軸。
/* 取得報告中所有 AxisBox 的清單 */
國標軸=報告(國標) << X路徑( “//軸框” ) ;
/* 循環遍歷每個軸以查看每個軸引用哪個軸 */
為了(我= 1 ,我<= N 項(國標軸) ,我++,
國標軸[我] <<選擇;
等待( 1 ) ;
) ;
我希望這有幫助!
溫迪
回覆:如何使用 JSL 在 Graph Builder 中動態引用比例框的 y 軸這完美解決了我的問題。 謝謝吉姆。 我的函數仍在進行中:使其足夠通用以供共享,但一旦我弄清楚了,但一旦我使其足夠通用,我將在 JMP 社群上發布。
對於任何想知道的人,我相信我的問題是在報告完全生成之前我試圖在報告中引用該報告(儘管我可能是錯的)。
回覆:如何使用 JSL 在 Graph Builder 中動態引用比例框的 y 軸您提出了一個關於圖形產生器中軸識別的有趣問題。我查看了 Graph Builder 使用的軸結構,它似乎有一個可以使用的組織。

上面的圖形產生器圖表有一個 Y 軸和多個 X 軸。我嘗試的圖表結構始終使用軸 1 作為第一個 X 軸,使用軸 2 和第一個 Y 軸。因此,在使用下面的程式碼時,即使圖形類型發生變化,軸編號也保持不變。
名稱預設為此處( 1 ) ;
dt =打開( “$SAMPLE_DATA/半導體能力.jmp” ) ;
國標=圖形產生器(
尺寸(第593章,第526章) ,
顯示控制面板( 0 ) ,
變數 X( : PNP1) , Y( : NPN1) , X組( :地點 ) ) ,
元素( 點( X ,是,傳奇( 5 ) ) ,更平滑(X ,是,傳奇( 6 ) ) )
) ;
報告(gb)[軸盒( 1 )] <<分分鐘( 150 ) ;
Axis Box(2) 參考將更改 Y 軸。
還有軸框 3、4、5 和 6,它們是顯示的其他 5 個 X 軸。

此範例在 Y 軸上新增了第二個變量,但是,Axis Box(1) 仍然是第一個 X 軸,Axis Box(2) 是頂列「PNP4」的 Y 軸,而 Axis Box( 3) 是「 NPN1”列的Y 軸。
名稱預設為此處( 1 ) ;
dt =打開( “$SAMPLE_DATA/半導體能力.jmp” ) ;
國標=圖形產生器(
尺寸(第593章,第526章) ,
顯示控制面板( 0 ) ,
變數 X( : PNP1) , Y( : PNP4) , Y( : NPN1) , X組( :地點 ) )) ;
如果您用滑鼠點選灰色展開三角形並選擇
編輯==>顯示樹結構
您應該能夠確定您正在使用的圖形的軸盒結構,並且能夠以程式設計方式確定如何引用正確的軸盒
回覆:如何使用 JSL 動態引用 Graph Builder 中比例框的 y 軸存取單一軸物件後,下一個任務是找出哪個軸屬於哪個「軸」。
第一個軸是 x 軸還是 y 軸。
那麼其他情節類型呢?圖形建構器框和圖形框是否具有相同的邏輯?
請看一下這個願望:
透過 JSL 更輕鬆地取得報告結果
除了從報告中獲得結果之外,還可以簡化調整報告的方式。
派遣指令功能齊全-可以直接使用「X title」之類的資訊來控制訊息傳送到的位置:
SendToReport( Dispatch( {}, "X title", TextEditBox, {Set Text( "xxx" )} ) )
對Xpath來說,這似乎還不可能...