<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />大家好,
我經常處理帶有大量異常值的數據,目前過濾它們並不實用。 我希望使用Graph Builder顯示信息,並通過Column Switcher切換Color,並根據所選列更新顏色的比例。
這適用於單個列的數據。 但是,當我使用Column Switcher時,Graph Builder對象(gbObj)被刪除(log = 刪除對象引用[] )。 沒有gbObj,我無法重新縮放圖,JMP會拋出錯誤: 在訪問或評估“發送”時發送預期的腳本對象 。
下面的代碼說明了這個問題。
對窗口的引用, cusRpt ,仍然有效,我可以參考 OutlineBox 圖形生成器。 不幸的是,我不知道是什麼顯示框縮放顏色時參考。 有誰知道如何幫助解決這個問題?
謝謝,
布賴恩
/ *啟動腳本* /
dtData = Open(“$ SAMPLE_DATA / Semiconductor Capability.jmp”);
////////////////////////////////////////////////// /////////////////////////////////////
/ *
setContoursGB(toWindow,LV,HV,numContours)
用於在Graph Builder對象= toWindow上設置輪廓的功能。
LV和HV之間的輪廓間距相等,具有numContours輪廓。
* /
////////////////////////////////////////////////// /////////////////////////////////////
setContoursGB = Function({toWindow,LV,HV,numContours},
{toWindow,locContours,LV,HV,numContours,I},
locContours = 1 :: numContours;
對於(I = 1,I <= numContours,我++,
locContours = LV +(I-1)*(HV-LV)/(numContours-1));
toWindow << SendToReport(
調度(
{},
“400”,
ScaleBox,
{傳奇模型(
1,
屬性(
0,
{梯度(
{顏色主題(“酷到溫暖”),
標籤級別(
locContours
),寬度(12)}
)}
)
屬性(1,{標記(“管道”),填充顏色(0)})
)}
))
);
////////////////////////////////////////////////// /////////////////////////////////////
/* 打開窗戶 */
custRpt =新窗口(“分析”,
AnaNotesBox =大綱框(“分析筆記”,
文本框(“信息......”),
)
);
/ *附加圖形生成器對象(GB)* /
custRpt << append(
gbObj =圖形生成器(
大小(570,374),
顯示控制面板(0),
變量(X(:批號中的晶圓ID),Y(:SITE),顏色(:NPN1)),
元素(點(X,Y,圖例(1),抖動(1))),
SendToReport(
調度(
{},
“400”,
ScaleBox,
{傳奇模型(
1,
屬性(
0,
{gradient({Color Theme(“Cool to Warm”),Width(12)})}
)
屬性(1,{標記(“管道”),填充顏色(0)})
)}
)
Dispatch({},“Graph Builder”,FrameBox,{Marker Size(5)})
)
));
/ *打開列切換器* /
csObj = gbObj <<列切換器(
NPN1,
{NPN1,PNP1,PNP2,NPN2,PNP3,IVP1,PNP4,NPN3,IVP2,NPN4,SIT1,INM1,
INM2,VPM1,VPM2,VPM3,PMS1,SNM1}
);
/ *通過GB縮放練習。* /
popup =新窗口(“消息”,
<<模態,文本框(“接下來,應用更高對比度著色。”),
SpacerBox(尺寸(0,20)),
HCenterBox(按鈕框(“OK”))
);
setContoursGB(gbObj,110,120,11);
custRpt <<把窗戶帶到前面;
popup =新窗口(“消息”,
<< Modal,Text Box(“Now,play with scale。”),
SpacerBox(尺寸(0,20)),
HCenterBox(按鈕框(“OK”))
);
setContoursGB(gbObj,105,115,11);
等待(1);
setContoursGB(gbObj,115,125,11);
等待(1);
setContoursGB(gbObj,113,117,11);
等待(1);
setContoursGB(gbObj,110,120,11);
/ *使用列切換器。我們可以來這裡。* /
popup =新窗口(“消息”,
<<模態,文本框(“現在,將列切換器設置為PNP1。”),
SpacerBox(尺寸(0,20)),
HCenterBox(按鈕框(“OK”))
);
csObj <<下一步;
/ *嘗試重新調整GB,事情就破了。* /
popup =新窗口(“消息”,
<<模態,文本框(“嘗試重新縮放圖形生成器。”),
SpacerBox(尺寸(0,20)),
HCenterBox(按鈕框(“OK”))
);
setContoursGB(gbObj,200,400,11);
/ *結束腳本* /
我不知道為什麼送一個 <<下一頁消息到列切換器將破壞平台對象引用。解決方法可能是在切換列後恢復它。試試這個:
csObj << 下一個 ;
gbObj = custRpt [ 大綱框 ( “圖形生成器” )] << 獲取腳本化對象 ;