그래프 빌더에서 강조 표시하고 해당 행을 선택할 수 없음안녕하세요 여러분,
여러 데이터 테이블의 그래프 빌더에 여러 그래프가 있습니다. 주의할 2가지 사항:
- 모두 JSL을 사용하여 작성되었습니다.
- 마지막 창을 제외하고 대부분은 JMP 창에 추가되었습니다.
어떤 이유로 나는 마지막 그래프 빌더 플롯의 데이터만 강조 표시할 수 있습니다(그리고 해당 테이블에서 해당 행을 선택함).
그 이유는 무엇이며 해결할 수 있는 방법이 있습니까?
감사.
데이터 테이블다른스크립팅Re: 그래프 빌더에서 강조 표시하고 해당 행을 선택할 수 없음그것은 쉽게 일어날 수 있습니다. 참조 JSL을 다음으로 변경하십시오.
gb = dt << 그래프 빌더(............)Re: 그래프 빌더에서 강조 표시하고 해당 행을 선택할 수 없음안녕 @txnelson .
그것이 바로 내가 하고 있는 일입니다.
그것은 효과가 있었다. 두 번째로 플롯을 만들 때 별도의 함수에 추가하는 대신 직접 추가했습니다. 문제는 모든 그래프 빌더 개체가 다양한 데이터 테이블에서 가져와서 변수를 사용하고 있다는 사실에서 비롯되었을 수 있다고 생각합니다. 따라서 표현식을 다시 실행할 때 JMP는 각 그래프 빌더에 사용할 테이블과 변수가 ' t 정의.
도와 주셔서 감사합니다!
Re: 그래프 빌더에서 강조 표시하고 해당 행을 선택할 수 없음GBList에는 이미 실행된 출력의 출력에 대한 포인터가 포함되어 있습니다.추가해야 할 것은 Graph Builder(...........) JSL이므로 Display 객체 내에서 실행됩니다.
내가 당신의 스켈레톤 코드를 올바르게 읽고 있다면 당신이 하고 있다고 생각하는 것은 다른 그래프 빌더에서 정보를 수집한 다음 그 정보를 사용하여 출력을 주문하는 것입니다.이 경우 출력이 정적이 아닌 동적이어야 하는 경우 출력 표시 창 내에서 그래프를 두 번째로 실행해야 할 수 있습니다.나는 과거에 여러 번 그렇게 했습니다.나도 가끔은 조금 다른 접근을 한다.R2를 사용하여 주문을 수행하는 경우 Response Screening 플랫폼을 사용하여 원하는 R2 값을 얻고 그 결과에서 해당 주문을 기반으로 원하는 출력을 생성하는 것이 좋습니다.
Re: 그래프 빌더에서 강조 표시하고 해당 행을 선택할 수 없음그래프 빌더 개체 자체를 추가하려고 시도했지만 다음 오류가 발생합니다.
Not a display in access or evaluation of 'Append' , Append( ReorderedPlotBoxList[i] ) /*###*/
Re: 그래프 빌더에서 강조 표시하고 해당 행을 선택할 수 없음문제는 그래프 빌더 개체가 아니라 그래프 빌더에 대한 보고서를 추가한다는 것입니다.아래 스크립트의 결과를 보면 추가된 보고서가 정적 그래프가 되는 것을 볼 수 있습니다.
names default to here(1);
dt=open("$SAMPLE_DATA/big class.jmp");
mygb = Expr(
gb = Graph Builder(
Size( 528, 456 ),
Show Control Panel( 0 ),
Variables( X( :weight ), Y( :height ), Overlay( :sex ) ),
Elements( Line( X, Y, Legend( 7 ) ) )
);
);
mygb;
nw = new window("Report",);
nw << append(report(gb));
nw << append(mygb);
Re: 그래프 빌더에서 강조 표시하고 해당 행을 선택할 수 없음안녕 @txnelson 그리고 @티에리_S .
답장을 보내 주셔서 감사합니다. 어떤 이유로 내 이전 답변이 남용으로 표시되었으므로 여기에 다시 작성합니다.
불행히도 NDA로 인해 전체 스크립트나 줄거리를 공유할 수는 없지만 더 자세한 정보를 제공할 수는 있습니다.
이 기능을 사용하여 창을 만들고 있습니다.
CreateResultsWindow = Function(
// Inputs
{Title},
// Local variables
{
Window, ReturnList,
OutLineBox1, BorderBox1, LineUpBox1
},
Window = NewWindow(Title,
OutLineBox1 = OutLineBox(
Title,
BorderBox1 = BorderBox(
Left(40), Right(40), Top(40), Bottom(40), Sides(30),
LineUpBox1 = LineUpBox(NCol(2));
);
);
);
ReturnList = {};
InsertInto(ReturnList, LineUpBox1);
EvalList ( ReturnList );
);
그런 다음 for 루프에서 Graph Builder 개체를 만들고 목록에 추가합니다.
GB = GraphBuilder(...);
InsertInto(GBList, GB);
그런 다음 이 함수를 호출하여 창(라인업 상자)의 표시 객체에 연결합니다.
AppendPlotBasedOnDescendingValue = Function(
// Inputs
{PlotBoxList, ValueList, AppendBox},
// Local variables
{i, RankList, ReorderedPlotBoxList},
// Vector of indices used as subscript into original list
RankList = RankIndex(ValueList);
// Reorder plots based on values
ReorderedPlotBoxList = PlotBoxList[RankList];
// Plot by descending
For(i=NItems(ReorderedPlotBoxList), i>=1, i--,
AppendBox << Append(Report(ReorderedPlotBoxList[i]));
ReorderedPlotBoxList[i] << CLoseWindow;
);
);그래프 빌더 목록과 R^2 값 목록을 사용하여 함수를 호출합니다.
AppendPlotBasedOnDescendingValue(GBList, R2List, LineupBox);
작동하지만 테이블/그래프 빌더에서 데이터를 선택/강조 표시할 수 없습니다.
감사.
Re: 그래프 빌더에서 강조 표시하고 해당 행을 선택할 수 없음감사 @txnelson 그리고 @티에리_S 답장을 위해.
불행히도 나는 NDA 이유로 전체 대본이나 줄거리를 공유할 수 없지만 가능한 한 더 자세한 정보를 제공할 수 있습니다.
창은 다음과 같습니다.
CreateResultsWindow = Function(
// Inputs
{Title},
// Local variables
{
Window, ReturnList,
OutLineBox1, BorderBox1, LineUpBox1
},
Window = NewWindow(Title,
OutLineBox1 = OutLineBox(
"Outline Box 1",
BorderBox1 = BorderBox(
Left(40), Right(40), Top(40), Bottom(40), Sides(30),
LineUpBox1 = LineUpBox(NCol(2));
);
);
);
ReturnList = {};
InsertInto(ReturnList, OutLineBox1);
InsertInto(ReturnList, LineUpBox1);
EvalList ( ReturnList );
);
여러 유형의 플롯에 대해 이 함수를 여러 번 호출하고 다음과 같이 라인업 상자에 추가합니다.
여러 GB 개체를 만들고 GB 목록에 삽입
GB = DT << GraphBuilder(...);
InsertInto(GBList, GB);
일부 값을 기반으로 추가합니다(제 경우에는 R^2).
AppendPlotBasedOnDescendingValue(GBList, R2List, LineUpBox1);
AppendPlotBasedOnDescendingValue = Function(
// Inputs
{PlotBoxList, ValueList, AppendBox},
// Local variables
{i, RankList, ReorderedPlotBoxList},
// Vector of indices used as subscript into original list
RankList = RankIndex(ValueList);
// Reorder plots based on values
ReorderedPlotBoxList = PlotBoxList[RankList];
// Plot by descending
For(i=NItems(ReorderedPlotBoxList), i>=1, i--,
AppendBox << Append(Report(ReorderedPlotBoxList[i]));
ReorderedPlotBoxList[i] << CLoseWindow;
);
);
올바르게 추가되지만 데이터 테이블/플롯에서 선택/강조 표시할 수 없습니다.
그래서 당신의 질문에
@티에리_S 그래픽 요소(Lineup Box)를 사용하고 있는 것 같습니다.
감사.
Re: 그래프 빌더에서 강조 표시하고 해당 행을 선택할 수 없음안녕,
처럼 @txnelson 귀하가 제공한 정보로 귀하의 문제를 진단하는 것은 거의 불가능합니다. 이 단계에서 내가 생각할 수 있는 유일한 것은 그래프를 새 창에 추가하는 방식에 대한 가능한 문제입니다. 그래픽 요소 캡처를 사용합니까 아니면 전체 그래프를 새 창에 추가합니까? 전자는 테이블에 대한 연결을 제거합니다.
최고,
TSRe: 그래프 빌더에서 강조 표시하고 해당 행을 선택할 수 없음귀하는 실제 진단을 실제로 허용하기에 충분한 정보(세부 사항)를 제공하지 않았습니다. 스크립트 사본과 출력 이미지가 정말 도움이 될 것입니다.