Ciao a tutti,
Ho più grafici nel generatore di grafici da più tabelle di dati. 2 cose da notare:
- Sono stati tutti creati utilizzando JSL.
- La maggior parte di essi è stata aggiunta a una finestra di JMP tranne l'ultima.
Per qualche motivo sono in grado di evidenziare i dati solo sull'ultimo grafico del generatore di grafici (e ho selezionato le righe corrispondenti nella sua tabella).
Perché e c'è un modo per risolverlo?
Grazie.
Non hai fornito abbastanza informazioni (dettagli) per consentire davvero una diagnosi reale. Una copia dello script e un'immagine dell'output sarebbero davvero utili
Grazie @txnelson e @Thierry_S per la risposta.
Sfortunatamente non posso condividere l'intera sceneggiatura o le trame per motivi di NDA, ma posso fornire maggiori dettagli ove possibile.
Ecco come appare la finestra:
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 );
);
Chiamo questa funzione più volte per più tipi di grafici e la aggiungo alla casella Lineup in questo modo:
Crea più oggetti GB e inseriscili in un elenco GB
GB = DT << GraphBuilder(...);
InsertInto(GBList, GB);
Aggiungili in base a un valore (R ^ 2 nel mio caso):
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;
);
);
Viene aggiunto correttamente, ma non sono in grado di selezionare / evidenziare nelle tabelle / grafici dei dati.
Quindi alla tua domanda
@Thierry_S Penso di utilizzare un elemento grafico (Lineup Box)
Grazie.
Ciao @txnelson e @Thierry_S .
Grazie per la risposta. Per qualche motivo la mia risposta precedente è stata contrassegnata come abuso, quindi ecco una riscrittura:
Sfortunatamente, non posso condividere l'intero script o le trame a causa di NDA, ma posso provare a fornire maggiori dettagli:
Sto creando le finestre usando questa funzione:
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 );
);
Quindi creo oggetti Graph Builder in un ciclo for e li aggiungo a un elenco:
GB = GraphBuilder(...);
InsertInto(GBList, GB);
E poi li allego a un oggetto di visualizzazione nella finestra (il Lineup Box) chiamando questa funzione:
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;
);
);Chiamo la funzione con l'elenco del generatore di grafici e un elenco di valori R ^ 2.
AppendPlotBasedOnDescendingValue(GBList, R2List, LineupBox);
Funziona, ma non sono in grado di selezionare / evidenziare i dati nel generatore di tabelle / grafici.
Grazie.