Hallo allerseits,
Ich habe mehrere Diagramme im Diagramm-Generator aus mehreren Datentabellen. 2 Dinge zu beachten:
- Sie wurden alle mit JSL erstellt.
- Die meisten von ihnen wurden an ein JMP-Fenster angehängt, mit Ausnahme des letzten.
Aus irgendeinem Grund kann ich nur Daten im letzten Diagramm des Diagrammgenerators hervorheben (und die entsprechenden Zeilen in der Tabelle auswählen).
Warum ist das so und gibt es eine Möglichkeit, es zu beheben?
Vielen Dank.
Sie haben nicht genügend Informationen (Details) bereitgestellt, um eine echte Diagnose zu ermöglichen. Eine Kopie des Skripts und ein Bild der Ausgabe würden wirklich helfen
Vielen Dank @ txnelson und @ Thierry_S für die Antwort.
Leider kann ich aus NDA-Gründen nicht das gesamte Skript oder die Handlungen freigeben, aber ich kann, wo möglich, weitere Details bereitstellen.
So sieht das Fenster aus:
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 );
);
Ich rufe diese Funktion mehrmals für mehrere Arten von Plots auf und hänge sie wie folgt an die Aufstellungsbox an:
Erstellen Sie mehrere GB-Objekte und fügen Sie sie in eine GB-Liste ein
GB = DT << GraphBuilder(...);
InsertInto(GBList, GB);
Fügen Sie sie basierend auf einem bestimmten Wert hinzu (in meinem Fall 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;
);
);
Es wird korrekt angehängt, aber ich kann die Datentabellen / Diagramme einfach nicht auswählen / hervorheben.
Also zu deiner Frage
@ Thierry_S Ich glaube ich benutze ein grafisches Element (Lineup Box)
Vielen Dank.
Hallo @ txnelson und @ Thierry_S .
Danke für die Antwort. Aus irgendeinem Grund wurde meine vorherige Antwort als Missbrauch markiert. Hier ist eine Neufassung:
Leider kann ich aufgrund von NDA nicht das gesamte Skript oder die Handlungen freigeben, aber ich kann versuchen, weitere Details bereitzustellen:
Ich erstelle die Fenster mit dieser Funktion:
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 );
);
Ich erstelle dann Graph Builder-Objekte in einer for-Schleife und füge sie einer Liste hinzu:
GB = GraphBuilder(...);
InsertInto(GBList, GB);
Und dann hänge ich sie an ein Anzeigeobjekt im Fenster (die Lineup Box) an, indem ich diese Funktion aufrufe:
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;
);
);Ich rufe die Funktion mit der Graph Builder-Liste und einer Liste von R ^ 2-Werten auf.
AppendPlotBasedOnDescendingValue(GBList, R2List, LineupBox);
Es funktioniert, aber ich kann die Daten im Tabellen- / Diagramm-Generator nicht auswählen / hervorheben.
Vielen Dank.