Ligne de référence verticale basée sur l'étiquette de l'axe au lieu de la valeur<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />J'essaie d'écrire un script qui remplira automatiquement un diagramme d'exécution à partir d'une base de données SQL.Le seul problème que je rencontre est l'ajout automatique d'une ligne de référence verticale basée sur l'étiquette de l'axe des X.Je peux faire fonctionner cela avec la valeur mais je ne pense pas que cela convienne à mon application.J'espère baser cela sur l'étiquette au lieu de la valeur, car je m'attends à ce que les valeurs initiales et finales de mon axe X changent.Puisque mon axe sera un horodatage, ce sera toujours un identifiant unique.C'est le premier script que j'essaie d'écrire donc j'ai peut-être raté quelque chose d'évident.
Tout conseil ou aide est grandement apprécié.
Re : Ligne de référence verticale basée sur l'étiquette de l'axe au lieu de la valeurMerci MS!Cela semble bien fonctionner.Je vais essayer de le modifier ce week-end pour l'adapter à un champ de saisie et le pointer vers la zone de sélection.
Merci à tous pour toutes vos suggestions !
Re : Ligne de référence verticale basée sur l'étiquette de l'axe au lieu de la valeurJe dois admettre que lorsque j'ai écrit ma première réponse, j'oubliais que les cartes de contrôle n'utilisent pas d'axe temporel « proportionnel », de sorte que les points sont espacés uniformément quelles que soient les valeurs datetime réelles dans la table. Cela a des implications sur la façon dont vous ajoutez réellement les lignes de référence à « AxisBox() ». Mais, comme le montrent les autres réponses, il est toujours possible de faire ce que l’on veut.
Re : Ligne de référence verticale basée sur l'étiquette de l'axe au lieu de la valeurVoici deux exemples utilisant une date traduite dans son étiquette pour 1) ajouter une ligne de référence et 2) tracer un sous-ensemble de données basé sur la saisie de l'utilisateur.
dt = Ouvrir ( "$SAMPLE_DATA/Contrôle qualité/Diamètre.jmp" ) ;
// obtient la liste des niveaux uniques
Résumer ( g = par ( dt : Jour )) ;
// L'utilisateur sélectionne une date
Nouvelle fenetre ( "Sélectionner une date" ,
<< modal ,
Boîte de défilement ( kg = Zone de liste ( g , maximum sélectionné ( 1 ))) ,
Boîte à boutons ( "D'ACCORD" , Mon rendez-vous = kg << être sélectionné ) ,
Boîte à boutons ( "Annuler" )
) ;
//Traduire en n° d'étiquette
X = Lieu ( g , Mon rendez-vous [ 1 ]) [ 1 ] ;
// 1. Carte de contrôle avec ligne de référence à ma date
cc = Carte de contrôle (
Exemple d'étiquette ( : Jour ) ,
KSigma ( 3 ) ,
Col du graphique ( : DIAMÈTRE , Graphique d'exécution ())
) ;
Rapport ( cc )[ Boîte d'axe ( 2 )] << ajouter une ligne de référence ( X ) ;
// 2. Carte de contrôle des deux semaines précédant mon rendez-vous
dt = En semaines ( 2 ) ;
cc = Carte de contrôle (
Exemple d'étiquette ( : Jour ) ,
Où ( Numéro ( g [ X ]) - dt <= : Jour <= Numéro ( g [ X ])) ,
KSigma ( 3 ) ,
Col du graphique ( : DIAMÈTRE , Graphique d'exécution ())
) ;
Re : Ligne de référence verticale basée sur l'étiquette de l'axe au lieu de la valeurVotre objectif est-il d’afficher l’emplacement d’un changement de processus à l’aide d’une ligne verticale ?Si tel est le cas, j'utiliserais un axe de temps numérique continu et ajouterais des lignes verticales à l'aide de la méthode Add Ref Line, comme indiqué ci-dessous.


Re : Ligne de référence verticale basée sur l'étiquette de l'axe au lieu de la valeurBonjour Stéphane,
J'ai essayé de définir la colonne de date sur une valeur numérique continue.Cependant, la façon dont j'essaie de créer un script ne semble pas fonctionner de cette façon car la ligne de référence est toujours basée uniquement sur le champ de valeur.Comment spécifiez-vous une ligne de référence à partir d'une date ?Avec le script répertorié ci-dessus, il n'ajoute pas de ligne de référence lorsque je la saisis pour le champ de valeur.Existe-t-il une meilleure façon d'utiliser la ligne de référence que la façon dont je l'utilise ?Ou utilisez-vous VLine au lieu de la ligne de référence ?Je ne suis pas très familier avec JSL, ni avec les scripts en général, mais je suis heureux d'apprendre.Le guide de script JMP et moi-même faisons connaissance.
En tant qu'humble débutant, toute aide ou idée est grandement appréciée.
Re : Ligne de référence verticale basée sur l'étiquette de l'axe au lieu de la valeurSaviez-vous que vous pouvez définir les propriétés de votre colonne de date sur Numérique continu ? Si vous le faites, vous pouvez spécifier directement la position de la ligne comme date souhaitée. Cela peut ensuite être scripté dans le JSL utilisé pour créer votre graphique.
Re : Ligne de référence verticale basée sur l'étiquette de l'axe au lieu de la valeurMerci d'avoir répondu Ian,
Ce que j'essaie d'accomplir:
On m'a demandé de créer des diagrammes de séquences pour plusieurs variables sur plusieurs instruments.Celles-ci sont censées démarrer deux semaines avant un changement de processus identifié ou suspecté.Je ne considère pas cela comme une demande temporaire de ma part, j'espère donc créer un champ en dehors de JMP dans lequel le demandeur pourra saisir la date souhaitée.Ensuite, pouf, un diagramme de séquences généré apparaît avec une ligne de référence à la date à laquelle ils sont entrés, m'épargnant l'ennui de le faire à leur guise.
Ma tentative d'expliquer ce que j'essaie de faire dans JMP 12.2 :
J'ai récupéré les échantillons de données pour le diamètre à des fins de démonstration.
Carte de contrôle (
Exemple d'étiquette ( :DAY ),
KSigma( 3 ),
Col du graphique ( : DIAMETRE, Exécuter le graphique ( Afficher la ligne centrale ( 0 ) ) ),
EnvoyerToReport(
Expédition(
{"Exécuter le diagramme de DIAMÈTRE"},
"1",
ScaleBox,
{Ajouter une ligne de référence (4, "Solide", "Noir", "", 1 )}
)
)
)

Cela fonctionne très bien lorsque je sais à quelle valeur la valeur du "réglage de l'axe X" correspond à l'étiquette.Dans le script au-dessus du 4 de " {Add Ref Line( 4, "Solid", "Black", "", 1 )}" est la date du 04/05/1998. Tout va bien si ma première valeur est toujours la même.Cependant, je ne traiterai qu'une partie du tableau de données à la fois.J'aimerais pouvoir appeler l'étiquette spécifique, qui se trouve être une date, dans le script au lieu de la valeur.Cela devrait me permettre de traiter automatiquement un diagramme de progression pour les quatre semaines précédant la date qui m'est demandée.
J'espère qu'il me manque quelque chose d'évident ou qu'il existe peut-être une meilleure façon de résoudre ce problème que celle que j'essaie actuellement.
Re : Ligne de référence verticale basée sur l'étiquette de l'axe au lieu de la valeurComme je pense que vous l'avez découvert, vous pouvez ajouter des lignes de référence (et des plages) à un axe, et s'il s'agit de l'axe horizontal, ces lignes seraient verticales.
Mais, d'après votre description, je ne sais pas quelle logique vous souhaitez utiliser pour positionner la référence. Par exemple, via JSL, vous pouvez facilement déterminer la plage de dates des données que vous venez d'extraire, puis placer la ligne « à mi-chemin ». Pouvez-vous être plus précis sur ce que vous voulez, s'il vous plaît ?