안녕하세요 여러분,
여러 데이터 테이블의 그래프 작성기에 여러 그래프가 있습니다. 주의해야 할 2 가지 사항 :
- 그것들은 모두 JSL을 사용하여 만들어졌습니다.
- 대부분은 마지막 창을 제외하고 JMP 창에 추가되었습니다.
어떤 이유로 마지막 그래프 빌더 플롯의 데이터 만 강조 표시 할 수 있습니다 (그리고 테이블에서 해당 행을 선택했습니다).
그 이유는 무엇이며 고칠 방법이 있습니까?
감사.
실제 진단을 할 수있는 충분한 정보 (상세)를 제공하지 않았습니다. 스크립트 사본과 출력 이미지가 도움이 될 것입니다.
감사 헉헉 과 헉헉 답장을 위해.
안타깝게도 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;
);
);
올바르게 추가되지만 데이터 테이블 / 플롯을 선택 / 강조 표시 할 수 없습니다.
그래서 당신의 질문에
헉헉 그래픽 요소 (Lineup Box)를 사용하고있는 것 같습니다.
감사.
안녕 헉헉 과 헉헉 .
답장을 보내 주셔서 감사합니다. 어떤 이유로 내 이전 답변이 남용으로 표시되었으므로 여기에 다시 작성했습니다.
안타깝게도 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);
작동하지만 테이블 / 그래프 빌더에서 데이터를 선택 / 강조 표시 할 수 없습니다.
감사.