Salut à tous,
J'ai plusieurs graphiques dans le générateur de graphiques à partir de plusieurs tables de données. 2 choses à noter:
- Ils ont tous été créés en utilisant JSL.
- La plupart d'entre eux ont été ajoutés à une fenêtre JMP à l'exception de la dernière.
Pour une raison quelconque, je ne peux mettre en évidence les données que sur le dernier tracé du générateur de graphique (et sélectionné les lignes correspondantes dans son tableau).
Pourquoi cela et y a-t-il un moyen de le réparer?
Merci.
Vous n'avez pas fourni suffisamment d'informations (détails) pour vraiment permettre un vrai diagnostic. Une copie du script et une image de la sortie aideraient vraiment
Merci @txnelson et @Thierry_S pour la réponse.
Malheureusement, je ne peux pas partager l'intégralité du script ou les parcelles pour des raisons NDA, mais je peux fournir plus de détails lorsque cela est possible.
Voici à quoi ressemble la fenêtre:
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 );
);
J'appelle cette fonction plusieurs fois pour plusieurs types de parcelles et j'ajoute à la Lineup Box comme ceci:
Créez plusieurs objets GB et insérez-les dans une liste GB
GB = DT << GraphBuilder(...);
InsertInto(GBList, GB);
Ajoutez-les en fonction d'une valeur (R ^ 2 dans mon cas):
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;
);
);
Il est ajouté correctement, mais je ne peux tout simplement pas sélectionner / mettre en évidence sur les tableaux / graphiques de données.
Donc à ta question
@Thierry_S Je pense que j'utilise un élément graphique (Lineup Box)
Merci.
salut @txnelson et @Thierry_S .
Merci pour la réponse. Pour une raison quelconque, ma réponse précédente a été marquée comme abus, alors voici une réécriture:
Malheureusement, je ne peux pas partager l'intégralité du script ou les parcelles à cause de NDA mais je peux essayer de fournir plus de détails:
Je crée les fenêtres en utilisant cette fonction:
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 );
);
Je crée ensuite des objets Graph Builder dans une boucle for et les ajoute à une liste:
GB = GraphBuilder(...);
InsertInto(GBList, GB);
Et puis je les attache à un objet d'affichage dans la fenêtre (la Lineup Box) en appelant cette fonction:
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;
);
);J'appelle la fonction avec la liste du générateur de graphiques et une liste de valeurs R ^ 2.
AppendPlotBasedOnDescendingValue(GBList, R2List, LineupBox);
Cela fonctionne, mais je ne peux pas sélectionner / mettre en évidence les données sur le générateur de tableaux / graphiques.
Merci.