Hervorhebung im Graph Builder und Auswahl der entsprechenden Zeilen nicht möglichHallo allerseits,
Ich habe im Graph Builder mehrere Diagramme aus mehreren Datentabellen. 2 Dinge zu beachten:
- Sie wurden alle mit JSL erstellt.
- Mit Ausnahme des letzten wurden die meisten davon an ein JMP-Fenster angehängt.
Aus irgendeinem Grund kann ich nur Daten im letzten Graph Builder-Diagramm hervorheben (und die entsprechenden Zeilen in seiner Tabelle ausgewählt haben).
Warum ist das so und gibt es eine Möglichkeit, das Problem zu beheben?
Danke.
MassenanpassungBetreff: Hervorhebung im Graph Builder und Auswahl der entsprechenden Zeilen nicht möglichDas kann leicht passieren. Ändern Sie Ihre Referenz-JSL in
gb = dt << Graph Builder(.........)Betreff: Hervorhebung im Graph Builder und Auswahl der entsprechenden Zeilen nicht möglichHallo @txnelson .
Genau das mache ich.
Es funktionierte. Ich habe es beim zweiten Erstellen der Plots direkt angehängt, anstatt es in einer separaten Funktion anzuhängen. Ich denke, das Problem könnte darin liegen, dass alle Graph Builder-Objekte aus verschiedenen Datentabellen stammten und darin Variablen verwendeten. Daher wusste JMP bei der erneuten Ausführung des Ausdrucks nicht, welche Tabellen für jeden Graph Builder verwendet werden sollten, und die Variablen waren t definiert.
Danke für die Hilfe!
Betreff: Hervorhebung im Graph Builder und Auswahl der entsprechenden Zeilen nicht möglichIhre GBList enthält Zeiger auf die Ausgabe einer bereits ausgeführten Ausgabe.Was angehängt werden muss, ist die Graph Builder(..........) JSL, damit sie innerhalb des Display-Objekts ausgeführt wird.
Wenn ich Ihren Grundcode richtig lese, sammeln Sie meiner Meinung nach Informationen von den verschiedenen Graph Buildern und verwenden diese Informationen dann, um die Ausgabe zu ordnen.Wenn dies der Fall ist und die Ausgabe dynamisch und nicht statisch sein soll, müssen Sie die Diagramme möglicherweise ein zweites Mal im Ausgabeanzeigefenster ausführen.Das habe ich in der Vergangenheit schon oft gemacht.Manchmal gehe ich auch etwas anders vor.Wenn Sie R2 für die Reihenfolge verwenden, schlage ich vor, dass Sie die Response Screening-Plattform verwenden, um die gewünschten R2-Werte zu erhalten, und aus diesem Ergebnis die gewünschten Ausgaben basierend auf dieser Reihenfolge generieren.
Betreff: Hervorhebung im Graph Builder und Auswahl der entsprechenden Zeilen nicht möglichIch habe versucht, das Graph Builder-Objekt selbst anzuhängen, aber das führt zu folgendem Fehler:
Not a display in access or evaluation of 'Append' , Append( ReorderedPlotBoxList[i] ) /*###*/
Betreff: Hervorhebung im Graph Builder und Auswahl der entsprechenden Zeilen nicht möglichDas Problem besteht darin, dass Sie den Bericht für den Graph Builder anhängen, nicht das Graph Builder-Objekt.Schauen Sie sich die Ergebnisse des folgenden Skripts an und Sie werden sehen, dass der angehängte Bericht zu einem statischen Diagramm wird, während das eingebettete Objekt dies nicht tut
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);
Betreff: Hervorhebung im Graph Builder und Auswahl der entsprechenden Zeilen nicht möglichHallo @txnelson Und @Thierry_S .
Danke für die Antwort. Aus irgendeinem Grund wurde meine vorherige Antwort als Missbrauch markiert, daher hier eine Umformulierung:
Leider kann ich aufgrund der Geheimhaltungsvereinbarung nicht das gesamte Drehbuch oder die Handlung mitteilen, 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 );
);
Anschließend erstelle ich Graph Builder-Objekte in einer for-Schleife und füge sie einer Liste hinzu:
GB = GraphBuilder(...);
InsertInto(GBList, GB);
Und dann füge ich sie einem Anzeigeobjekt im Fenster (der Lineup Box) hinzu, 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-/Grafik-Builder nicht auswählen/hervorheben.
Danke.
Betreff: Hervorhebung im Graph Builder und Auswahl der entsprechenden Zeilen nicht möglichDanke @txnelson Und @Thierry_S für die Antwort.
Leider kann ich aus NDA-Gründen nicht das gesamte Drehbuch oder die Handlung mitteilen, aber wenn möglich, kann ich 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 Plottypen auf und füge sie wie folgt an die Lineup-Box an:
Erstellen Sie mehrere GB-Objekte und fügen Sie sie in eine GB-Liste ein
GB = DT << GraphBuilder(...);
InsertInto(GBList, GB);
Hängen Sie sie basierend auf einem Wert an (R^2 in meinem Fall):
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/Plots einfach nicht auswählen/hervorheben.
Also zu deiner Frage
@Thierry_S Ich glaube, ich verwende ein grafisches Element (Lineup Box)
Danke.
Betreff: Hervorhebung im Graph Builder und Auswahl der entsprechenden Zeilen nicht möglichHallo,
Als @txnelson Wie bereits erwähnt, ist es nahezu unmöglich, Ihr Problem anhand der von Ihnen bereitgestellten Informationen zu diagnostizieren. Das Einzige, was mir zum jetzigen Zeitpunkt einfällt, ist ein mögliches Problem mit der Art und Weise, wie Sie das Diagramm an das neue Fenster anhängen: Verwenden Sie eine grafische Elementerfassung oder hängen Sie das gesamte Diagramm an Ihr neues Fenster an? Ersteres beseitigt die Verbindung zurück zur Tabelle.
Am besten,
TSBetreff: Hervorhebung im Graph Builder und Auswahl der entsprechenden Zeilen nicht möglichSie haben nicht genügend Informationen (Details) bereitgestellt, um wirklich eine echte Diagnose zu ermöglichen. Eine Kopie des Skripts und ein Bild der Ausgabe würden wirklich helfen