Suppression de la zone de texte dans le graphique avec conditions<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut tout le monde,
Je suis nouveau sur jsl et les scripts en général, mais j'essaie de créer des graphiques de variabilité basés sur les conditions d'une colonne.
Lorsque j'utilise where sous les paramètres, il génère une zone de texte au-dessus du tracé qui correspond à la chaîne entière dans where (et se répète pour chaque graphique créé). Existe-t-il un moyen de supprimer cela? Cela cause des problèmes d'affichage lorsque la condition est longue et que plusieurs tracés sont ajoutés.
par exemple:
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt<

Passer par l'interface ne montre pas ce problème mais le script semble similaire :

Re : Suppression d'une zone de texte dans un graphique avec des conditionsFrustrant, c'est toujours un problème.
Il est également frustrant de constater que la plupart des documentations/solutions à ce problème ne couvrent pas un large éventail de situations, ou qu'elles le forcent brutalement en parcourant la structure arborescente.
JMP possède des fonctionnalités xpath, qui ne sont pas non plus bien documentées. Je suppose que c'est parce que xpath est une syntaxe standard dont JMP n'est pas propriétaire, et donc ils ne ressentent pas le besoin de fournir une documentation aux utilisateurs qui ne sont peut-être pas familiers.
Voici la seule ligne de code que j'utilise pour me débarrasser de ces zones de texte embêtantes, dans pratiquement toutes les situations où elles surgissent. Vous devez mettre une enveloppe autour de tout rapport contenant la zone de texte incriminée, s'il n'y en a pas déjà une.
Pour emprunter la dénomination de txnelson dudit wrapper de boîte de contour :
(ob << xpath("//TextBox[contains(text(),'Where(')]")) << delete;<BR />Si vous le souhaitez, un script xpath similaire peut être utilisé pour saisir le texte réel de la boîte, peut-être effectuer un traitement pour rendre les informations plus claires, puis l'insérer dans le titre d'une autre boîte de contour ou d'un groupe d'ajustement - qui serait la fonctionnalité souhaitée pour enregistrer un rapport dans un script en premier lieu !
Pour plus de lecture sur xpath dans JMP, je suggère fortement de lire ce rapport [PDF] posté il y a quelque temps par un autre utilisateur de JMP. Le PDF décrit la syntaxe de xpath en ce qui concerne jmp, avec des exemples utiles.
Re : Suppression d'une zone de texte dans un graphique avec des conditionsUne alternative à la suppression du TextBox consiste simplement à le masquer.Le masquage fonctionne bien pour le cas mentionné par Jim, mais il n'est peut-être pas idéal pour toutes les situations.
ob [ Zone de texte ( 1 )] << Cacher( 1 ) ;
Wendy
Re : Suppression d'une zone de texte dans un graphique avec des conditionsJe veux juste dire que moi aussi je me retrouve souvent à enlever cette zone de texte Where - à la fois pour la raison que vous montrez et pour le fait que je pense que cette clause en petits caractères n'est pas si géniale en tant qu'étiquette, elle peut facilement se perdre visuellement.
D'accord avec Ian que les informations peuvent être utiles ou même essentielles, mais lorsque je construis un rapport personnalisé en utilisant JSL de toute façon, je vais normalement parler aux en-têtes de boîte de contour redondants et les modifier pour fournir ces informations beaucoup plus en évidence et sans les problèmes de mise en page ennuyeux de les zones de texte.Donc, là où vous avez ces grandes étiquettes en gras disant "Jauge de variabilité" et "Tableau de variabilité du poids", je les modifierais pour ajouter SEX = M ou quoi que ce soit là où c'est plus visible.
De plus, j'ai souvent beaucoup de tracés, dont le nombre varie en fonction des données, etc., j'utilise donc parfois cette méthode grossière pour supprimer toutes les zones de texte Where ...
pour(i=1000,i>0,i--,
try(if(contains(nw[textbox(i)]<
);
Re : Suppression d'une zone de texte dans un graphique avec des conditionsMerci beaucoup Mark - Maintenant je comprends.
Re : Suppression d'une zone de texte dans un graphique avec des conditionsJe me demandais la même chose. Merci
Re : Suppression d'une zone de texte dans un graphique avec des conditionsMerci pour la réponse. Le texte supplémentaire causait des problèmes dans la zone de liste H. Le texte serait affiché sur le côté, ce qui créerait beaucoup d'espace mort supplémentaire. De plus, le texte générique n'a pas été évalué.

Re : Suppression d'une zone de texte dans un graphique avec des conditionsMerci! Cela fonctionne pour moi.
dt = Open("$SAMPLE_DATA/Big Class.jmp");
resume(lev = by(:sex, :age));
k=tableau associatif(lev[1])<
nk = nitems(k);
Nouvelle fenêtre("Var par sexe et âge", main = V List Box());
Pour(i=1,i<=nk,i++,
loc1 = loc(lev[1],k );
vcwin = H Zone de liste();
Pour(j=1,j<=nlignes(loc1),j++,
ob=OutlineBox("",dt<] & :age == num(lev[2][loc1])),Std Dev Chart(0)));
ob[TextBox(1)]<
vcwin<
);
main<
);
Re : Suppression d'une zone de texte dans un graphique avec des conditionsJe mettrais en garde contre la suppression des niveaux de la variable de groupe "Par" car, en disant l'évidence, sans eux, il n'est pas clair à quel "sous-ensemble" chaque graphique se rapporte.
Mais, si je comprends bien, vous voulez raccourcir les étiquettes dans les nœuds de contour. Si vous sentez que vous devez le faire, vous pouvez essayer de cette façon :
NomsDefaultToHere ( 1 ) ;
dt = Ouvrir ( "$SAMPLE_DATA/Grande classe.jmp" ) ;
// Graphique de variabilité avec groupe 'Par'
vc = dt << tableau de variabilité ( Oui ( : Poids ) , X ( : Âge ) , Par ( : sexe )) ;
// Couche de rapport
vcRep = vc << rapport ;
// Récupère les niveaux du groupe 'By'
les niveaux = TableauAssociatif ( Colonne ( dt , "sexe" ) << getValues ) << getKeys ;
// Mettre à jour (raccourcir) les titres des nœuds de plan sur le rapport
pour ( g = 1 , g <= NIéléments ( vcRep ) , g ++,
vcRep [ g ][ ContourBox ( 1 )] << setTitle ( Carboniser ( les niveaux [ g ])) ;
) ;
Pour comprendre comment cela fonctionne, jetez un œil à 'Help > Scripting Guide' ou 'Help > Scripting Index'.
Je suis juste curieux de savoir quels sont les "problèmes d'affichage" qui résultent du fait de laisser les choses seules, bien que
Re : Suppression d'une zone de texte dans un graphique avec des conditionsVoici la méthode que j'utilise pour me débarrasser de la clause Where.
Je soupçonne qu'il peut y avoir un moyen de le référencer à partir de la sortie du rapport de la plate-forme de variabilité, mais comme il est en fait affiché avant la sortie de la plate-forme, j'ai réussi à envelopper une nouvelle fenêtre autour de la sortie, avec un contour "vide" intégré box, puis en le référençant à partir de là.
Noms par défaut ici ( 1 ) ;
dt = Ouvrir ( "$SAMPLE_DATA/Grande classe.jmp" ) ;
// Formalisation de l'affichage dans une Nouvelle Fenêtre avec un vide
// zone de contour pour permettre le référencement de la zone de texte Où
// qui précède l'affichage du graphe de variabilité
Nouvelle fenetre ( "Afficher" ,
ob = Boîte de contour ( "" , dt << tableau de variabilité ( Oui ( : Poids ) , X ( : Âge ) , Où ( : Sexe == "M" ) ) )
) ;
// Supprime la zone de texte contenant la clause Where
ob [ Zone de texte ( 1 )] << supprimer ;